Deploy Solarwinds Network Performance Monitoring (NPM) - Phần 9: Cấu hình Alert từ Solarwinds về group Telegram

pluto

Moderator
Deploy Solarwinds Network Performance Monitoring (NPM)
Phần 9: Cấu hình Alert từ Solarwinds về group Telegram
Trong bài viết này, sẽ hướng dẫn cấu hình gửi Alert từ Solarwinds về group Telegram. Yêu cầu: sử dụng bot của BotFather Telegram, do đó cần mở firewall từ Solarwinds Server đi tới bot APT của Telegram.
1.11.1 Tạo bot Telegram
Trên Telegram , Bot là một tài khoản không sử dụng số điện thoại để đăng kí, thay vào đó Bot được sinh ra từ BotFarther.

Để tương tác với Bot, sử dụng hai phương pháp chính sau:
  • Gửi một tin nhắn hoặc command giống như thực hiện giao tiếp với một người dùng thông thường
  • Gửi một request trực tiếp.
Để biết thêm chi tiết, tham khảo tài liệu dưới đây:


Trước khi tạo bot Telegram, yêu cầu phải sử dụng Số Điện Thoại di động đăng kí tài khoản Telegram. Tiếp theo, thực hiện lần lược các bước bên dưới để tạo Bot Telegram.



Đầu tiên, tìm kiếm “BotFather” trong danh bạ, sau đó click vào BotFather như hình dưới:
1642393907674.png




Tiếp theo, nhập /start để bắt đầu giao tiếp với BotFather:
1642393919843.png




Tiếp theo, thực hiện các lệnh sau:
  • /newbot: Bắt đầu tạo bot cho riêng mình
  • Đặt tên cho bot: slw_bot
  • Đặt username cho bot, kết thúc username luôn kết thúc là _bot , ở đây là slw_bot_bot
1642393934126.png


Sau khi tạo thành công, BotFather sẽ trả về một chuỗi TOKEN : 507XX:YYfU

Lưu ý: cần giữ bí mật chuỗi TOKEN.

1.11.2 Một số HTTP API tương tác với bot Telegram
a)GetMe
GetMe là method được sử dụng để list ra các thông tin Bot. Sử dụng bằng cách paste đường dẫn https://api.telegram.org/bot<TOKEN>/getMe cùng với TOKEN vừa nhận từ Botfather vào trình duyệt bất kì.

Kết quả trả về như sau:
1642393957912.png




Các thông tin có thể lấy được như sau:
  • ID Bot
  • Tên Bot
  • Username Bot
b)GetUpdates
GetUpdates là method để list ra được thông tin về tin nhắn người dùng tương tác(gửi) cho Bot. Sử dụng bằng cách paste đường dẫn https://api.telegram.org/bot<TOKEN>/getUpdates cùng với TOKEN vừa nhận từ Botfather vào trình duyệt bất kì.

Ví dụ, gửi lệnh /getid tới bot như sau:
1642393971841.png




Kết quả trả về như sau:
1642393987288.png



Các thông tin lấy được như sau:
  • update_id : tham số này sẽ tăng lên khi có một tin nhắn mới
  • mesage_id : tham số cho một mesage
  • from: id : ID của người gửi tin nhắn
  • Các thông tin còn lại là thông tin về nội dung tin nhắn /get như thời gian, nội dung, type….
c)sendMessage
sendMessage là method được sử udngj để ra lệnh cho Bot gửi tin nhắn tới một người dùng/group trên Telegram.

Ví dụ, sử dụng CURL để gửi nội dung securityzone.vn tới một Group thông qua bot như sau:
curl -d "chat_id=-798AAA&text=securityzone.vn" -X POST https://api.telegram.org/bot507XX:YYfU/sendMessage

Trong đó:
1642394012601.png



Kết quả như sau:
1642394025482.png



Ngoài ra, còn có các Method HTTP API khác, có thể xem thêm tại: https://core.telegram.org/bots/api

1.11.3 Cấu hình Alert từ Solarwinds về Telegram


a)Thêm bot vào GROUP Telegram
Để thêm một bot vào Group Telegram, sử dụng chức năng Add Member , sau đó nhập username của bot (@slw_bot_bot) để thêm vào group
1642394051554.png




b)GetID group Telegram
Sau khi thêm bot slw_bot_bot vào Group cảnh báo Telegram, cần get ID của group để thực hiện cấu hình cho bot gửi tin nhắn tới group.

Gửi lệnh /getid lên group như sau:
1642394062653.png



Sau đó sử dụng method getUpdates:

https://api.telegram.org/bot<TOKEN>/getUpdates
1642394071772.png




Trong đó có các thông tin như sau:
  • Các mục trong phần from: ( id, first_name,… ) là thông tin của người gửi nội dung tin nhắn.
Các mục trong phần chat gồm:
  • id: -798XXX là ID của group
  • title: tên group
  • text: nội dung lệnh /getid của người gửi.
Như vậy, xác định được ID GROUP là giá trị ( -798XXX )

c) Cấu hình Alert trên Solarwinds gửi Alert về Group Telegram


Chọn SETTINGS > All Settings , chọn Manage Alerts trong phần ALERTS & REPORTS:
1642394096922.png




Chọn ADD NEW ALERT:
1642394107341.png




Cấu hình như hình, sau đó chọn NEXT:
1642394117430.png




Thêm các Trigger Condition, ở đây, các Trigger là các trạng thái của thiết bị:
1642394126996.png





Chọn như hình bên dưới, sau đó chọn NEXT:
1642394143846.png





Chọn như hình bên dưới, sau đó chọn NEXT:
1642394161517.png



Cấu hình Action như hình, trong đó:

  • URL: sử dụng method sendMassage với URL https://api.telegram.org/bot507XX:YYfU/sendMessage
  • Tích chọn Use HTTP/S POST
  • Body to POST: thêm chat_id=-798XXX ( ID GROUP TELEGRAM ) vào trước &text=, sau đó nhập nội dung tin nhắn. Để thêm các nội dung tin nhắn, chọn INSERT VARIABLE bên dưới.
  • ContentType: application/x-www-form-urlencoded
  • Authenticatiion: chọn None
1642394190564.png




Chọn Next để tiếp tục:
1642394201073.png




Chọn COPY ACTIONS FROM TRIGGER ACTION TAB:
1642394211876.png





Chọn Next để tiếp tục:
1642394221403.png




Chọn SUBMIT:
1642394230163.png



Để kiểm tra, chọn ACTION MANAGER:
1642394239285.png




Sau đó chọn Trigger Action cần kiểm tra, sau đó chọn TEST:
1642394249379.png




Chọn Node cần kiểm tra, sau đó chọn EXECUTE:
1642394257877.png




Thông báo thực thi Action thành công, chọn CLOSE:
1642394267234.png





Kiểm tra Group Telegram, đã có cảnh báo về trạng thái của Node:
1642394279786.png



Như vậy, đã hoàn thành cấu hình Alert thông qua Telegram trên Solarwinds.
 
Top