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

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

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

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

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

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

10389 次点击
所在节点    DevOps
48 条回复
privil
2017-12-27 16:53:17 +08:00
写脚本可以搞定这种需求,你逻辑想多了,并不需要互相保平安,自检测以及检测其他服务器状态就好了,检测不过就发邮件
param
2017-12-27 16:54:37 +08:00
@privil 网断了话怎么发邮件?电源断了怎么发邮件?
param
2017-12-27 16:55:38 +08:00
最好是,不止能在服务器用。我在家用 Android 设备和路由器上也跑了很多东西。
privil
2017-12-27 16:56:09 +08:00
@param #2 按照你的想法每个服务器都定时跑这个脚本,除非全部挂了,不然你始终会收到至少一封邮件
param
2017-12-27 16:57:45 +08:00
@privil 所以需要报平安的机制啊。。。不然怎么知道其它服务器有没有挂。
twisted1995
2017-12-27 16:57:55 +08:00
我之前看到过有一款咕咕监控的,你可以去了解一下
i730
2017-12-27 16:58:26 +08:00
ifttt 应该可破
param
2017-12-27 17:00:11 +08:00
还有就是,这些服务器(或者其它设备)可能并没有外网地址。所以可能还要用去中心话的方案来自动发现。新增一项监控的时候不需要每台机都改一遍。
param
2017-12-27 17:01:29 +08:00
如果有可信的第三方平台,就不需要去中心化。以平台为中心就好了。
privil
2017-12-27 17:07:31 +08:00
@param #5 那就只做自我检测,报平安,把检测信息带时间戳通过 ssh 方式传递到中心。搞一台阿里云当中心,中心每分钟检测传递过来的信息,没就报警
param
2017-12-27 17:42:01 +08:00
@twisted1995 貌似只能监控网站?刚发现一个 uptimerobot.com 但似乎也只能监控网站。

@i730 ifttt 上都没找到现成的方案,真要用的话估计还得自己写点代码提交到 ifttt。。。

@privil 你的中心化方案感觉不怎么稳。这样还不如用两台来当中心,然后两台互相监控。。。把流程复杂化了就没那么稳了,自己写的代码稍有偏差可能就让监控失效了,这才是我希望找现成工具的原因。真要自己实现也不是很难,但 bug 就避免不了。

如果没有现成工具非要自己做的话,我想到的是 pushbullet。。。感觉稳多了
privil
2017-12-27 17:44:55 +08:00
@param #11 花多少时间多少精力,看你自己需求要到什么状况,你要搞两地三备份,异地多活,你有钱也行啊
privil
2017-12-27 17:46:04 +08:00
看了眼,放 devops 节点了,这是多正经……
podel
2017-12-27 17:50:27 +08:00
有一个 SEC (Simple Event Correlator) perl 写的小程序或许可以满足你的需求。要搜全称。(官方的文档写得很详细,但是大部分是英文的,基本上没什么中文资料)
kimoCHG
2017-12-27 18:02:05 +08:00
Zabbix 企业级开源网络监控工具

https://www.zabbix.com/
param
2017-12-27 18:22:42 +08:00
@kimoCHG 这个东西看起来相当复杂啊。。。
param
2017-12-27 18:23:24 +08:00
@privil 我是被移到 DevOps 的。。。我本来是放“问与答”的
@Livid
Livid
2017-12-27 18:31:38 +08:00
@privil
@param

对主题进行节点方面的整理是我们的日常工作。
lulinux
2017-12-27 18:31:50 +08:00
shell 脚本+cron
v2xe2v
2017-12-27 18:37:42 +08:00
netdata

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

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

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

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

© 2021 V2EX