公司很多应用部署在不同的服务器上。 想开发个简单的 web 应用能够简单监控不同服务器上的应用运行情况~ 求解题思路!
1 m31271n 2016-08-02 19:22:50 +08:00 给应用做好数据埋点,然后配合一些监控应用就可以(比如 https://prometheus.io/)。可以参考下这篇文章的思路 https://ruby-china.org/topics/23470 |
2 m31271n 2016-08-02 19:23:25 +08:00 给应用做好数据埋点,然后配合一些监控应用就可以(比如 https://prometheus.io/ )。可以参考下这篇文章的思路 https://ruby-china.org/topics/23470 |
![]() | 3 knightdf 2016-08-02 21:04:24 +08:00 graphite 可以满足 |
![]() | 4 ren2881971 OP 额。。 谢谢 ls 的兄弟回复。 但我想要的不是一个工具。 想要是通过代码怎么实现~ 比如 我能通过 nodejs 的 websocket 一直与应用保持长连接这种方式 来监控应用的运行情况么? |
![]() | 5 R4rvZ6agNVWr56V0 2016-08-03 12:33:37 +08:00 可以写个简单的 agent 到应用服务器上收集状态信息发送到你的监控代理上,也可以由监控代理主动去请求应用的接口或页面做状态判断。 服务器监控的常见手段么,无非是: SNMP 、 WMI 、 HTTP Get 、 PING 等, lz 可以去了解下 Zabbix 等开源监控系统的架构 |
6 viila 2016-08-03 14:43:08 +08:00 healthcheck 。非侵入的话可以通过收 log 的方式来做。比如 logstash+graphite 。配置下即可 |
![]() | 7 ren2881971 OP @GeekGao 监控代理主动请求应用的页面 只要 http 能返回正确 应该就可以了。 |
![]() | 8 winglight2016 2016-08-03 16:02:22 +08:00 你这种需求,可以自己选择一个消耗最小的 url ,用 curl 发送 HEAD 请求, 200 回来就表示正常,以上。 |
![]() | 9 ren2881971 OP @winglight2016 你这个不错~~~ 3q |
10 wshcdr 2016-08-03 18:21:02 +08:00 nagios 就是专业干这个的... |
11 thetcc 2016-08-03 20:05:07 +08:00 influxdb+telegraf+kapacitor+grafana |