最近需要对机器的运行温度进行监控,于是就有:
date;sensors |grep "Core 1"
并将其写入一段定时循环的脚本中。
这样问题就来了:每次的写入都是两行,如何将其转换为图形形式?是使用 gnuplot 吗?
谢谢各路大神相助!
1
zyguan 2016-03-23 20:58:42 +08:00
rrdtool ,虽然我不是大神...
|
2
holyghost 2016-03-23 21:35:05 +08:00
如果机器少,那就都入库,前端读数据想怎么画怎么画
如果机器多(比如上万台),就把数据直接存在服务器上,开服务器开 web server 直接读本地数据( rrd 等) |
3
zhangxiaobao OP |
4
holyghost 2016-03-23 21:54:48 +08:00
@zhangxiaobao 不建议用 shell 去做。起码要上 python ,否则这种工作会被累死的。
|
5
zhangxiaobao OP @holyghost python 小白鼠一枚。。感觉 Shell 应该够用了,毕竟量不算大(
|
6
zyguan 2016-03-23 22:13:44 +08:00
@zhangxiaobao 其实 rrdtool 收集数据最简单的就是用 shell+crontab ,可视化的话有能力可以造个实时的 web 服务,嫌麻烦直接把 rrd 取到本地(假设你是在监控多台机器)写个 shell 脚本调 rrdtool graph 批量作图。
|
7
xuboying 2016-03-23 22:27:41 +08:00
date | perl -pe 's/\n//' ; sensors |grep "Core 1"
|
8
zhangxiaobao OP 针对已有的数据,使用 rrdtool graph 就能生成图表?还是其他?
|
9
zhangxiaobao OP |
10
zsj950618 2016-03-23 22:55:35 +08:00 via Android
你可以搭个 ganglia ,然后写个 ganglia 插件,插件参考 https://github.com/ganglia/gmond_python_modules/tree/master/cpu_temp (注意,这个插件现在不能用了,要改改)
|
11
zyguan 2016-03-23 23:10:06 +08:00
@zhangxiaobao 是的,但这里的“已有数据”必须是 rrdtool 创建的数据库文件。 @zsj950618 说的 ganglia 也不错,如果你还想监控负载、网路、磁盘等信息,那正合适。隐约记得 cpu_temp 那个 module 的问题在于,不同系统中,记录温度文件的位置可能不同,改改就好。 ganglia 底层就是用 rrdtool 的,所以如果追求轻量、可定制,那直接用 rrdtool 就好。
|
12
zyguan 2016-03-23 23:17:53 +08:00
|
13
zhangxiaobao OP |