
最近需要对机器的运行温度进行监控,于是就有:
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 |