サボテン:スマートモニタリング





情報キャリアの「物理的な死」の結果としてのデータ回復は、システム管理者の人生で最も楽しい娯楽ではありません。 したがって、長時間にわたって状況を修正し、大量のデータがある場合は、監視を整理することでそれを防止することをお勧めします。



ハードドライブとソリッドステートドライブには、自己診断を可能にする組み込み技術(SMART)があります。

SMARTは、自己診断装置が組み込まれたハードドライブの状態を評価するための技術であり、故障の時間を予測するためのメカニズムです。



SMARTはすべての病気の万能薬ではありませんが、得られたデータを使用して特定の情報や計画を期日どおりに実行できるため、生活が少し楽になります。



ソースサーバーは、ファイルストレージとして機能するLinux CentOS 6です。



Linuxには、 「Smartmontools」と呼ばれるパッケージのグループが含まれていますこれは、ディスクの状態をチェックするためのユーティリティのコレクションです。 通常のSMARTテストおよび監視用にsmartdデーモンを直接構成することは、この記事の範囲を超えており、興味のある方はインターネット上で構成例を見つけることができます。



重要なパラメーターのグラフィック表示に興味がありますが、その異常な変化は視覚的にしか見ることができない場合があります。 そして、 Cactiはこれを支援してくれます。



1)開始するには、smartmontoolsパッケージを配置します。

yum provides "smartctl*" # 1:smartmontools-5.43-1.el6.x86_64 : Tools for monitoring SMART capable hard disks # yum install smartmontools
      
      





インストール後、ディスク設定を確認できます。

 smartctl -a DEVICE
      
      





原則として、「DEVICE」の代わりに、/ dev / sda(最初のドライブ)、/ dev / sdb(2番目)などがあります。

ドライブにSMARTを強制する必要がある場合があります。

 smartctl -s on DEVICE
      
      





現在、ボックス内のドライブが必要な情報を提供できるという事実にもかかわらず、SMARTテクノロジーはUSBドライブでは使用できません。



SMARTの取得には特定の特権が必要です。原則として、SNMPdデーモンがないため、中間データの収集に関する主な作業はCRONスクリプトを介して行われます

 cat /etc/snmp/smart-cronjob # where to keep the files STORE=/tmp/snmp # update smart parameters for devfull in /dev/sd?; do dev=`basename $devfull` /usr/sbin/smartctl -n idle -a $devfull >$STORE/smart-$dev.TMP mv $STORE/smart-$dev.TMP $STORE/smart-$dev done
      
      





ディレクトリ/ tmp / snmpを作成し、CRONで起動することを忘れないでください

 cat /etc/crontab |grep smart */5 * * * * root /etc/snmp/smart-cronjob
      
      





このコードは、デバイス「/ dev / sd?」を探しています。 (/ dev / sda、/ dev / sdbなど)、SMARTデータをファイルに書き込もうとします。

 #ll /dev/sd? brw-rw---- 1 root disk 8, 0 Oct 25 14:42 /dev/sda brw-rw---- 1 root disk 8, 16 Oct 25 14:42 /dev/sdb brw-rw---- 1 root disk 8, 32 Oct 25 14:42 /dev/sdc brw-rw---- 1 root disk 8, 48 Oct 25 14:42 /dev/sdd brw-rw---- 1 root disk 8, 64 Oct 25 14:42 /dev/sde brw-rw---- 1 root disk 8, 80 Oct 25 14:42 /dev/sdf
      
      





すべてのSMARTパラメーターにはシリアル番号があります。 各パラメーターを単独で検討する代わりに、対応する番号付けがPERLスクリプトで使用されます。





SNMPのSMARTパラメーターを抽出するPerlスクリプト(スマートジェネリック)



権限を実行するスクリプトを公開します。

 chmod +  /etc/snmp/smart-generic
      
      





このスクリプトは、SMARTパラメーター番号を受け入れ、このパラメーターの現在の値とごみ箱(しきい値)の差を表示します。



製造元、モデル、またはファームウェアのバージョンに応じて、ごみ箱が異なる場合があることに注意してください。 したがって、値自体に大きな関心はありませんが、異常な変動や減少傾向を考慮する必要があります。 温度については、通常、瞬時値を取得する必要があります。



snmpd.conf を追加します (「自分の」インジケーターを制御する場合は他の行も追加します。パラメーターの一般的な考え方は、 Wikipedia入手できます)。

 extend smartdevices /etc/snmp/smart-generic devices extend smartdescriptions /etc/snmp/smart-generic description extend smart1 /etc/snmp/smart-generic 1 extend smart3 /etc/snmp/smart-generic 3 extend smart4 /etc/snmp/smart-generic 4 extend smart5 /etc/snmp/smart-generic 5 extend smart7 /etc/snmp/smart-generic 7 extend smart9 /etc/snmp/smart-generic 9 extend smart10 /etc/snmp/smart-generic 10 extend smart12 /etc/snmp/smart-generic 12 extend smart170 /etc/snmp/smart-generic 170 extend smart171 /etc/snmp/smart-generic 171 extend smart172 /etc/snmp/smart-generic 172 extend smart177 /etc/snmp/smart-generic 177 extend smart178 /etc/snmp/smart-generic 178 extend smart179 /etc/snmp/smart-generic 179 extend smart180 /etc/snmp/smart-generic 180 extend smart181 /etc/snmp/smart-generic 181 extend smart182 /etc/snmp/smart-generic 182 extend smart183 /etc/snmp/smart-generic 183 extend smart184 /etc/snmp/smart-generic 184 extend smart187 /etc/snmp/smart-generic 187 extend smart189 /etc/snmp/smart-generic 189 extend smartR190 /etc/snmp/smart-generic R190 extend smartR194 /etc/snmp/smart-generic R194 extend smart195 /etc/snmp/smart-generic 195 extend smart196 /etc/snmp/smart-generic 196 extend smart199 /etc/snmp/smart-generic 199 extend smart203 /etc/snmp/smart-generic 203 extend smart226 /etc/snmp/smart-generic 226 extend smart230 /etc/snmp/smart-generic 230 extend smart231 /etc/snmp/smart-generic 231 extend smart232 /etc/snmp/smart-generic 232 extend smart233 /etc/snmp/smart-generic 233 extend smart235 /etc/snmp/smart-generic 235 extend smart241 /etc/snmp/smart-generic 241
      
      







デーモンを再起動し、出力を確認します(「SNMP_Community」と「host_name」を置き換える必要があります)。

 snmpwalk -v2c -c SNMP_Community host_name NET-SNMP-EXTEND-MIB::nsExtendOutLine NET-SNMP-EXTEND-MIB::nsExtendOutLine."smart1".1 = STRING: 101 NET-SNMP-EXTEND-MIB::nsExtendOutLine."smart1".2 = STRING: 101 ... NET-SNMP-EXTEND-MIB::nsExtendOutLine."smartdevices".1 = STRING: sda NET-SNMP-EXTEND-MIB::nsExtendOutLine."smartdevices".2 = STRING: sdb NET-SNMP-EXTEND-MIB::nsExtendOutLine."smartdescriptions".1 = STRING: WDC WD2003FYYS-... [01.01D01] 2 TB NET-SNMP-EXTEND-MIB::nsExtendOutLine."smartdescriptions".2 = STRING: WDC WD2003FYYS-... [01.01D01] 2 TB
      
      





2.サボテンテンプレート



アーカイブには、1つのチャートのすべてのパラメーターを含むメインテンプレートが含まれます。 温度は別のグラフに表示されます。



動作するには、disk_smart.xmlマッピングファイルを/ resource / snmp_queries /に移動する必要があります

cacti_host_template_smart_parameters.xmlをcactusにインポートします。







すべてが正しく構成されている場合、デバイスの関連データクエリに「ディスクSMARTパラメーター」を追加すると、ポーリングされたオブジェクトのステータスが表示されます。



グラフを直接作成するときは、正しいテンプレートを選択することを忘れないでください。 デフォルトでは、グラフィックはSSDドライブ(AGILITY3)用に構築されていますが、これは完全に正しいわけではありません。





3.グラフの例:











この記事は、CactiのSMART統計に基づいています(SNMP経由)



All Articles