差分

この文書の現在のバージョンと選択したバージョンの差分を表示します。

この比較画面にリンクする

両方とも前のリビジョン 前のリビジョン
次のリビジョン
前のリビジョン
management:centreon:hddtemp:start [2011/03/15 16:19]
yuki
management:centreon:hddtemp:start [2021/09/04 20:44]
yuki 削除
ライン 16: ライン 16:
   - CentreonのWebUIでcommandを登録。   - CentreonのWebUIでcommandを登録。
   - 同様に監視対象となるホストを選択して、Servicesを登録。   - 同様に監視対象となるホストを選択して、Servicesを登録。
-  - 終わり。+  - Nagios再起動して終わり。
  
 ===== 詳細 ===== ===== 詳細 =====
ライン 28: ライン 28:
   case $1 in   case $1 in
     name)       echo $dev;;     name)       echo $dev;;
-    temprature) smartctl -A $dev | awk '​$1=="​194"​ {print $10}';;​+    temprature) ​/​usr/​local/​sbin/​smartctl -A $dev | awk '​$1=="​194"​ {print $10}';;​
   esac   esac
 done</​code>​ done</​code>​
ライン 34: ライン 34:
   * snmpd.confにextend行を記載(今回は最終行に2行追加)。   * snmpd.confにextend行を記載(今回は最終行に2行追加)。
     * <​code>#​ cat snmpd.conf | tail -2     * <​code>#​ cat snmpd.conf | tail -2
-extend ataDevice /​usr/​local/​share/​snmp/​ata_device_temperature.sh name +extend ataDevice /​usr/​local/​share/​snmp/​ata_device_temprature.sh name 
-extend ataDeviceTemperature /​usr/​local/​share/​snmp/​ata_device_temperature.sh temprature</​code>​ +extend ataDeviceTemperature /​usr/​local/​share/​snmp/​ata_device_temprature.sh temprature</​code>​ 
-    * snmpdの再起動 +  * snmpdの再起動 
-      * <​code>#​ /​usr/​local/​etc/​rc.d/​snmpd restart</​code>​+    * <​code>#​ /​usr/​local/​etc/​rc.d/​snmpd restart</​code>​
  
-==== MIB値の確認 ====+==== 2.MIB値の確認 ====
  
   * nsExtensionsは1.3.6.1.4.1.8072.1.3なので、snmpwalkで一通り見てみる。   * nsExtensionsは1.3.6.1.4.1.8072.1.3なので、snmpwalkで一通り見てみる。
     * http://​www.oidview.com/​mibs/​8072/​NET-SNMP-AGENT-MIB.html     * http://​www.oidview.com/​mibs/​8072/​NET-SNMP-AGENT-MIB.html
-  * snmpwalk -v 1 -c private 127.0.0.1 .1.3.6.1.4.1.8072.1.3 +  * コマンド結果を一部抜粋 
-    * 一部抜粋 +    * <​code># ​snmpwalk -v 1 -c private 127.0.0.1 .1.3.6.1.4.1.8072.1.3 
-    * <​code>​NET-SNMP-EXTEND-MIB::​nsExtendOutNumLines."​ataDevice"​ = INTEGER: 4+NET-SNMP-EXTEND-MIB::​nsExtendOutNumLines."​ataDevice"​ = INTEGER: 4
 NET-SNMP-EXTEND-MIB::​nsExtendOutNumLines."​ataDeviceTemperature"​ = INTEGER: 4 NET-SNMP-EXTEND-MIB::​nsExtendOutNumLines."​ataDeviceTemperature"​ = INTEGER: 4
 NET-SNMP-EXTEND-MIB::​nsExtendResult."​ataDevice"​ = INTEGER: 0 NET-SNMP-EXTEND-MIB::​nsExtendResult."​ataDevice"​ = INTEGER: 0
ライン 59: ライン 59:
   * 値にシェルスクリプトのエラー値が入っている場合は、スクリプトを見直します。   * 値にシェルスクリプトのエラー値が入っている場合は、スクリプトを見直します。
   * その後、-Onオプションを付与してOIDを数値形式で出力し、Centreon用のスクリプトに記載します。   * その後、-Onオプションを付与してOIDを数値形式で出力し、Centreon用のスクリプトに記載します。
-    * <​code>​snmpwalk -v 1 -On -c private 127.0.0.1 .1.3.6.1.4.1.8072.1.3</​code>​+    * <​code>​snmpwalk -v 1 -On -c private 127.0.0.1 .1.3.6.1.4.1.8072.1.3</​code>​
  
-==== Centreon用のシェルスクリプト作成 ====+==== 3.Centreon用のシェルスクリプト作成 ====
  
   * 参考文献   * 参考文献
ライン 74: ライン 74:
       * パイプの後ろ側はグラフを描画するときに使用。グラフの要素名=値となるように記述。複数ある場合は半角スペースで区切る。       * パイプの後ろ側はグラフを描画するときに使用。グラフの要素名=値となるように記述。複数ある場合は半角スペースで区切る。
   * 今回作成したスクリプト   * 今回作成したスクリプト
-    * <​code>#​!/​usr/​bin/​perl -w+    * <​code>​# cat check_snmp_hddtemp.pl 
 +#​!/​usr/​bin/​perl -w
 #################################################################​ #################################################################​
 # #
ライン 172: ライン 173:
   if ( isnnum($o_warn) || isnnum($o_crit))   if ( isnnum($o_warn) || isnnum($o_crit))
     { print "​Numeric value for warning or critical !\n"; print_usage();​ exit $ERRORS{"​UNKNOWN"​}}     { print "​Numeric value for warning or critical !\n"; print_usage();​ exit $ERRORS{"​UNKNOWN"​}}
-  if (($o_crit!= 0) && ​($o_warn > $o_crit))+  if ($o_warn > $o_crit)
     { print "​warning <= critical ! \n"; print_usage();​ exit $ERRORS{"​UNKNOWN"​}}     { print "​warning <= critical ! \n"; print_usage();​ exit $ERRORS{"​UNKNOWN"​}}
   if (!defined($o_timeout)) {$o_timeout=5;​}   if (!defined($o_timeout)) {$o_timeout=5;​}
ライン 266: ライン 267:
 print "​$output \n"; print "​$output \n";
 exit $ERRORS{$n_status};</​code>​ exit $ERRORS{$n_status};</​code>​
 +
 +  * CentreonにCommand登録する前に、手元で動作確認しておいたほうがいいよ。
 +    * <​code>​./​check_snmp_hddtemp.pl -H 127.0.0.1 -C private -w 46 -c 50 -f</​code>​
 +
 +==== 4.CentreonにCommandの登録 ====
 +
 +  * 言葉だけ。
 +  * Configuration -> Commands -> Add
 +    * Command Name(自由に)
 +      * <​code>​hddtemp</​code>​
 +    * Command Line(動作確認用のコマンドと同じになるように)
 +      * <​code>​$USER1$/​check_snmp_hddtemp.pl -H $HOSTADDRESS$ -C $USER2$ -w $ARG1$ -c $ARG2$ -f</​code>​
 +      * $USER1$,​$USER2$は、Configure -> Nagios -> resourcesに設定されてる。
 +      * $HOSTADDRESS$は、Centreonの設定項目から自動的に引っ張ってくる。
 +        * 異なるホストを監視するのに、Command2つ作るのは面倒でゲソ。
 +      * $ARG1$,​$ARG2$は、下記のArgument Exampleに示す値を、Services設定時に入れる。
 +        * 監視ホストによって値を変えたくなるでゲソ?
 +    * Argument Example
 +      * 空でもいいけど、$ARGn$に入る値の書き方を示すので書いていたほうがいい。
 +      * "​!"​で区切って、順次$ARGn$($ARG1$,​$ARG2$...)に代入されるよ。
 +      * <​code>​!46!50</​code>​
 +    * $HOSTADDRESS$
 +      * 空でいい
 +    * Command Type
 +      * とりあえず"​Check"​
 +    * Graph template
 +      * 空でいい
 +
 +==== 5.Centreonに監視Servicesの登録 ====
 +
 +  * Configuration -> Services -> Add
 +    * Description : 適当な名前
 +    * Service Template : generic-service
 +      * 別にこれでなくてもいいけど。
 +    * Check Command : hddtemp
 +      * さっき作った名前
 +    * Args : 青い矢印クリック
 +      * さっき作った"​!46!50"​が入力されるよ。
 +    * Relations(上のタブにあるでゲソ)
 +      * Linked with Hosts : 対象ホストを選択してAdd
 +  * Saveして終わり。
 +
 +==== 6.Nagiosの再起動 ====
 +
 +  * Configuration -> Nagios
 +  * 下記2つにチェックを追加して、"​Export"​
 +    * Move Export Files
 +    * Restart Nagios
 +
 +==== 7.動いてる図 ====
 +
 +{{:​image:​centreon:​centreon_hddtemp_02.png|}}
 +
CC Attribution-Noncommercial-Share Alike 4.0 International
Driven by DokuWiki Recent changes RSS feed Valid CSS Valid XHTML 1.0