Call Us: 089 815 3938 | Email: contact@nis.com.vn

Nagios là một công cụ giám sát tuyệt vời cho server, switch, các ứng dụng và dịch vụ.
Nagios hỗ trợ cảnh báo qua nhiều hình thức khác nhau như Email, SMS, OTP, trong bài viết này sẽ hướng dẫn các bạn cài đặt Nagios và cảnh báo qua ứng dụng Telegram trên Centos7

Trước khi vào bài viết bạn cần chuẩn bị:

– Đã cài đặt NAGIOS

Bài viết bao gồm các phần sau:

– Tạo BOT Telegram
– Tích hợp vào Nagios

[1] Tạo BOT Telegram & Tìm Chat ID, Group ID:

Đầu tiên chúng ta phải hiểu một Telegram BOT, BOT là một tài khoản hệ thống mà bạn kết hợp với một chức năng, thường sử dụng Telegram API để tương tác với một dịch vụ / máy chủ cụ thể thông qua các lệnh trong bot.

– Tạo 1 bot Telegram
– Tìm Chat ID, Group ID

[1.1] Tạo 1 bot Telegram:

Để tạo BOT / cần BotFather, dịch vụ Telegram quản lý việc tạo ra BOT, nếu bạn chưa bao giờ sử dụng nó chỉ cần nhập giao diện web (web.telegram.org), đăng nhập bằng tài khoản của bạn và gõ botfather hoặc thực hiện như sau:

– Trên Telegram, như hình bạn tạo 1 bot để có token tích hợp vào Nagios

– Tải scripts và cài python để chạy Telegram:

Link: https://drive.google.com/file/d/1tRtRgjoWq9-V7Y5mEcn4ckcD090el-FU/view 

Hoặc thực hiện như bên dưới:

[root@vm-nmonitor ~]#wget -O /usr/local/bin/telegram_nagios.py https://raw.githubusercontent.com/pommi/telegram_nagios/master/telegram_nagios.py
 [root@vm-nmonitor ~]#chmod 755 /usr/local/bin/telegram_nagios.py
 [root@vm-nmonitor ~]# ls -l telegram_nagios.py
 [root@vm-nmonitor ~]#yum install epel-release
 [root@vm-nmonitor ~]#yum install python-pip
 [root@vm-nmonitor ~]#pip install twx.botapi

[1.2] Tìm Chat ID, Group ID:

[root@vm-nmonitor ~]#yum install lua-devel openssl-devel libconfig-devel readline-devel libevent-devel python-devel jansson-devel
 [root@vm-nmonitor ~]#git clone --recursive https://github.com/vysheng/tg.git && cd tg
 [root@vm-nmonitor tg~]#./configure
 [root@vm-nmonitor tg~]#make

Để Telegram có thể gởi alert, phải có ID ( ID của bạn or ID của Group)

|Xác định ID cá nhân:
[root@vm-it tg~]#bin/telegram-cli -k tg-server.pub
=> Nhập số phone xác nhận login ….
[root@vm-nmonitor tg~]#get_self
=> Sẽ có ID

|Đối với Group:

Mở trình duyệt lên nhập bên dưới để lấy Group ID và khi thêm vào config thì nhớ để dấu “-” ở trước
https://api.telegram.org/botAPIHERE/getUpdates

[2] Tích hợp vào Nagios:

– Copy text bên duưới vào file commands.cfg . (chú ý phần màu đỏ, điền theo thông tin của bạn)

[root@vm-nmonitor tg]# vim /usr/local/nagios/etc/objects/commands.cfg
 # commands to send host/service notifications
 define command {
 command_name notify-host-by-telegram
 command_line /usr/local/bin/telegram_nagios.py --token 345424838:AAFXBw52nLgZ7q__ZI2B5sMUWF1A1Nqya0s --object_type host --contact "33271234567" --notificationtype "$NOTIFICATIONTYPE$" --hoststate "$HOSTSTATE$" --hostname "$HOSTNAME$" --hostaddress "$HOSTADDRESS$" --output "$HOSTOUTPUT$"
 }
 define command {
 command_name notify-service-by-telegram
 command_line /usr/local/bin/telegram_nagios.py --token 345424838:AAFXBw52nLgZ7q__ZI2B5sMUWF1A1Nqya0s --object_type service --contact "33271234567" --notificationtype "$NOTIFICATIONTYPE$" --servicestate "$SERVICESTATE$" --hostname "$HOSTNAME$" --servicedesc "$SERVICEDESC$" --output "$SERVICEOUTPUT$"
 }

– Chỉnh lại file contact.cfg (trên thực tế bạn chỉnh cho phù hhopwjnhes)

define contactgroup {
 contactgroup_name admins
 alias Nagios Administrators
 #members nagiosadmin
 members telegramgroupchat
 }
 define contact {
 contact_name telegramgroupchat
 service_notification_period 24x7
 host_notification_period 24x7
 service_notification_options w,u,c,r
 host_notification_options d,u,r
 service_notification_commands notify-service-by-telegram
 host_notification_commands notify-host-by-telegram
 }

– Test xem có nhận được không:

 telegram_nagios.py --token 345424838:AAFXBw52nLgZ7q__ZI2B5sMUWF1A1Nqya0s --object_type service --contact "332710917" --servicestate "OK" --hostname "hostname.domain.tld" --servicedesc "load" --output "OK - load average: 0.02 0.01 0.01"

Nếu như hình là OK.

Đã thành công :)) Tùy theo nhu cầu mà tỉnh chỉnh lại config cảnh báo cho hợp lý nhé.

Previous PostNext Post

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *

0 Shares
Share
Tweet
+1
Share
Pin