- ソース を表示
- Gentoo Linuxな生活/SNMPで悩む へ行く。
1: 2010-11-26 (金) 00:52:50 maruo | 現: 2010-11-26 (金) 01:41:50 maruo 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の設定値を超えたらアラームなど、いろいろと機能があります。必要に応じて設定してみてくださいね~ |
- Gentoo Linuxな生活/SNMPで悩む のバックアップ一覧
- Gentoo Linuxな生活/SNMPで悩む のバックアップ差分(No. All)
- 1: 2010-11-26 (金) 00:52:50 maruo
- 現: 2010-11-26 (金) 01:41:50 maruo
- Attached file: cputemp.pl, Attached file: hddtemp.pl
ぺージ情報 | |
---|---|
ぺージ名 : | Gentoo Linuxな生活/SNMPで悩む |
ページ別名 : | 未設定 |
ページ作成 : | maruo |
閲覧可 | |
グループ : | すべての訪問者 |
ユーザー : | すべての訪問者 |
編集可 | |
グループ : | なし |
ユーザー : | なし |
Counter: 8477,
today: 2,
yesterday: 1