• 请不要在回答技术问题时复制粘贴 AI 生成的内容
ren2881971
V2EX  ›  程序员

怎么监控不同服务器上的应用运行状态?

  •  
  •   ren2881971 ·
    ren2881971 · Aug 2, 2016 · 4423 views
    This topic created in 3754 days ago, the information mentioned may be changed or developed.

    公司很多应用部署在不同的服务器上。 想开发个简单的 web 应用能够简单监控不同服务器上的应用运行情况~ 求解题思路!

    11 replies  •  2016-08-03 20:05:07 +08:00
    m31271n
    m31271n
    Aug 2, 2016
    1
    给应用做好数据埋点,然后配合一些监控应用就可以(比如 https://prometheus.io/)。可以参考下这篇文章的思路 https://ruby-china.org/topics/23470
    m31271n
    m31271n
    Aug 2, 2016
    2
    给应用做好数据埋点,然后配合一些监控应用就可以(比如 https://prometheus.io/ )。可以参考下这篇文章的思路 https://ruby-china.org/topics/23470
    knightdf
    knightdf
    Aug 2, 2016
    3
    graphite 可以满足
    ren2881971
    ren2881971
    OP
    Aug 3, 2016
    4
    额。。 谢谢 ls 的兄弟回复。
    但我想要的不是一个工具。 想要是通过代码怎么实现~
    比如 我能通过 nodejs 的 websocket 一直与应用保持长连接这种方式 来监控应用的运行情况么?
    R4rvZ6agNVWr56V0
    R4rvZ6agNVWr56V0
    Aug 3, 2016
    5
    可以写个简单的 agent 到应用服务器上收集状态信息发送到你的监控代理上,也可以由监控代理主动去请求应用的接口或页面做状态判断。
    服务器监控的常见手段么,无非是: SNMP 、 WMI 、 HTTP Get 、 PING 等, lz 可以去了解下 Zabbix 等开源监控系统的架构
    viila
    viila
    Aug 3, 2016
    6
    healthcheck 。非侵入的话可以通过收 log 的方式来做。比如 logstash+graphite 。配置下即可
    ren2881971
    ren2881971
    OP
    Aug 3, 2016
    7
    @GeekGao 监控代理主动请求应用的页面 只要 http 能返回正确 应该就可以了。
    winglight2016
    winglight2016
    Aug 3, 2016
    8
    你这种需求,可以自己选择一个消耗最小的 url ,用 curl 发送 HEAD 请求, 200 回来就表示正常,以上。
    ren2881971
    ren2881971
    OP
    Aug 3, 2016
    9
    @winglight2016 你这个不错~~~ 3q
    wshcdr
    wshcdr
    Aug 3, 2016
    10
    nagios 就是专业干这个的...
    thetcc
    thetcc
    Aug 3, 2016
    11
    influxdb+telegraf+kapacitor+grafana
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   4424 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 40ms · UTC 08:56 · PVG 16:56 · LAX 00:56 · JFK 03:56
    ♥ Do have faith in what you're doing.