[请益] 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