VineLinux4.x/サーバ管理/MRTGに監視項目追加 のバックアップの現在との差分(No.1)


  • 追加された行はこの色です。
  • 削除された行はこの色です。
* 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/hc_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/hc_temp.sh

**mrtg.cfgの編集 [#r0504e32]
実行してみます。
 # /usr/local/bin/mrtg/hc_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>
 ### HDD & CPU Temperature ###
 Target[hctemp]: `/usr/local/bin/mrtg/hc_temp.sh`
 MaxBytes[hctemp]: 60
 Options[hctemp]: gauge, growright, absolute, integer, nopercent, noinfo
 Unscaled[hctemp]: dwmy
 YLegend[hctemp]: Temperature
 ShortLegend[hctemp]: deg.
 LegendI[hctemp]: HDD TEMP;
 LegendO[hctemp]: CPU TEMP;
 Legend1[hctemp]: HDD温度
 Legend2[hctemp]: CPU温度
 Title[hctemp]: HDD & CPU 温度
 PageTop[hctemp]: <H1>HDD & CPU温度</H1>
>MaxBytes[hctemp]: には温度の最大値を記述します。

**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