Hướng dẫn cấu hình cảnh báo qua Gmail và Telegram trên Grafana

Ở bài trước, mình đã hướng dẫn các bạn cài đặt TIG stack và một số thao tác cơ bản. Hôm nay mình sẽ hướng dẫn các bạn cách cấu hình cảnh báo qua Gmail và Telegram.

1. Chuẩn bị

Đầu tiên tôi tạo một Dashboard thể hiện theo dạng graph ví dụ cho bài viết này.

Thực hiện như các bước trong hình
Chọn đồ thị Graph
Chọn biểu tượng Queries và đặt query như trong hình

Ở đây tôi truy vấn mức độ phần trăm RAM đã sử dụng của host có tên jitsimeetwfh. Bạn có thể cùng lúc giám sát nhiều host cùng trên 1 đồ thị. Tôi sẽ thêm một host nữa tên là jitsi_host để theo dõi. Đặt query tương tự như trên.

Thêm một host để giám sát

2. Cấu hình cảnh báo qua email

Đẩu tiên ta SSH vào server TIG và sửa file /etc/grafana/grafana.ini

nano /etc/grafana/grafana.ini

Tìm và sửa các dòng sau:

[smtp]

enabled = true

host = smtp.gmail.com:587

user = <emailid>@gmail.com #Nhập email bạn dùng để gửi cảnh báo ở đây

password = XXXXXXXX #Nhập password email ở đây

;cert_file =

;key_file =

;skip_verify = false

from_address = [email protected]

from_name = Grafana

Khởi động lại dịch vụ

systemctl restart grafana-server

Đăng nhập vào email ở trên trong trình duyệt web của bạn. Sau đó vào link sau:  https://myaccount.google.com/lesssecureapps và click vào Bật.

Imgur

Thêm channel cảnh báo Grafana.

Imgur
Thực hiện như hình trên
Imgur
  • Đặt tên channel tùy ý bạn.
  • Chọn type là Mail.
  • Tôi sẽ đặt đây là cảnh báo mặc định (dùng kênh này để cảnh báo vơi tất cả các dashboard tôi tạo).
  • Gửi cảnh báo kèm với ảnh.
  • Thêm email của người cần để gửi cảnh báo đến. (Các email cách nhau bởi dấu ;)

Sau đó Click vào Send test để gửi mail test. Nếu có thông báo đã gửi thì xem như bạn đã cấu hình xong. Nếu không gửi được, bạn vào link sau: https://accounts.google.com/b/0/DisplayUnlockCaptcha và click vào ô tiếp tục.

Imgur

Sau đó click lại vào Send test.

Kết quả test email:

Imgur
Mail test đã được gửi thành công

Bây giờ tôi sẽ cấu hình cảnh báo, nếu RAM sử dụng của 2 host trên vượt quá 50%. Sẽ có mail cảnh báo gửi đến mail ở trên.

Imgur
Edit graph đã tạo

Cấu hình cảnh báo như hình dưới

Imgur
Imgur

Sau đó tôi vào host jitsimeetwfh và dùng lệnh stress -m 1 --vm-bytes 4G để nâng mức sử dụng RAM ở host này lên 4Gb.

Sẽ có một email cảnh báo gửi đến email đã đặt ở trên. Kết quả như sau:

Imgur

3. Cấu hình cảnh báo qua Telegram

Đầu tiên, tìm botfather trên telegram

Imgur

Dùng lệnh /start để bắt đầu. Sau đó dùng lệnh /newbot để thêm một bot mới. Bot này có nhiệm vụ gửi cảnh báo cho chúng ta.

Sau đó đặt tên cho bot. Tiếp tục đặt username cho bot (username bạn đặt tùy ý, và chú ý phải có hậu tố _bot. Nếu bị trùng thì phải đặt lại.)

Imgur

Sau đó chúng ta sẽ có được token của bot vừa được tạo. Token ở đây là 1203313564:AAHa7Sb5Yd0Ty5aOuS6criY-cHLW9BY0ym0

Vào trang https://api.telegram.org/bot(token)/getUpdates trên trình duyệt. Token bạn copy ở trên và dán vào. Cụ thể ở đây, tôi sẽ vào trang https://api.telegram.org/bot1203313564:AAHa7Sb5Yd0Ty5aOuS6criY-cHLW9BY0ym0/getUpdates

Bạn chat một câu tùy ý với bot trên Telegram và quay lại trang này để lấy Chat ID.

Imgur

Bây giờ ta tạo một cảnh báo trên Grafana.

Imgur
  • Đặt tên cảnh báo tùy ý
  • Phần Type chọn Telegram
  • Tôi đặt đây là cảnh báo mặc định
  • Gửi kèm ảnh khi cảnh báo
  • Phần quan trọng nhất: dán Token và Chat ID đã có vào phần Telegram API settings

Dùng lệnh stress như đã dùng ở trên trên host jitsimeetwfh để đẩy tải.

Khi mức độ sử dụng RAM trên host bị đẩy lên cao, bot sẽ gửi tin nhắn cảnh báo cho bạn.

Kết quả:

Imgur

Kết quả

Như vậy mình đã hướng dẫn bạn cấu hình cảnh báo trên Grafana qua Gmail và Telegram.

Chúc các bạn thành công!!

Leave a Reply