1: 2010-11-26 (Fri) 00:52:50 maruo source Cur: 2010-11-26 (Fri) 01:41:50 maruo source
Attached file: cputemp.pl, Attached file: hddtemp.pl
Line 7: Line 7:
*インストール [#yfb0c6d2] *インストール [#yfb0c6d2]
-**net-snmp [#x548bdb6] +これは簡単ですわ。 
-**CACTI [#g85be85e]+ # emerge net-snmp
*設定 [#k55b7830] *設定 [#k55b7830]
-**net-snmp [#ffff478f] +これには、/etc/snmp/snmpd.confを編集いたします。snmpd.confの設定にはある段階があります。まず最低限の設定項目はこいつら。 
-**CACTI [#xb6932fd]+:com2sec|SNMPでのアクセスを許可するホストとコミュニティ名(合言葉) 
 +:group|com2secで定義したホストのアクセスプロトコル(SNMPv1/SNMPv2c/SNMPv3) 
 +:view|上記グループにアクセス許可するMIBオブジェクト 
 +:access|上記グループのアクセス許可属性(認証/読み書き等) 
 +さて、こんなふうに設定します 
 + #           ラベル    ホスト名(IPアドレス)    コミュニティ名 
 + com2sec local    localhost                local 
 + #       グループ名    プロトコル(この例はSNMPv2c    ラベル 
 + group MyROGroup        v2c                            local 
 + # 全てのMIBにアクセス出来る設定 
 + view all    included  .1                              80 
 + #          グループ名    ??    ??          認証      ??      読み  書き    ?? 
 + access MyROGroup ""      any      noauth    exact  all    none  none 
 + #どこにあるか識別名を書いておく 
 + syslocation anywhere 
 + #管理者名とかの識別名を書いておく 
 + syscontact foovar <foovar@anywhere.jp> 
 + 
 +ここまで書いて 
 + # /etc/init.d/snmpd start 
 +すると、Linuxで取得できるMIBがGet出来たりします。こんな感じ 
 + # snmpwalk -v 2c -c local localhost system 
 + SNMPv2-MIB::sysDescr.0 = STRING: Linux someHost 2.6.XX #1 XXXXXX 
 + SNMPv2-MIB::sysObjectID.0 = OID: NET-SNMP-MIB::netSnmpAgentOIDs.10 
 + DISMAN-EVENT-MIB::sysUpTimeInstance = Timeticks: (18562973) 2 days, 3:33:49.73 
 + SNMPv2-MIB::sysContact.0 = STRING: foovar <foovar@anywhere.jp> 
 + SNMPv2-MIB::sysName.0 = STRING: someHostname 
 + SNMPv2-MIB::sysLocation.0 = STRING: anywhere 
 +                                     . 
 +                                     . 
 +                                     .
*カスタマイズ [#tdcbac53] *カスタマイズ [#tdcbac53]
-**CACTI付属のテンプレートを使ってみる [#m6f55e43+**CPU温度が取れるようにしてみる [#yea8c670] 
-**オリジナルのデータで、グラフを作ってみる [#g98e33dd]+まず、lm_sensorsとかをインストールして、サーバの情報が取れるようにしてみてね。[[ここ>GentooLinuxな生活/サーバー監視方法で悩む#f89d78bf]]参照。で、さらに{{cputemp.pl,CPU温度取得するシェル}}をつくってみます。ここまで良いでしょうかね。 
 +このシェルを実行してみると、まんま温度が表示されます。さて、ここで、snmpd.confを編集します。 
 + exec cputemp /usr/local/bin/cputemp.pl 
 +こんな行追加。でsnmpd再起動。そうすると…あるMIBをgetすると、このシェルを実行してくれるようになるのですよ。 
 + #  snmpwalk -v 2c -c local localhost .1.3.6.1.4.1.2021.8 
 + UCD-SNMP-MIB::extIndex.1 = INTEGER: 1 
 + UCD-SNMP-MIB::extNames.1 = STRING: cputemp 
 + UCD-SNMP-MIB::extCommand.1 = STRING: /usr/local/bin/cputemp.pl 
 + UCD-SNMP-MIB::extResult.1 = INTEGER: 0 
 + UCD-SNMP-MIB::extOutput.1 = STRING: 35        ←これが温度 
 + UCD-SNMP-MIB::extErrFix.1 = INTEGER: noError(0) 
 + UCD-SNMP-MIB::extErrFixCmd.1 = STRING: 
 +ね。なかなか面白いでしょう。 
 + 
 +**HDD温度を取れるようにしてみる [#y0fd8066] 
 +今度は、smartmontoolをインストールして、サーバの情報が取れるようにしてみてね。[[ここ>GentooLinuxな生活/サーバー監視方法で悩む#b25ea45e]]参照。さらに{{hddtemp.pl,HDD温度取得するシェル}}をつくってみます。このシェルに、引数として、温度を取得したいHDDデバイス名(/dev/sdaとか)を指定すると、指定したHDDデバイスの温度が取得できます。 
 +で、同じようにsnmpd.confに追加する。 
 + exec hddtemp /usr/local/bin/hddtemp.pl /dev/sda 
 +で、snmpd再起動。するってと 
 + #  snmpwalk -v 2c -c local localhost .1.3.6.1.4.1.2021.8.1.101 
 + UCD-SNMP-MIB::extOutput.1 = STRING: 35  ←さっきのCPU温度 
 + UCD-SNMP-MIB::extOutput.2 = STRING: 39  ←追加したHDD温度 
 + 
 +というようにHDDの温度も取得できましたね。 
 + 
 +こんなふうに、外部コマンド実行もできます。また、HDDの容量がある設定値を超えたらアラームとか、指定したプロセスがいるかを監視するとか、loadaverageの設定値を超えたらアラームなど、いろいろと機能があります。必要に応じて設定してみてくださいね~


Front page   Diff Backup Copy Rename ReloadPrint View   New Page Page list Search Recent changes   Help   RSS of recent changes (RSS 1.0) RSS of recent changes (RSS 2.0) RSS of recent changes (RSS Atom) Powered by xpWiki
Counter: 7513, today: 2, yesterday: 0
ページ内検索

ログイン

ユーザー名:


パスワード:





パスワード紛失

メインメニュー

サブメニュー
自宅鯖計画

Gentoo Linuxな生活

玄箱HGにGentoo格闘記

航空ショーへ行こう

モータースポーツな世界

奥深き写真の世界への誘い

我思う ゆえに我あり



携帯用QRコード