web-dev-qa-db-ja.com

SNMP拡張が機能しない

Postgresql9.1レプリケーションを実行しているサーバーがあります。現在のレプリケーションラグを出力するスクリプトを作成しました(マスターは60秒ごとにUNIXタイムスタンプを挿入し、スレーブはそれを現在のタイムスタンプと比較します)。

私は追加しました

extend replag /usr/local/bin/check_lag_quietly.sh

to snmpd.conf、およびsnmpdサービスを再起動しましたが、ローカルホストまたはネットワーク上の別のマシンからホストをsnmpwalkすると、他のすべてのOIDが表示されますが、これは表示されません。
SNMPを実行する場合-

tom.oconnor@charcoal-black:~$ snmpget -v2c -cpublic dns-2 UCD-SNMP-MIB::extTable
UCD-SNMP-MIB::extTable = No Such Object available on this agent at this OID

次に、OIDも見つかりません。

Net-SNMPバージョン5.4.2.1、Ubuntu10.04。

5
Tom O'Connor

5.4.3を使用するDebianでは、次を追加することにより、snmpdはデフォルトですべてのモジュールをロードしないようです。

-I interface,ifTable,ifXTable,cpu,cpu_linux,hw_mem,extend,versioninfo,snmp_mib,ip,at,system_mib

snmpdのコマンドラインに(そこにある「extend」に注意してください)、次のことができます。

snmpwalk -Ou  -v 1 -c public localhost nsExtendOutput2Table

これはデフォルトの「extend」の例を返します。

enterprises.netSnmp.netSnmpObjects.nsExtensions.nsExtendObjects.nsExtendOutput2Table.nsExtendOutput2Entry.nsExtendOutLine."test1".1 = STRING: Hello, world!
enterprises.netSnmp.netSnmpObjects.nsExtensions.nsExtendObjects.nsExtendOutput2Table.nsExtendOutput2Entry.nsExtendOutLine."test2".1 = STRING: Hello, world!
enterprises.netSnmp.netSnmpObjects.nsExtensions.nsExtendObjects.nsExtendOutput2Table.nsExtendOutput2Entry.nsExtendOutLine."test2".2 = STRING: Hi there

これはあなたが望むものに近いです。

次のコマンドですべてのsnmpdモジュールのリストを取得できます。

snmpd -Dmib_init -H

ここでの本当の質問は、「snmpdにデフォルトですべてのモジュールをロードさせる方法」だと思います。

3
JasperWallace