【问题标题】:Simple Server Monitoring with Java [closed]使用 Java 进行简单的服务器监控 [关闭]
【发布时间】:2009-09-10 12:27:30
【问题描述】:

我正在尝试找到一种解决方案,让我可以监控服务器的资源消耗。我希望获得的指标最好是网络利用率 IO,如果可能的话,CPU 使用率/平均负载和磁盘 IO。

我唯一的其他要求是这些信息可以通过 Java 获得,以便可以对其进行操作,并且至少可以在 Linux (Fedora) 上运行。

我听说过一些监控工具,但我只是不确定最好的解决方法。我可能希望每 30 秒收集一次信息。

谢谢

更新:重申一下,我指的是系统范围的监控,而不是 Java 特定的监控。我只想使用 Java 访问这些指标

【问题讨论】:

  • 你的问题不清楚。当您说“服务器”时,您的意思是“服务器进程”还是服务器本身。听起来您的意思是后者,但如果从您的角度来看,则 JMX 答案(如下)表示前者
  • 如果不清楚,我很抱歉——我说的是整个服务器,因为我本质上想知道服务器的运行状况以用于扩展目的。最重要的指标是网络利用率。
  • 如果网络利用率是最重要的指标,我不确定 JMX 是否会帮助您,我会考虑使用 Cacti 和 Java API 来读取 RDD 数据。

标签: java linux monitoring health-monitoring


【解决方案1】:

您可以选择将监控委托给CactiCentreonZenoss 等专用工具,但这对于单个应用程序来说可能有点矫枉过正。

对于一个简单的解决方案,JMX 确实可能是一个更好的解决方案。作为起点,我建议阅读以下文章:Monitoring Local and Remote Applications Using JMX 1.2 and JConsole。然后,看看Using JConsole to Monitor Applications,一篇非常详细的文章,展示了如何使用 JConsole 访问几个核心监控和 Java平台提供的管理功能包括:

  • 检测内存不足
  • 启用或禁用 GC 和类加载详细跟踪
  • 检测死锁
  • 控制应用程序中任何记录器的日志级别
  • 访问操作系统资源 - Sun 的平台扩展
  • 管理应用程序的托管 Bean (MBean)

但是,AFAIK,JMX 不会让您访问网络 IO,因此您可能需要这些工具的组合。幸运的是,许多工具(例如 Cacti、SmokePing)使用 RDD 格式,您可以使用 Java API 轻松操作,例如 JRobinrdd4j

【讨论】:

    【解决方案2】:

    我越来越喜欢collectd,这是一个模块化的 C 守护程序,专注于监控(而不是图形),具有大量 plugins

    似乎有几种方法可以将指标导入您的 Java 代码:

    • 在进程中,使用上述Java plugin 注册一个写回调以接收来自其他各种插件的数据
    • 通过网络,将jcollectd(collectd 协议的 Java 实现)嵌入到您的应用中
    • 间接地,通过写入 CSV 或 RRD 文件并使用 Java 的各种 RRD 实现之一

    【讨论】:

      【解决方案3】:

      只是想把 RHQ (http://rhq-project.org/ ) 放在一起:-)

      【讨论】:

        【解决方案4】:

        您可以考虑使用Ganglia 监控工具。它使用 XML 进行数据表示,因此我想从 Java 访问数据会相当简单,而且它的设计具有高度可扩展性,有可能记录大量服务器指标。机器。

        【讨论】:

          【解决方案5】:

          您最好在 /proc 中查找所有系统资源使用情况 /proc/cpuinfo 和 /proc/net/ 是一个不错的起点。

          【讨论】:

            【解决方案6】:

            Runtime.exec("some command") 有什么问题?

            【讨论】:

              【解决方案7】:

              我不确定这是否有助于您的查询。恕我直言,Cacti 和 Centreon 似乎太复杂了,无法花时间来满足您这样简单的要求。 有更简单的工具用于服务器监控,例如New RelicSeaLion。海狮是我目前最喜欢的。它提供了简单的默认命令,涵盖了大多数基本要求(可能也会涵盖您的要求)。它的设置也非常简单,而且是免费的。你可以试试这些。

              【讨论】:

                猜你喜欢
                • 1970-01-01
                • 1970-01-01
                • 1970-01-01
                • 1970-01-01
                • 1970-01-01
                • 1970-01-01
                • 1970-01-01
                • 1970-01-01
                • 1970-01-01
                相关资源
                最近更新 更多