私のfreebsdボックスには、net-snmp-5.5_4パケットからのsnmpdデーモンがあります。
Snmpd.confファイルに私は持っています:
extend .1.3.6.1.4.1.2021.2 inpt /usr/bin/Perl /usr/local/etc/snmp/mpdinput.pl
ここで、mpdinput.plは、mpd5-ngネットワークインターフェイスから入力オクテットを返すスクリプトです。
この値を読んでそのようなグラフをプロットするサボテン:
グラフに赤い線を追加しました。
マークされた場所で、snmpdは結果をキャッシュし、前の値を返します。そのため、rrdtoolはゼロアクティビティをプロットします。そしてそれは私にとって問題です。
結果がsnmpdにキャッシュされないようにするにはどうすればよいですか?
snmpのドキュメントによると;
ʻextend [MIBOID] NAME PROG ARGSは、execディレクティブと同じように機能しますが、いくつかの改善が加えられています。 MIBテーブル(nsExtendConfigTableなど)はNAMEトークンによってインデックスが付けられるため、構成ファイルからエントリが読み取られる順序の影響を受けません。 2つの結果テーブルがあります。1つ(nsExtendOutput1Table)には終了ステータス、各拡張エントリの最初の行と完全な出力(単一の文字列として)が含まれ、もう1つ(nsExtendOutput2Table)には一連の個別の行として完全な出力が含まれます。 MIBOIDが指定されている場合、構成テーブルと結果テーブルはこの時点でOIDツリーにルート化されますが、それ以外はまったく同じように構造化されます。つまり、複数の個別の拡張ディレクティブで指定できます。競合することなく、同じMIBOIDルート。
終了ステータスと出力はエントリごとに個別にキャッシュされ、nsCacheTableを使用してクリア(およびキャッシュ動作を構成)できます。 `
また、ここもご覧ください。 http://www.fineconnection.com/How_to_set_the_net-snmp_agent_update_or_counter_refresh_interval
Perlスクリプトをsnmpdの拡張機能として使用できる場合は、snmpdを完全にスキップして、Cactiの直接データソースとしても使用できるはずです。