2010年7月7日水曜日

snmpで独自(特定)のプログラム実行結果を取得する

どうも、俺@仕事中です。

今日はsnmpで独自で作成したプログラムの実行結果を取得する方法についてメモです。
snmpd.confに
# vim snmpd.conf
exec foo_program /usr/local/bin/php /etc/snmp/bin/foo.php
exec bar_program /usr/local/bin/php /etc/snmp/bin/bar.php
とし、/etc/snmpd/bin以下に実行プログラムを書きます。
2つ書いたのは、例えばMRTGでデータ取得する場合は2つのデータを必要とするからです。
それぞれのプログラムは適当に
<?php print 10. "\n";
みたいにしておきます。

この場合、snmpでは
.1.3.6.1.4.1.2021.8.1.101.1 /etc/snmp/bin/foo.phpの実行結果
.1.3.6.1.4.1.2021.8.1.101.2 /etc/snmp/bin/bar.phpの実行結果
を取得できます。
一番最後の「1」は、snmpd.confに書いた上からの順番です。

ちなみに
.1.3.6.1.4.1.2021.8.1.100.1 /etc/snmpd/bin/foo.phpの戻り値
.1.3.6.1.4.1.2021.8.1.100.2 /etc/snmpd/bin/bar.phpの戻り値
が取得できます。

テストで
# snmpwalk -v 1 host_name -c community_name .1.3.6.1.4.1.2021.8.1.101.1
10
# snmpwalk -v 1 host_name -c community_name .1.3.6.1.4.1.2021.8.1.101.2
10
で確認してください。

以上でええええええええええす。

0 件のコメント: