LibreNMS 支援 Nagios Plugins 來擴充檢測的功能,其中 check_domain 是 nagios plugins 套件裡非常實用的機制,可以提醒我們在域名過期之前儘快續約。
- Nagios Plugin Directory
https://exchange.nagios.org/directory/Plugins
- Nagios Plugin check_domain
https://github.com/glensc/monitoring-plugin-check_domain
可惜故事沒這麼簡單,開源套件踩坑是家常便飯。
一用就遇到問題,每每執行 check_domain 檢測域名都會失敗。
檢測域名失敗
怪了,但是參考該 plugin 本身的文件指令來測試 github.io 等域名卻又正常,花點時間查看原始碼後,確認原因是該 check_domain 不支援 .tw 的 whois 結果格式。
好在,開源的好處就是有問題可以自己動手來,我修改好了,已經可以正常取得。
檢測域名成功
結論
修改完成以後,就可以在 LibreNMS 上搭配 Service 功能,對域名即將到期做出檢測與警告,可參考本文第一張圖,對 IT 人員來說非常方便好用。
修改好的分支版本我已放置 GitHub,有需要的朋友可以取用。
- Nagios Plugin check_domain .tw 修正版
https://github.com/jasoncheng7115/monitoring-plugin-check_domain/blob/master/check_domain.sh