CentOS sensors軟件監(jiān)控主板CPU數(shù)據(jù)
xx對于電腦使用的玩家的常用軟件,然后我就學習及深入的研究xx,在這里和大家一起探討xx的使用方法,希望對大家有用。用MRTG監(jiān)測Linux系統(tǒng)CPU溫度
在Linux下有個叫CentOS sensors的軟件可以幫助我們來監(jiān)控主板,CPU的工作電壓,風扇轉速、溫度等數(shù)據(jù)。這些數(shù)據(jù)我們通常在主板的 BIOS也可以看到。當我們可以在機器運行的時候通過CentOS sensors隨時來監(jiān)測著CPU的溫度變化,可以預防呵保護因為CPU過熱而會燒掉。
1. 安裝CentOS sensors現(xiàn)在基本上每個Linux都已經有CentOS sensors包了,我們主要安裝了就可以了?;蛘呶覀円部梢酝ㄟ^源文件來自己編譯。1)在FC,RH, CENTOS下,用rpm:[root@securitycn ~]# rpm -ivh lm_sensors-2.10.0-3.1.i386.rpm3)編譯源文件安裝我們可以通過:這里下載源文件這里我們要注意的問題是要先安裝libsysfs庫,是Sysfsutils,Sysfsutils-devel軟件
- tar xzvf lm-sensors-xxx.tar.gz
- make user
- make user_install testing
下面我們就用一些簡單的命令來利用CentOS sensors來得到CPU的數(shù)據(jù)。我們要用root的身份來:sensors-detect,然后它會自動搜索主板上的chipset和相應的driver,我們全部答YES就可以了[root@securitycn ~]# sensors-detect
- # sensors-detect revision 1.413 (2006/01/19 20:28:00)
- This program will help you determine which I2C/SMBus modules you need to
- load to use lm_sensors most effectively. You need to have i2c and
- lm_sensors installed before running this program.
- Also, you need to be `root', or at least have access to the /dev/i2c-*
- files, for most things.
- If you have patched your kernel and have some drivers built in, you can
- safely answer NO if asked to load some modules. In this case, things may
- seem a bit confusing, but they will still work.
- It is generally safe and recommended to accept the default answers to all
- questions, unless you know what you're doing.
- We can start with probing for (PCI) I2C or SMBus adapters.
- You do not need any special privileges for this.
- Do you want to probe now? (YES/no):
全部默認YES即可。然后我們啟動CentOS sensors:
- /etc/init.d/lm_sensors start
- Starting lm_sensors: [ OK ]
我們可以通過lsmod來確定我們需要的driver已經加載了沒有
- lsmod | grep i2c
- i2c_isa 9153 2 w83627hf,w83781d
- i2c_i801 11341 0
- i2c_dev 12613 0
- i2c_ec 9025 1 sbs
- i2c_core 23745 6 w83627hf,w83781d,i2c_isa,i2c_i801,i2c_dev,i2c_ec
然后我們用CentOS sensors的命令就可以了:
- [root@securitycn ~]# sensors
- w83627hf-isa-0290
- Adapter: ISA adapter
- VCore 1: +3.33 V (min = +0.00 V, max = +0.00 V) ALARM
- VCore 2: +3.36 V (min = +0.00 V, max = +0.00 V) ALARM
- +3.3V: +0.93 V (min = +3.14 V, max = +3.46 V) ALARM
- +5V: +5.11 V (min = +4.73 V, max = +5.24 V)
- +12V: +4.56 V (min = +10.82 V, max = +13.19 V) ALARM
- -12V: -7.10 V (min = -13.18 V, max = -10.88 V) ALARM
- -5V: -1.93 V (min = -5.25 V, max = -4.75 V) ALARM
- V5SB: +5.51 V (min = +4.73 V, max = +5.24 V) ALARM
- VBat: +0.02 V (min = +2.40 V, max = +3.60 V) ALARM
- fan1: 0 RPM (min = 2732 RPM, div = 2) ALARM
- fan2: 0 RPM (min = 0 RPM, div = 2)
- fan3: 0 RPM (min = 0 RPM, div = 2)
- temp1: +38癈 (high = +50癈, hyst = +45癈) sensor = thermistor
- temp2: +33.5癈 (high = +80癈, hyst = +75癈) sensor = thermistor
- temp3: +33.5癈 (high = +80癈, hyst = +75癈) sensor = thermistor
- vid: +0.000 V (VRM Version 10.0)
- alarms:
- beep_enable:
- Sound alarm enabled
這里我們可以看到溫度還沒有相對應CPU,我們主要稍微修改一下/etc/sensors.conf就可以了,不過其實都不用我們自己去動手,一般我們都可以從主板生產商那里下載到配置文件。通過CentOS sensors我們就可以得到主板溫度,CPU電壓,風扇轉速這些信息。我們可以根據(jù)這些數(shù)據(jù)來監(jiān)察系統(tǒng)的運行情況來預防系統(tǒng)的問題。
接下來讓它和MRTG整合在一起吧
- [root@securitycn ~]# cd /usr/local/mrtg/bin
- [root@securitycn ~]# vi temp.sh
- #內容如下
- #!/bin/bash
- cputemp=`/usr/bin/sensors | grep temp1 |awk '{print $2}'|cut -c 2-4` #這句是說找出有temp1那一行,印出第二個列的2-4個字
- systemp =`/usr/bin/sensors | grep temp2 |awk '{print $2}'|cut -c 2-5` 不用解釋了吧
- echo $cputemp
- echo $systemp
- # the uptime
- uptime | sed 's:^.* up \(.*\), [0-9][0-9]* users.*$:\1:'
- # my name
- uname -n
- [root@securitycn ~]# chmod +x temp.sh 改成可執(zhí)行
- [root@securitycn ~]# ./temp.sh 試試看有沒有問題
- 39
- 33.5
- 15:36:19 up 22:28, 1 user, load average: 0.04, 0.09, 0.04
- securitycn
CentOS sensors再來寫下面的文件
- [root@securitycn ~]# cd ../etc/
- [root@securitycn ~]# vi temp.cfg
- WorkDir: /data1/usr/apache/htdocs/mrtg/temp/
- Target[index]: `/usr/local/mrtg/bin/temp.sh`
- MaxBytes[index]:80
- Options[index]: gauge, nopercent, growright
- YLegend[index]: Temp (度)
- ShortLegend[index]: 度
- LegendO[index]: 系統(tǒng)溫度;
- LegendI[index]: CPU溫度;
- Title[index]: 系統(tǒng)溫度表
- PageTop[index]: <H1>主機溫度表</H1>
[root@securitycn ~]# /usr/local/mrtg/bin/mrtg /usr/local/mrtg/etc/temp.cfg執(zhí)行3次就不報錯了然后加入到crontab里面*/5 * * * * /usr/local/mrtg/bin/mrtg /usr/local/mrtg/etc/temp.cfgPageTop[index]: <H1>主機溫度表
【編輯推薦】