![見出し画像](https://assets.st-note.com/production/uploads/images/97812490/rectangle_large_type_2_35265776edac27003bd72a6f56ad6c02.png?width=1200)
TWSNMP FCのポーリング辞典:MIBカウンター
TWSNMP FCでSNMP MIBの数を取得するポーリングモードに関する説明です。TCPの接続中のコネクション数や起動中のプロセスの数などテーブル形式のMIBから指定した条件に一致する管理情報の数を取得して障害を判断するポーリングです。
設定のポイント
この種類のポーリング設定のポイントを説明します。
![](https://assets.st-note.com/img/1676148509770-EGio3ixxlO.png?width=1200)
①種別
SNMPに設定します。
②モード
countを指定してカウンターモードにします。
③パラメータ
取得するMIBのオブジェクト名です。テーブルの列に位置するMIBを指定します。
④フィルター
取得したMIBの値をフィルターする条件を指定します。正規表現で指定できます。空欄にするとフィルターしません。
⑤判定スクリプト
判定する条件をJavaScriptで設定します。変数としてはフィルターした結果の件数を示すcountが利用できます。
接続中のTCPコネクション数を監視する例
MIBブラウザーでtcpConnTable(TCPコネクションテーブル)のMIBを取得すると、
![](https://assets.st-note.com/img/1676149066478-9qJLX2CdWO.png?width=1200)
のようなテーブルが得られます。このうち接続中のコネクションは、tcpConnStateが5のものです。その他の状態の値は、
が参考になります。
tcpConnState OBJECT-TYPE
SYNTAX INTEGER {
closed(1),
listen(2),
synSent(3),
synReceived(4),
established(5),
finWait1(6),
finWait2(7),
closeWait(8),
lastAck(9),
closing(10),
timeWait(11),
deleteTCB(12)
}
TWSNMPのSNMP MIBカンターで接続中のコネクション数を取得するにはパラメータにMIBオブジェクトにtcpConnState、フィルターに5を指定すればよいです。
![](https://assets.st-note.com/img/1676149221795-sGX8uUiwFw.png?width=1200)
のようになります。count < 5は、接続数5以下を正常とする設定です。この値は必要用に応じて変更してください。
syslogサーバーのプロセスの起動を監視する例
監視対象で起動しているプロセスの名前はhrSWRunTable(動作中ソフトウェアテーブル)で取得できます。プロセスの名前はhrSWRunNameです。
今回の管理対象で稼働するsyslogサーバーのプロセス名は、rsyslogdなのでMIBブラウザーで確認すると、
![](https://assets.st-note.com/img/1676149580046-aEwbjCt45S.png?width=1200)
のように取得できます。このプロセスが1つでも起動していればsyslogサーバーが稼働中と判断できます。
TWSNMP FCのSNMP MIBカウンターでポーリングを設定すると
![](https://assets.st-note.com/img/1676149850572-5ca8cRpz48.png?width=1200)
のようになります。rsyslogdのところをsnmpdに変えればSNMPエージェントのプロセスを監視できますが、snmpdが起動していなければ応答を返されないのでカウントすることができません。
テンプレート
この記事で紹介したポーリングのテンプレートは
{
"Name": "TCP接続テーブル監視",
"Type": "snmp",
"Mode": "count",
"Params": "tcpConnState",
"Filter":"5",
"Script":"count < 5",
"Level": "low",
"Descr": "TCP接続テーブルで状態別の数を監視",
"AutoMode": "disable"
},
と
{
"Name": "プロセス起動数監視",
"Type": "snmp",
"Mode": "count",
"Params": "hrSWRunName",
"Filter":"rsyslogd",
"Script":"count > 0",
"Level": "low",
"Descr": "プロセスの起動数の監視、フィルタでプロセス名を指定",
"AutoMode": "disable"
},
です。
テンプレートから探す時は、
![](https://assets.st-note.com/img/1676150130018-xpqU322P8h.png?width=1200)
のように検索の文字列にcountと入力すると探しやすいです。
開発のための諸経費(機材、Appleの開発者、サーバー運用)に利用します。 ソフトウェアのマニュアルをnoteの記事で提供しています。 サポートによりnoteの運営にも貢献できるのでよろしくお願います。