我有一個Nagios配置,它在幾百個節點上執行一些測試;其中之一是check_http
的變體。它沒有配置爲--enable-embedded-perl(ePN),但我們很快就會改變。即使啓用了ePN,我也很關心這種Perl HTTP + SSL檢查每次執行只處理一個目標的模型。用自定義(選擇/輪詢驅動)守護程序替換Nagios HTTP?
我想編寫一個簡單的選擇()(或輪詢()/epoll的())驅動守護它創建併發多重目標的連接,讀取結果,並吐出導致形式可用於Nagios,就好像它是被動檢查的結果一樣。
有沒有關於如何做到這一點的指導?用於向Nagios提供批量檢查更新的界面或API是什麼?
我正在考慮的一個破解是讓我的守護程序更新Redis存儲(每個目標有一個密鑰,並且過期時間很短),並將check_http
替換爲本地Redis實例的一個非常小的輕量級GET關鍵字(GET會得到Nagios的實際結果或「(無)」響應,將被視爲HTTP連接已超時。
但是,我對我的想法也有些懷疑因爲我認爲現在有人已經有這樣的事情了。
(順便說一下:我已經準備好轉向Icinga或Zabbix或Zenoss或OpenNMS ......幾乎所有可以縮放的東西)。