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.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にデフォルトですべてのモジュールをロードさせる方法」だと思います。