与Java简单的服务器监测关闭](Simple Server Monitoring with Jav

2019-08-04 18:18发布

我试图找到一个解决办法,让我监视服务器的资源消耗。 优选地,我想获得的度量是网络的利用率IO,和如果可能的话CPU使用率/平均负载和磁盘IO。

唯一的其他要求,我已经是这个信息是通过获得的Java,因此它可以被操纵,并在Linux(Fedora的)至少工作。

我听说过一些监控工具,但我只是不知道的要对此最好的办法。 我可能会想被收集约每30秒的信息。

谢谢

更新:只是再次重申,我指的是整个系统的监控不是Java具体的监测。 我只是想用Java来访问这些指标

Answer 1:

您可以选择委托监测到类似的专用工具仙人掌 , Centreon ,或Zenoss的 ,但是这可能是一个单一的应用程序有点矫枉过正。

对于一个简单的解决方案,JMX可能确实是一个更好的解决方案。 作为出发点,我建议您阅读以下文章: 监视使用JMX 1.2和JConsole的本地和远程应用 。 然后,看看使用JConsole监视应用程序 ,一个非常详细的文章,显示如何使用JConsole的访问由Java平台,包括提供几个核心的监控和管理功能:

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

但是,据我所知,JMX不会给你访问网络IO,所以你可能需要这些工具的组合。 幸运的是,许多工具(如仙人掌, SmokePing )使用RDD格式,你可以很容易地使用Java API,如操纵JRobin或rdd4j 。



Answer 2:

只是想在混合扔地区总部(http://rhq-project.org/):-)



Answer 3:

你可以考虑使用神经节监视工具。 它使用XML作为它的数据表示,所以我想这将是相当简单的从Java访问数据,并且有它被设计为高度可扩展的附加优势,以在大量的记录服务器的度量的潜力机器。



Answer 4:

我长大爱collectd ,模块化ç守护重点监测(而不是绘图)与众多的插件 :

  • 阅读 -通常的CPU , I / O , 网络 , 负载 , 内存和JMX以及一些更有趣的像的能力监测的DNS请求通过嗅探数据包, 监测延迟/连通性和“尾”日志文件监测之类的东西SSH登录尝试或传入电子邮件
  • -发送读数到CSV文件 , 远程主机 , RRDtool的 , Unix套接字 , Web服务器
  • 通知 -通过libnotify或电子邮件
  • 绑定 -到Perl的 , Python中和(最重要的是你的目的) 的Java

这里似乎是用于获取数据到您的Java代码的几个选项:

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


Answer 5:

你最好的选择可能会看在/ proc的所有系统资源使用率的/ proc / cpuinfo中和的/ proc /净/是一个良好的开端。



Answer 6:

有什么不对的Runtime.exec(“一些命令”)?



Answer 7:

我不知道这是否会有助于您的查询。 恕我直言,仙人掌及Centreon似乎太复杂的时间投入到了和你一样简单的要求。 还有更简单的工具,有服务器监控,如New Relic的和海狮 。 海狮是我目前最喜欢的。 它给覆盖了大部分的基本要求(可能包括你也一样)简单的默认命令。 这也是非常简单的设置,是免费的。 你可以尝试这些了。



文章来源: Simple Server Monitoring with Java [closed]