SNMP を使用して Linux サーバーのネットワークトラフィックを検索する場合。 ifOutOctetsを使用します。そしてifInOctets。 snmpget 要求の OID。これらのOIDはどこからデータを取得しますか?
これらのOIDのRFCを見てきましたが、まだよくわかりません。https://www.rfc-editor.org/rfc/rfc3635#section-3.2.5
答え1
時々違うよねifOutOctets
そして、その場合、ifInOctets
カーネルsnmpd
に問い合わせて(直接システムコールを介して確認することで)これを取得できます/proc/net/dev
。
他のOIDの場合は、外部コマンドを実行してデータを抽出して処理し、データを返すことでOIDを取得できます。例えばシェルスクリプトを使用したsnmpdの拡張いくつかの例を見てください。