如何监控和记录服务器硬件温度和负载

Jie*_*eng 17 hardware cpu-load monitor logging temperature

我正在寻找一种方法来记录和监控我的服务器硬件温度和负载(例如 CPU 或 RAM)。我该怎么做?

目标是:

  • 确保硬件不会升温
  • 确定应该升级的内容和多余的内容(例如,可能学习可能无法获得如此好的 CPU)

好的,我可以使用任务栏中的小程序之一,但是日志记录呢?

Rin*_*ind 20

如果您想要不依赖于桌面的东西

看看lm-sensors 安装lm-sensors. 从描述来看:

Lm-sensors 是 Linux 的硬件健康监控包。它允许
您可以访问温度、电压和风扇速度等信息 
传感器。它适用于大多数较新的系统。

该软件包包含帮助您设置和读取数据的程序
lm 传感器。

从他们的项目页面(2016 年编辑:项目已死。我们自己的维基有一些信息):

  • 无人值守的高端服务器、路由器或其他关键任务机器自动监控。轻松创建一个 cron 作业来查询您的硬件状态,并在问题变得严重之前通过电子邮件发送给您。这样,您可以在几秒钟内收到电源、风扇、其他冷却装置等关键组件发生故障的警报,甚至可以检测机箱是否已打开。
  • 运行 Linux 的嵌入式系统。它们可以使用此封装来监控电压、温度、风扇速度等,使用现成的组件并利用一系列总线接口(例如 ISA、SMBus、I2C 或 SPI)。
  • 更一般地,数据采集。使用廉价的现成部件轻松测量各种类型的数据(转速、电压、温度等)。对系统自动化非常有用(在家里、车间、气象站,你能想到的)。

lm-sensors 有一个名为 sensord 的守护进程,它使用RRDtool进行“时间序列数据的数据记录和图形系统”。所以它包括这样的图形,可以通过网络服务器显示:

IM1

(取自 lm-sensors 项目页面)。

要安装 sensord 守护程序,您可能必须安装 sensord 包。

我的笔记本中的示例:

IM2

这个配置文件位于 /etc/sensors3.conf

lm-sensors是任何温度测量的基础。桌面项目更有可能从这个包中获取它们的信息。一个例子如果你想要依赖于桌面的东西

传感器。

  • 主板和 CPU 传感器(需要安装 lm-sensors)。
  • 英伟达 GPU
  • 硬盘驱动器(需要安装 hddtemp)。
  • 风扇速度(同样,需要安装 lm 传感器)。

通过添加 PPA 进行安装:
sudo add-apt-repository ppa:jfi/ppa
sudo apt-get update && sudo apt-get install psensor

(Oneiric 将包含 psensor)

来自ubuntugeek.com 的(旧)示例: IM6


Dar*_*s.V 6

如果像 Cacti 这样的程序太多,那么你可以使用一个每天只记录到文本文件的脚本 - 用 crontab 运行它。你需要lm-sensors安装。

#!/bin/bash
_now=$(date +"%Y_%m_%d")
_file="temp_log_$_now.txt"
(date; sensors; echo '-----------') | cat >> "/var/log/temperatures/$_file"
Run Code Online (Sandbox Code Playgroud)

这仅适用/var/log/temperatures于可能需要首先创建 ( sudo mkdir /var/log/temperatures) 并且只有 root 可以写入的目录(因此您需要使用 root crontab。如果您想使用每个用户的 crontab,您可以改为创建/home/user/temperatures( mkdir ~/temperatures)并在脚本中使用该路径(在脚本中使用完整路径)。