メインコンテンツまでスキップ

SNMP (ネットワーク機器・UPS)

SNMP v2c — スイッチ・ルーター・UPS・サーバーなどのインフラ機器を読み取ります(UDP 161)。 PLC ではなく「工場を支える機器」を同じ画面で確認したいときに使用します。

状況どのカードを使うか
スイッチ・ルーター・UPS・サーバー・NASSNMP (このページ)
産業用PLCModbus TCP · OPC-UA
CNC工作機械MTConnect · FOCAS
これを使う理由

設備が停止した原因が設備ではなくネットワークや電源であることが多いです。UPSバッテリー 残量やスイッチポートのエラーを設備データと同じタイムラインに載せておくと、その判断が速くなります。


登録フォームの入力値​

入力欄何を書くか例
IPアドレス機器管理IP10.20.30.1
ポート標準 161161
収集周期ポーリング周期(ms)10000 (インフラ指標は長めに)

オプション​

オプションデフォルト説明
communitypublicSNMPコミュニティ文字列
request-timeout2000応答待ち(ms)
public のままにしないでください

読み取り専用でもコミュニティ文字列はパスワードです。機器で別途読み取り専用コミュニティを 作成して使用し、管理網の外で161が開かないようにしてください。


タグのPLCアドレス表記 — OID​

タグのPLCアドレス = OID(ドット表記)です。先頭の . はあってもなくても構いません。

OID説明
1.3.6.1.2.1.1.3.0sysUpTime — 機器が起動していた時間
1.3.6.1.2.1.1.5.0sysName — 機器名
1.3.6.1.2.1.2.2.1.10.1ifInOctets.1 — 1番ポート受信バイト
1.3.6.1.2.1.2.2.1.8.1ifOperStatus.1 — 1番ポートリンクステータス

🔴 末尾のインデックスを忘れないでください。 スカラー値は .0、テーブル値は .<인덱스> が 付きます。 1.3.6.1.2.1.1.3 は値ではなく「枝」なので空の値が返ります。

UPS・PDUのようなメーカー固有指標は、そのメーカーのMIBドキュメントにOIDが記載されています。

値がどのように入るか​

SNMPタイプ入ってくる値
INTEGER · Counter32 · Gauge32 · TimeTicks数値
OCTET STRING文字列 (出力不可文字ならhex)
OIDドット表記文字列
IpAddressa.b.c.d
noSuchObject · noSuchInstance · endOfMibView空文字列
Counter は「累積」です

ifInOctets のようなCounterは増え続ける累計なので、その値自体の意味は薄いです。毎秒 増加量が必要なら計算式で差分を取ってください → 計算式適用


うまくいかないとき​

症状最初に確認すること
すべて空の値コミュニティ文字列、機器のSNMP許可IPリスト
特定のOIDだけ空インデックス(.0 · .1)が付いているか、その機器がそのMIBをサポートしているか
断続的に空UDPなので損失が発生することがあります — request-timeout を増やしてください