有没有这样的服务器监控/警报工具?

2017-12-27 16:46:37 +08:00
 param

网上找到的服务器监控工具都非常重量级,我只要一个工具能实现以下操作。

假设有如下场景,我有服务器 H 和服务器 S,在服务器 H 上跑了一个 HTTP 服务,在服务器 S 上跑了一个 scrapy 爬虫。 服务器 H 和服务器 S 各有一个脚本(例如 curl )用于检测服务是否正常工作。监控工具每隔一段时间(如 2 分钟)会执行一次脚本。每次检测完,如果正常工作则向另一服务器报平安,如果超出一定时间都没收到另一服务器报的平安,说明对方挂了,马上执行另一个脚本(如发邮件警报)

两台服务器同时挂的情况,可能就收不到任何通知,但我有 5、6 台的时候,同时挂的可能性就很少了吧。

或者有没有平台是专门做这种事情的?让服务器定时报平安,平台发现服务器超时了还不报平安,就要向我发邮件之类的。这样就是只有一台服务器也可以做到。

10094 次点击
所在节点    DevOps
48 条回复
planetx
2017-12-28 09:35:16 +08:00
Zabbix 666
alen
2017-12-28 11:28:22 +08:00
zabbix+shell/python , nagios
xlrtx
2017-12-28 15:29:07 +08:00
每个服务器上部署一个 /health 接口, 每隔一段时间, 所有的机器互相检查对方, 出现超时或返回错误则钉钉机器人报警.
Admstor
2017-12-28 15:30:13 +08:00
我觉得楼主思路就不对
相互监控会存在逻辑冲突,你两个设备相互监控逻辑冲突还算能解决,设备多了之后就没法解决,你自己考虑是不是这样?

这也就为什么目前所有比较成熟成规模的监控系统设计都是中心化,高可用也是尽可能保证监控高可用,好在监控系统一般并不会特别庞大,并发上面也远远小于业务系统,所以做到高可用算是很简单了.在你的例子中,我觉得实际上仅需要一台设备作为监控即可,监控本身可以定时给你发邮件表示自己存活,或者你干脆引入第三方免费监控对自己的监控存活检测即可,目前几个比较成熟的第三方检测,基本都能保证 99.99SLA,我认为无论对个人还是中小企业这都足够

然后监控项目方面,http 略过不提
其他设备方面你基本上总是需要一个特定的端口来做响应吧,那么对这个端口进行适当的监控就可以了,这点上现在主流的监控软件都能做到,cacti nagios zabbix 都可以,win 上还有个商用软件 Advanced Host Monitor https://www.ks-soft.net/hostmon.eng/也基本可以做到
至于你需要更细致的监控,那么就跟你的业务有关了
例如你是跑 nginx 还是 apache,在 snmp 里都有对应 OID 来进行性能监控分析,你自己写的程序那自然你自己才清楚需要那些监控,甚至 http 方面也可以监控 post 之后返回什么才是正确的进行对比
这就几乎进一步到了企业业务领域了
param
2017-12-28 15:55:58 +08:00
@tianshiyeben
@v2gg
@planetx
@alen
@xlrtx
@Admstor
复杂了大哥,为了定时发个消息我还要跑个 web server ?还要搞个外网 IP 地址?甚至还要装个数据库?
耗电,浪费资源。我性能最弱的设备是路由器,内存总共 60M。
VicYu
2017-12-28 16:03:15 +08:00
如果只是想做 up 检测,中心化是抹不开的,找一个能长时间在线的,做 health check 吧,这样简单点
param
2017-12-28 16:24:33 +08:00
@VicYu 如果非要中心化的话,我也会分别拿两台机(或两台以上,反正多多益善)作中心。然后两台机(或以上)也互为中心。。

其实本帖已经没什么需要讨论了,标题“有没有这样的服务器监控 /警报工具?”,结论是“没有”。我还是需要亲手实现一下,实现方案我也有了。

pushbullet 方案,再加上多机中心方案,确保万无一失了吧。。。

类似有一个 QQ 群,每个人都有一个客户端,每个人都可以自由加入 /退出,每个人都可以看到哪些人在线,哪些人离线。
Admstor
2017-12-28 20:22:08 +08:00
自己要求复杂还怪别人方案复杂...
自己写代码去吧

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/418052

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX