[請益] Watchdog/Monitoring software

作者: JohnnyDell (強尼戴爾)   2018-10-21 22:18:34
請教各位大大 因為目前有需求
要做一個Watchdog或者說是監
控的軟體 主要的功能大概如下
可以設定要監控的項目跟頻率
可以設定各監控項目的觸發條件
觸發後可以寄送email做為通知
監控項目主要有 主機的CPU RAM
Storage Network等一般硬體資訊
所以可能需要軟體本身就可以讀取
這些資訊 否則就得再搭配其他的
觸發條件判斷要是能夠作到連續
符合 例如連續每五分鐘的CPU都
超過90 如果有一次sampling沒有
那counter自然就歸零重新計算
其餘監控項目 webapp運作與否
以及各webapp各自的授權狀態
這一部份會透過webapp的API
所以該軟體本身只要支援簡單的
HTTP GET應該就可以取得資訊
當然可能得有基本的Basic auth
而判斷是否觸發的條件式也就
必須是根據HTTP response來做
例如回來的JSON內是否有某些字串
至於監控頻率的設定希望是透過
CRON expression 已達到彈性
而mail的寄送則會需要grouping
例如 總共有哪些mail address
其中各自可以屬於哪些mail group
而某一監控項目則可以設定寄送
至哪些mail group
這個軟體必須要是能夠跨OS的
因為有些是On-premises的case
會是Win7, Win10 or Win Server
當然也可能是uBuntu或CentOS等
稍微Google過一些 像是OpenNMS
Nagios LibreNMS 功能都很複雜
但不確定是否能達到上述的需求
而且好像都沒有Windows platform
設定需要是property-wise 不用
有fancy UI 當然這是完全可以
用Java或者GO手刻一個達到上述
功能 或者初步想法是用Jmeter
寫好script好像也是可以做的到
但感覺property設定上可能比較難
不知道有沒有大大可以推薦其他
可能的解法呢? 例如有Open Source
的專案 基本就是以這個功能為基底
這樣就可以不用在自己從頭打造了
感謝
作者: dododavid006 (朔雪)   2018-10-21 23:04:00
可以參考看看 nagios 不過它應該是 Linux 下的 Win下的我就不熟了抱歉沒仔細看內文不過你所提到的功能 nagios 在 Linux 下應該都有支援 CPU 那類的原本就有了 Web 的部份可能要調一下設定 至於 json response 可以用 shell script 用curl + jq 之類的方式解決或是用 grep 如果沒有太複雜的話我剛剛 Google 了一下 nagios 有 win 的 client 那或許可以使用 只要 server 架在 Linux 應該就行了在 Linux 下幫 nagios 寫 plugin 不難 只要確定能跑能輸出就行了 用什麼寫都行 所以也可以用 Go 去抓json responseCPU 的部份建議你用 CPU Load 這在 Linux 下有直接支援 同樣的 Win 下我不了解 CPU Load 會是三個數字分別是 5 10 15 min 的平均用量 單位是幾顆 CPU 假設你是 4 核那也就是 4 * 0.9 也就是超過 3.6 就超過 90% 了
作者: Sieg2010 (Sieg)   2018-10-22 00:53:00
Zabbix
作者: forewero (木日一)   2018-10-22 01:31:00
Elk,splunk,garylog 這類好像比較符合需求?
作者: abernoulli   2018-10-22 08:44:00
Prometheus,wmi exporter,Grafana
作者: MOONY135 (談無慾)   2018-10-22 08:46:00
如果沒有要求要寫在同一套的話 WINDOW下的CPU使用我做過
作者: oopFoo (3d)   2018-10-22 08:56:00
Munin + plugin. 應該是最容易入門的
作者: CRPKT (crpkt)   2018-10-22 23:29:00
Prometheus
作者: Michael132 (美國潮男)   2018-10-23 22:46:00
聽起來是Wavefront輕易能做到的 可以試試看
作者: lovelystella (lovelystella)   2018-10-27 18:13:00
zabbix+1

Links booklink

Contact Us: admin [ a t ] ucptt.com