看問答內的資訊, 用nagios(ver 4.4.6) 的實在太少,用會nagios是因為一頁一秒就可以看完系統狀況 , (4.4.7 不穩定,後來降回4.4.6)
比公司內部其它的監控查看還方便許多,
要問的問題是 google 了很多 透過telegram發送訊息的設定
編輯完command.cfg , restart nagios 服務就報錯了
參考網頁如下 , 不知是否有大神能提供一個正確的參考網頁方便設定呢?
(ps.目前已有已有其它監控系統可以透過telegram 發送alert ,所以不會是telegram id相關的問題)
How-to – use Telegram with Nagios
Telegram Notifications with Nagios
Notifications from Nagios4 to Telegram
更新: 參考此網址即可解決,在nagios core 4.4.9 仍有效
解決方式: 如網頁說明 (並加入自己額外補充)
在commands.cfg 加入 以下內容 , 並將 REPLACEME 分別改為 telegram 的chat id & token
# Host notification via Telegram bot
define command{
command_name notify-host-by-telegram
command_line curl -k -L --data chat_id=REPLACEME --data-urlencode "text=***** Nagios ***** Notification Type: $NOTIFICATIONTYPE$ Host: $HOSTNAME$ State: $HOSTSTATE$ Address: $HOSTADDRESS$ Info: $HOSTOUTPUT$ Date/Time: $LONGDATETIME$" "https://api.telegram.org/botREPLACEME/sendMessage"
}
# Service notification via Telegram bot
define command{
command_name notify-service-by-telegram
command_line curl -k -L --data chat_id=-REPLACEME --data-urlencode "text=***** Nagios ***** Notification Type: $NOTIFICATIONTYPE$ Service: $SERVICEDESC$ Host: $HOSTALIAS$ Address: $HOSTADDRESS$ State: $SERVICESTATE$ Date/Time: $LONGDATETIME$ Additional Info: $SERVICEOUTPUT$" "https://api.telegram.org/botREPLACEME/sendMessage"
}
接著在 templates 定義一個新的 contact 模板
define contact {
name telegram-contact
service_notification_period 24x7
host_notification_period 24x7
service_notification_options w,u,c,r,f,s
host_notification_options d,u,r,f,s
register 0
service_notification_commands notify-service-by-telegram, notify-service-by-email
host_notification_commands notify-host-by-telegram, notify-host-by-email
}
再修改contacts.cfg
將要接收telegram alert 的人套用 模板 , 再加user 加入 contact group 就完成了。
define contact {
contact_name kailis
use telegram-contact
alias Nagios_Admin
email kailis@domain.com.tw
}