监控系统CPU,内存,磁盘I / O和不同频率的网络使用情况

时间:2011-11-29 06:50:55

标签: java network-monitoring sigar

我需要监控计算机的CPU,N / W,内存和磁盘I / O使用情况。目前我正在使用Ubuntu,并将使用Java代码运行它。

此外,监控频率/采样间隔必须是可自定义的。我已经阅读了this。没有提到网络统计数据,但没有提到SIGAR API。

我正在寻找轻量级的东西。我有两件事要做:

  1. 从我的java代码运行shell脚本,格式化o / p。如果是这样,我应该使用哪个命令? Top只给出了明智的统计过程。

  2. 使用SIGAR API。但是可以设定采样率吗?

  3. 谢谢!

1 个答案:

答案 0 :(得分:1)

您可以为linux安装prstat,iostat,pidstat软件包,并使用命令行获取所有信息。使用java的processbuilder在shell中执行这些命令并将输出捕获到文件中,以便可以将其用于将来的处理。需要注意的是,使用这些命令连续写入同一文件并不是一个好主意(通过使用命令'选项指定轮询间隔和轮询数来控制信息)。

希望这有帮助。

PS:顺便看看nagios。