技术解析

CPU 温度采集与图形绘制
0
1975-02-25 16:33:14
idczone

最近需要对机器的运行温度进行监控,于是就有:

date;sensors |grep "Core 1"

并将其写入一段定时循环的脚本中。

这样问题就来了:每次的写入都是两行,如何将其转换为图形形式?是使用 gnuplot 吗?

谢谢各路大神相助!


rrdtool ,虽然我不是大神...

如果机器少,那就都入库,前端读数据想怎么画怎么画
如果机器多(比如上万台),就把数据直接存在服务器上,开服务器开 web server 直接读本地数据( rrd 等)

感谢 的回答,目前还不需要 rrdtool 这类,太高大上了。。
Shell 输出的结果如何作筛选以作数据源呢?

不建议用 shell 去做。起码要上 python ,否则这种工作会被累死的。

python 小白鼠一枚。。感觉 Shell 应该够用了,毕竟量不算大(

其实 rrdtool 收集数据最简单的就是用 shell+crontab ,可视化的话有能力可以造个实时的 web 服务,嫌麻烦直接把 rrd 取到本地(假设你是在监控多台机器)写个 shell 脚本调 rrdtool graph 批量作图。

date | perl -pe 's/\n//' ; sensors |grep "Core 1"

针对已有的数据,使用 rrdtool graph 就能生成图表?还是其他?

@zyguan

你可以搭个 ganglia ,然后写个 ganglia 插件,插件参考 https://github.com/ganglia/gmond_python_modules/tree/master/cpu_temp (注意,这个插件现在不能用了,要改改)

是的,但这里的“已有数据”必须是 rrdtool 创建的数据库文件。 说的 ganglia 也不错,如果你还想监控负载、网路、磁盘等信息,那正合适。隐约记得 cpu_temp 那个 module 的问题在于,不同系统中,记录温度文件的位置可能不同,改改就好。 ganglia 底层就是用 rrdtool 的,所以如果追求轻量、可定制,那直接用 rrdtool 就好。

如果不嫌弃,这里有逼人之前做实验收集数据时用的脚本, https://github.com/zyguan/cronrrds 。
你可以参考参考,不一定适用你的环境就是了。

真是谢谢了,就先试手看看使用 ganglia 吧。

数据地带为您的网站提供全球顶级IDC资源
在线咨询
专属客服