V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Distributions
Ubuntu
Fedora
CentOS
中文资源站
网易开源镜像站
zhangxiaobao
V2EX  ›  Linux

CPU 温度采集与图形绘制

  •  
  •   zhangxiaobao · 2016-03-23 20:47:42 +08:00 · 3745 次点击
    这是一个创建于 3203 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

    date;sensors |grep "Core 1"
    

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

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

    谢谢各路大神相助!

    13 条回复    2016-03-24 10:49:16 +08:00
    zyguan
        1
    zyguan  
       2016-03-23 20:58:42 +08:00
    rrdtool ,虽然我不是大神...
    holyghost
        2
    holyghost  
       2016-03-23 21:35:05 +08:00
    如果机器少,那就都入库,前端读数据想怎么画怎么画
    如果机器多(比如上万台),就把数据直接存在服务器上,开服务器开 web server 直接读本地数据( rrd 等)
    zhangxiaobao
        3
    zhangxiaobao  
    OP
       2016-03-23 21:41:18 +08:00
    感谢 @zyguan @holyghost 的回答,目前还不需要 rrdtool 这类,太高大上了。。
    Shell 输出的结果如何作筛选以作数据源呢?
    holyghost
        4
    holyghost  
       2016-03-23 21:54:48 +08:00
    @zhangxiaobao 不建议用 shell 去做。起码要上 python ,否则这种工作会被累死的。
    zhangxiaobao
        5
    zhangxiaobao  
    OP
       2016-03-23 22:01:58 +08:00
    @holyghost python 小白鼠一枚。。感觉 Shell 应该够用了,毕竟量不算大(
    zyguan
        6
    zyguan  
       2016-03-23 22:13:44 +08:00
    @zhangxiaobao 其实 rrdtool 收集数据最简单的就是用 shell+crontab ,可视化的话有能力可以造个实时的 web 服务,嫌麻烦直接把 rrd 取到本地(假设你是在监控多台机器)写个 shell 脚本调 rrdtool graph 批量作图。
    xuboying
        7
    xuboying  
       2016-03-23 22:27:41 +08:00
    date | perl -pe 's/\n//' ; sensors |grep "Core 1"
    zhangxiaobao
        8
    zhangxiaobao  
    OP
       2016-03-23 22:28:08 +08:00
    针对已有的数据,使用 rrdtool graph 就能生成图表?还是其他?
    zhangxiaobao
        9
    zhangxiaobao  
    OP
       2016-03-23 22:28:28 +08:00
    zsj950618
        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 (注意,这个插件现在不能用了,要改改)
    zyguan
        11
    zyguan  
       2016-03-23 23:10:06 +08:00
    @zhangxiaobao 是的,但这里的“已有数据”必须是 rrdtool 创建的数据库文件。 @zsj950618 说的 ganglia 也不错,如果你还想监控负载、网路、磁盘等信息,那正合适。隐约记得 cpu_temp 那个 module 的问题在于,不同系统中,记录温度文件的位置可能不同,改改就好。 ganglia 底层就是用 rrdtool 的,所以如果追求轻量、可定制,那直接用 rrdtool 就好。
    zyguan
        12
    zyguan  
       2016-03-23 23:17:53 +08:00
    @zhangxiaobao 如果不嫌弃,这里有逼人之前做实验收集数据时用的脚本, https://github.com/zyguan/cronrrds
    你可以参考参考,不一定适用你的环境就是了。
    zhangxiaobao
        13
    zhangxiaobao  
    OP
       2016-03-24 10:49:16 +08:00
    @xuboying @zyguan 真是谢谢了,就先试手看看使用 ganglia 吧。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   879 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 20:18 · PVG 04:18 · LAX 12:18 · JFK 15:18
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.