Ở 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.
Ở đâ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.
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.
Thêm channel cảnh báo Grafana.
- Đặ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.
Sau đó click lại vào Send test.
Kết quả test email:
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.
Cấu hình cảnh báo như hình dưới
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:
3. Cấu hình cảnh báo qua Telegram
Đầu tiên, tìm botfather trên telegram
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.)
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.
Bây giờ ta tạo một cảnh báo trên Grafana.
- Đặ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ả:
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!!