- 追加された行はこの色です。
- 削除された行はこの色です。
* HDDの温度監視 [#e151dfd6]
* ハードウェアの温度監視 [#e151dfd6]
** smartmontoolsのインストール [#q5814fc0]
** HDD温度の取得 [#a06e115c]
HDDのSMART値から温度を取得するためにsmartmontoolsをインストールします。
# apt-get install smartmontools
**/dev/hdaの情報を表示 [#gb765256]
# smartctl -a /dev/hda
smartctl version 5.33 [i686-pc-linux-gnu] Copyright (C) 2002-4 Bruce Allen
HDDの情報を確認します(/dev/hdaは対象HDDに適宜変更)。
# smartctl -A /dev/hda
smartctl version 5.38 [i686-pc-linux-gnu] Copyright (C) 2002-8 Bruce Allen
Home page is http://smartmontools.sourceforge.net/
=== START OF READ SMART DATA SECTION ===
SMART Attributes Data Structure revision number: 16
Vendor Specific SMART Attributes with Thresholds:
ID# ATTRIBUTE_NAME FLAG VALUE WORST THRESH TYPE UPDATED WHEN_FAILED RAW_VALUE
:
:
193 Load_Cycle_Count 0x0012 100 100 050 Old_age Always - 248
194 Temperature_Celsius 0x0002 122 122 000 Old_age Always - 45 (Lifetime Min/Max 13/61)
196 Reallocated_Event_Count 0x0032 100 100 000 Old_age Always - 0
194 Temperature_Celsius 0x0002 148 148 000 Old_age Always - 37 (Lifetime Min/Max 15/56)
:
:
>194 Temperature_Celsius・・・が表示されればOKです。右側の45という数字が現在の温度です。
**温度取得スクリプトの作成 [#u7c449b9]
194 Temperature_Celsius・・・が表示されればOKです。右側の37という数字が現在のHDD温度です。
/usr/sbin/smartctl -A /dev/hdaの結果から温度の値のみをスクリプトで取得してMRTGに渡すことにします。
**CPU温度の取得(IBM Thinkpad X23の場合) [#pa45e2f5]
# vi /usr/local/bin/mrtg/hdd_temp.sh
>新規に作成します。
#!/bin/sh
/usr/sbin/smartctl -A /dev/hda|grep Temperature_Celsius|awk '{print $10}{print $10}'
MRTGは入力が2系統なためprintで同じデータを2つ出力しています。
実行権限を与えます。
# chmod 755 /usr/local/bin/mrtg/hdd_temp.sh
**mrtg.cfgの編集 [#xe3e4743]
# vi /etc/mrtg.cfg
>追加
### HDD Temperature ###
Target[htemp]: `/usr/local/mrtg-2/hdd_temp.sh`
MaxBytes[htemp]: 56
Options[htemp]: gauge, growright, absolute, integer, nopercent, noinfo
Unscaled[htemp]: dwmy
YLegend[htemp]: Temperature
ShortLegend[htemp]: deg.
LegendI[htemp]: TEMP
LegendO[htemp]: TEMP
Legend1[htemp]: HDD温度
Legend2[htemp]: HDD温度
Title[htemp]: HDDの温度
PageTop[htemp]: <H1>HDDの温度</H1>
**MRTG実行 [#na294628]
# /usr/bin/mrtg /etc/mrtg.cfg
**インデックスページの作成 [#xb3fa53f]
# indexmaker --columns=1 /etc/mrtg.cfg > /home/httpd/html/mrtg/index.html
*CPUの温度監視(IBM Thinkpad X23の場合) [#s7dcafae]
CPUの温度が取得できるか確認。
# cat /proc/acpi/ibm/thermal
temperatures: 45 44 43 0 0 0 0 0
45という数値が現在のCPU温度。
45という数字が現在のCPU温度です。
**温度取得スクリプトの作成 [#m3128b9d]
**温度取得スクリプトの作成 [#u7c449b9]
cat /proc/acpi/ibm/thermalの結果から温度の値のみをスクリプトで取得してMRTGに渡すことにします。
/usr/sbin/smartctl -A /dev/hda および、cat /proc/acpi/ibm/thermal の結果から温度値のみを取得するスクリプトを作成します。
# vi /usr/local/bin/mrtg/cpu_temp.sh
# vi /usr/local/bin/mrtg/hw_temp.sh
>新規に作成します。
#!/bin/sh
awk '{print int($2)}{print int($2)}' /proc/acpi/ibm/thermal
MRTGは入力が2系統なためprintで同じデータを2つ出力しています。
/usr/sbin/smartctl -A /dev/hda|grep Temperature_Celsius|awk '{print $10}'
awk '{print int($2)}' /proc/acpi/ibm/thermal
実行権限を与えます。
# chmod 755 /usr/local/bin/mrtg/cpu_temp.sh
# chmod 755 /usr/local/bin/mrtg/hw_temp.sh
**mrtg.cfgの編集 [#r0504e32]
実行してみます。
# /usr/local/bin/mrtg/hw_temp.sh
37
45
それぞれの数値が帰ってくればOK。
**MRTGへの追加 [#mfd8ed4c]
mrtg.cfgを編集します。
# vi /etc/mrtg.cfg
>追加
### CPU Temperature ###
Target[ctemp]: `/usr/local/bin/mrtg/cpu_temp.sh`
MaxBytes[ctemp]: 56
Options[ctemp]: gauge, integer, nopercent
Unscaled[ctemp]: dwmy
YLegend[ctemp]: Temperature
ShortLegend[ctemp]: deg.
LegendI[ctemp]: Temp
LegendO[ctemp]: Temp
Legend1[ctemp]: CPU温度
Legend2[ctemp]: CPU温度
Title[ctemp]: CPU 温度
PageTop[ctemp]: <H1>CPU 温度</H1>
### Hardware Temperature ###
Target[hwtemp]: `/usr/local/bin/mrtg/hw_temp.sh`
MaxBytes[hwtemp]: 56
Options[hwtemp]: gauge, growright, absolute, integer, nopercent, noinfo
Unscaled[hwtemp]: dwmy
YLegend[hwtemp]: Temperature
ShortLegend[hwtemp]: deg.
LegendI[hwtemp]: TEMP
LegendO[hwtemp]: TEMP
Legend1[hwtemp]: HDD温度
Legend2[hwtemp]: CPU温度
Title[hwtemp]: ハードウェア温度
PageTop[hwtemp]: <H1>ハードウェア温度</H1>
>MaxBytes[hwtemp]: には温度の最大値を記述します。
**MRTG実行 [#j3a33806]
MRTGを実行します。
# /usr/bin/mrtg /etc/mrtg.cfg
**インデックスページの作成 [#qc79fd2b]
インデックスページを作成します。
# indexmaker --columns=1 /etc/mrtg.cfg > /home/httpd/html/mrtg/index.html
*バッテリ状態の監視(ACPI対応パソコンの場合) [#d828f9ab]
**バッテリの状態が取得できるか確認。 [#i0d810b9]
**バッテリ状態の確認 [#xf7c7317]
バッテリの状態が取得できるか確認します。
# cat /proc/acpi/battery/BAT0/state
>
present: yes
capacity state: ok
charging state: charged
present rate: 0 mW
remaining capacity: 37310 mWh
present voltage: 12413 mV
remaining capacity: が現在のバッテリ容量、present voltage: が現在のバッテリ電圧です。
remaining capacity:が現在のバッテリ容量。present voltage:が現在のバッテリ電圧。
バッテリの情報を確認します。
**バッテリの情報を確認 [#hd0ea121]
# cat /proc/acpi/battery/BAT0/info
>
present: yes
design capacity: 43200 mWh
last full capacity: 37780 mWh
battery technology: rechargeable
design voltage: 10800 mV
design capacity warning: 2160 mWh
design capacity low: 432 mWh
capacity granularity 1: 1 mWh
capacity granularity 2: 1 mWh
model number: IBM-02K6846
serial number: 630
battery type: LION
OEM info: Panasonic
design capacity: がこのバッテリの定格容量(最大値)だと思われます。
design capacity:がこのバッテリの定格容量(最大値)だと思われます。
**バッテリ状態取得スクリプトの作成 [#j753f3ac]
cat /proc/acpi/battery/BAT0/stateの結果から、容量と電圧の値をスクリプトで取得してMRTGに渡すことにします。
# vi /usr/local/bin/mrtg/batt_stat.sh
>新規に作成します。
#!/bin/sh
grep remaining /proc/acpi/battery/BAT0/state | awk '{print int($3)}'
grep voltage /proc/acpi/battery/BAT0/state | awk '{print int($3)}'
実行権限を与えます。
# chmod 755 /usr/local/bin/mrtg/batt_stat.sh
**mrtg.cfgの編集 [#g60c17f4]
実行してみます。
# /usr/local/bin/mrtg/batt_stat.sh
37280
12413
それぞれの数値が帰ってくればOK。
**MRTGへの追加 [#l56cc18e]
mrtg.cfgを編集します。
# vi /etc/mrtg.cfg
>追加
### Battery State ###
Target[bstat]: `/usr/local/bin/mrtg/batt_stat.sh`
MaxBytes[bstat]: 43200
Options[bstat]: gauge, integer
Unscaled[bstat]: dwmy
YLegend[bstat]: Battery State
ShortLegend[bstat]:
kMG[bstat]: m,,k
LegendI[bstat]: capacity[Wh]
LegendO[bstat]: voltage[V]
Legend1[bstat]: バッテリ容量[Wh]
Legend2[bstat]: バッテリ電圧[V]
Title[bstat]: バッテリ状態
PageTop[bstat]: <H1>バッテリ状態</H1>
>
MaxBytes[bstat]: には先ほど調べたバッテリの定格容量(最大値)を記述します。
MaxBytes[bstat]:には先ほど調べたバッテリの定格容量(最大値)を入力します。
MRTGを実行します。
**MRTG実行 [#ic84d1f5]
# /usr/bin/mrtg /etc/mrtg.cfg
**インデックスページの作成 [#ec13ba84]
インデックスページを作成します。
# indexmaker --columns=1 /etc/mrtg.cfg > /home/httpd/html/mrtg/index.html
* コメント [#nb1a6c49]
#comment