CPU 温度采集与图形绘制

2016-03-23 20:47:42 +08:00
 zhangxiaobao

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

date;sensors |grep "Core 1"

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

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

谢谢各路大神相助!

3703 次点击
所在节点    Linux
13 条回复
zyguan
2016-03-23 20:58:42 +08:00
rrdtool ,虽然我不是大神...
holyghost
2016-03-23 21:35:05 +08:00
如果机器少,那就都入库,前端读数据想怎么画怎么画
如果机器多(比如上万台),就把数据直接存在服务器上,开服务器开 web server 直接读本地数据( rrd 等)
zhangxiaobao
2016-03-23 21:41:18 +08:00
感谢 @zyguan @holyghost 的回答,目前还不需要 rrdtool 这类,太高大上了。。
Shell 输出的结果如何作筛选以作数据源呢?
holyghost
2016-03-23 21:54:48 +08:00
@zhangxiaobao 不建议用 shell 去做。起码要上 python ,否则这种工作会被累死的。
zhangxiaobao
2016-03-23 22:01:58 +08:00
@holyghost python 小白鼠一枚。。感觉 Shell 应该够用了,毕竟量不算大(
zyguan
2016-03-23 22:13:44 +08:00
@zhangxiaobao 其实 rrdtool 收集数据最简单的就是用 shell+crontab ,可视化的话有能力可以造个实时的 web 服务,嫌麻烦直接把 rrd 取到本地(假设你是在监控多台机器)写个 shell 脚本调 rrdtool graph 批量作图。
xuboying
2016-03-23 22:27:41 +08:00
date | perl -pe 's/\n//' ; sensors |grep "Core 1"
zhangxiaobao
2016-03-23 22:28:08 +08:00
针对已有的数据,使用 rrdtool graph 就能生成图表?还是其他?
zhangxiaobao
2016-03-23 22:28:28 +08:00
zsj950618
2016-03-23 22:55:35 +08:00
你可以搭个 ganglia ,然后写个 ganglia 插件,插件参考 https://github.com/ganglia/gmond_python_modules/tree/master/cpu_temp (注意,这个插件现在不能用了,要改改)
zyguan
2016-03-23 23:10:06 +08:00
@zhangxiaobao 是的,但这里的“已有数据”必须是 rrdtool 创建的数据库文件。 @zsj950618 说的 ganglia 也不错,如果你还想监控负载、网路、磁盘等信息,那正合适。隐约记得 cpu_temp 那个 module 的问题在于,不同系统中,记录温度文件的位置可能不同,改改就好。 ganglia 底层就是用 rrdtool 的,所以如果追求轻量、可定制,那直接用 rrdtool 就好。
zyguan
2016-03-23 23:17:53 +08:00
@zhangxiaobao 如果不嫌弃,这里有逼人之前做实验收集数据时用的脚本, https://github.com/zyguan/cronrrds
你可以参考参考,不一定适用你的环境就是了。
zhangxiaobao
2016-03-24 10:49:16 +08:00
@xuboying @zyguan 真是谢谢了,就先试手看看使用 ganglia 吧。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/265862

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX