Cách thiết lập thông báo Slack cho không gian đĩa thấp trên máy chủ của bạn – CloudSavvy IT

Bạn có thể muốn biết khi máy chủ của bạn sắp hết dung lượng đĩa. Một giải pháp dễ dàng là cấu hình một công việc định kỳ để chạy hàng ngày và gửi thông báo cho bạn qua Slack nếu có bất kỳ vấn đề nào.

Nhận dung lượng đĩa với lệnh df

Lệnh xem không gian đĩa trên Linux là df -h (đối với đầu ra ở định dạng có thể đọc được của con người):

Cái này liệt kê từng hệ thống tập tin được gắn, ổ đĩa vật lý lớn như thế nào và mức độ sử dụng.

Để thu hẹp đầu ra xuống một hệ thống tập tin cụ thể (trong trường hợp này là root), bạn có thể chạy df /. Tuy nhiên, điều này trả về hàng tiêu đề, vì vậy bạn có thể lọc nó bằng grep:

Sau đó, chọn cột thứ năm (phần trăm) bằng awk và xóa biểu tượng phần trăm bằng sed. Điều này cung cấp cho bạn một lệnh trả về một số biểu thị bao nhiêu đĩa chính của bạn đã đầy:

df / | grep / | awk ‘{in $ 5}’ | sed ‘s /% // g’

Mà trong trường hợp này sẽ trả lại 39 39. Nếu bạn muốn thay đổi đĩa, lệnh này sẽ giám sát, bạn sẽ cần chỉnh sửa câu lệnh df đầu tiên.

Cấu hình thông báo Slack dòng lệnh

Cách đơn giản nhất để các thông báo Slack hoạt động là với webhooks. Webhooks cho phép bạn gửi thông báo dưới dạng các yêu cầu POST đến một URL mà không phải quản lý người dùng bot hoặc OAuth. Bạn có thể định dạng các thông báo dưới dạng JSON và POST chúng bằng cách sử dụng curl.

Từ Slack từ Cổng thông tin API, tạo một ứng dụng mới, chọn không gian làm việc của bạn để thêm nó vào và đặt tên cho nó. Đây là những gì sẽ hiển thị khi nó nhắn tin cho bạn, vì vậy hãy chọn một cái gì đó thú vị.

Khi bạn đã có ứng dụng của mình, hãy tìm tab Thẻ đến của Webhooks trên Bên dưới Thêm tính năng và chức năng.

Điều này sẽ cho phép bạn tạo một webhook mới và bạn sẽ phải chọn kênh nào sẽ đăng lên. Bạn có thể tạo một kênh mới cho các thông báo bot hoặc thêm nó vào DM của riêng bạn.

Khi bạn có URL, sao chép yêu cầu mẫu để xác minh nó hoạt động. Bạn nên xem thế giới Hello Hello! trong kênh bạn đã chọn. Nếu vậy, Slack là tốt để đi.

Để tất cả chúng cùng nhau

Để làm cho máy chủ của bạn thực sự thông báo cho bạn, bạn sẽ tạo một tập lệnh mà bạn có thể chạy với công việc định kỳ hàng ngày. Ở đây, lớp vỏ của tập lệnh, trừ lệnh thông báo:

#! / bin / bash
HIỆN TẠI = $ (df / | grep / | awk ‘{in $ 5}’ | sed ‘s /% // g’)
QUA = 90

nếu [ “$CURRENT” -gt “$THRESHOLD” ] ; sau đó

fi

Kịch bản lệnh này đặt hai biến, HIỆN TẠI (cho đầu ra của lệnh df từ phía trên) và THRESHOLD (thành một giá trị bạn có thể định cấu hình). Sau đó, nó sẽ kiểm tra xem giá trị hiện tại có lớn hơn ngưỡng hay không và chạy lệnh nếu có.

Bạn có thể đặt thông báo thành bất cứ thứ gì bạn thích, nhưng ở đây, một ví dụ khác, không bao gồm URL webhook mà bạn sẽ cần dán ở cuối (không cần thêm cờ):

curl -X POST -H ‘Kiểu nội dung: application / json’ –data “{” text “: ” Máy chủ của bạn `$ (tên máy chủ) ` hiện đang ở mức $ {CURRENT}% dung lượng đĩa. “}”

Điều này sẽ gửi một thông báo được định dạng độc đáo đến kênh được chỉ định trên webhook của bạn, bao gồm tên máy chủ của máy chủ và dung lượng đĩa hiện tại.

Bạn có thể dán lệnh này trong câu lệnh if của tập lệnh ở trên, làm cho toàn bộ kết hợp lại với nhau như vậy:

#! / bin / bash
HIỆN TẠI = $ (df / | grep / | awk ‘{in $ 5}’ | sed ‘s /% // g’)
QUA = 90

nếu [ “$CURRENT” -gt “$THRESHOLD” ] ; sau đó
curl -X POST -H ‘Kiểu nội dung: application / json’ –data “{” text “: ” Máy chủ của bạn `$ (tên máy chủ) ` hiện đang ở mức $ {CURRENT}% dung lượng đĩa. “}”
fi

Lưu cái này dưới dạng Diskspace.sh trong thư mục chính của bạn và đảm bảo rằng nó đã thực thi các quyền với chmod + x dĩa không gian. Mở crontab của bạn với crontab -e và thêm dòng sau vào cuối:

0 * * * * ~ / đĩaspace.sh

Điều này sẽ chạy tập lệnh của bạn mỗi giờ để kiểm tra xem đĩa của bạn đã đầy chưa. Nhưng bạn sẽ chỉ nhận được thông báo nếu nó đầy, vì vậy bạn có thể kiểm tra xem tập lệnh có hoạt động hay không bằng cách đặt THRESHOLD bên dưới mức sử dụng đĩa hiện tại và chạy thủ công.

Để biết thông báo chi tiết hơn, bạn có thể làm cho tập lệnh gửi cho bạn kết quả của df -h, được định dạng độc đáo trong hộp mã, chỉ bằng cách cập nhật câu lệnh curl:

curl -X POST -H ‘Kiểu nội dung: application / json’ –data “{” text “: ” Máy chủ của bạn `$ (tên máy chủ) ` hiện có dung lượng đĩa $ {CURRENT}%. n “ `$ (df -h) ` “ “}”

Cái nào sẽ hiển thị trong Slack như:

Vì lệnh mà tập lệnh chạy có thể là bất cứ thứ gì bạn muốn, nên bạn cũng có thể định cấu hình thông báo email bằng trình xử lý thư như Postfix hoặc bất kỳ nguồn cấp dữ liệu nào khác hỗ trợ webhooks.



Nguồn HowToGeek

Chúng tôi rất vui khi biết đánh giá của bạn

Leave a reply

This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

GiaTot7
Logo
Reset Password