VineLinux4.x/サーバ管理/MRTGに監視項目追加 のバックアップ(No.2)
- バックアップ一覧
- 差分 を表示
- 現在との差分 を表示
- ソース を表示
- VineLinux4.x/サーバ管理/MRTGに監視項目追加 へ行く。
- 1 (2009-10-02 (金) 18:55:14)
- 2 (2009-10-02 (金) 19:58:44)
- 3 (2009-10-02 (金) 22:24:09)
ハードウェアの温度監視 †
HDD温度の取得 †
HDDのSMART値から温度を取得するためにsmartmontoolsをインストールします。
# apt-get install smartmontools
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 : : 194 Temperature_Celsius 0x0002 148 148 000 Old_age Always - 37 (Lifetime Min/Max 15/56) :
194 Temperature_Celsius・・・が表示されればOKです。右側の37という数字が現在のHDD温度です。
CPU温度の取得(IBM Thinkpad X23の場合) †
CPUの温度が取得できるか確認。
# cat /proc/acpi/ibm/thermal temperatures: 45 44 43 0 0 0 0 0
45という数字が現在のCPU温度です。
温度取得スクリプトの作成 †
/usr/sbin/smartctl -A /dev/hda および、cat /proc/acpi/ibm/thermal の結果から温度値のみを取得するスクリプトを作成します。
# vi /usr/local/bin/mrtg/hw_temp.sh
新規に作成します。
#!/bin/sh /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/hw_temp.sh
実行してみます。
# /usr/local/bin/mrtg/hw_temp.sh 37 45
それぞれの数値が帰ってくればOK。
MRTGへの追加 †
mrtg.cfgを編集します。
# vi /etc/mrtg.cfg
追加
### 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を実行します。
# /usr/bin/mrtg /etc/mrtg.cfg
インデックスページを作成します。
# indexmaker --columns=1 /etc/mrtg.cfg > /home/httpd/html/mrtg/index.html
バッテリ状態の監視(ACPI対応パソコンの場合) †
バッテリ状態の確認 †
バッテリの状態が取得できるか確認します。
# 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: が現在のバッテリ電圧です。
バッテリの情報を確認します。
# 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: がこのバッテリの定格容量(最大値)だと思われます。
バッテリ状態取得スクリプトの作成 †
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
実行してみます。
# /usr/local/bin/mrtg/batt_stat.sh 37280 12413
それぞれの数値が帰ってくればOK。
MRTGへの追加 †
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]: には先ほど調べたバッテリの定格容量(最大値)を記述します。
MRTGを実行します。
# /usr/bin/mrtg /etc/mrtg.cfg
インデックスページを作成します。
# indexmaker --columns=1 /etc/mrtg.cfg > /home/httpd/html/mrtg/index.html