楼主:
PTTCEO (批踢踢首席执行长)
2019-08-03 22:09:34目前有需求是要监控系统资讯跟服务 并且做警报(Email通知)
请问各位大大 有没有推荐的 系统跟服务监控 解决方案?
需求有以下几点:
1.监控基本的系统资讯项目(CPU, Memory, Disk usage, Disk IO)
2.监控项目需要比较复杂的定义(例如CPU连续5分钟平均 > 90)
3.监控服务是否还在运作(简单的探测一下API)
4.监控某个RESTful API的状态(例如系统授权是否即将到期)
5.监控的服务项目需要discover(打某个API取得目前有哪些instance)
6.符合警报后寄送email通知
7.Email通知需要支援群组设定(例如TechSupport群组, 客服群组, Sales群组)
8.通知规则需要支援复杂规则(一个period内的警报只寄送一次, 警报后特定条件内不再
发mail)
9.需要同时支援Windows跟Linux平台(系统资讯采集Windows透过WMI, Linux透过别的)
10.需要能够单机执行(非一个master搭配agent做群集监控)
原本的想法是自己用熟悉的语言(Java or GO)刻一个简单的程式
但发现要做到那些规则的定义跟configuration 包括Email通知规则
好像也不是这么简单的一个小program 也不太想要从轮子开始打造
Survey了好一番 监控的解决方案从Zabbix到其他一大堆 眼花撩乱的
但有些非免费 有些仅限Linux平台 有些功能太多 有些功能又缺了些
像是这个GOLang写的Checkup https://github.com/sourcegraph/checkup
差了系统资讯监控跟规则&警报定义 只能做到status check而已
目前找到的只有 Prometheus https://prometheus.io/
应该都有符合需求 搭配AlertManager, WMI_exporter, Blackbox exporter
可惜还差了discover service以及监控某个API状态的需求
可能得自己刻一个json exporter? 或者已经有现成的exporter呢?
不知道是否有其他的解决方案可以参考的 感谢各位~