【Hinemos】Hinemos ver4.1系で、varbindを文字列フィルタリング

投稿日: / 更新日:

この頃肌寒い日が続きますが、皆様いかがお過ごしでしょうか。

突然ですが、Hinemosには『SNMPTRAP監視』という監視機能があります。
SNMPTRAP監視は、「SNMPTRAPをHinemosマネージャで受信し、通知を行うことを可能とする機能(Hinemos ver4.1 ユーザマニュアル 第4版 P.109より抜粋)」です。
このSNMPTRAP監視は、Hinemos ver4.1以前ではOIDでの重要度判定は出来ましたが、SNMPTRAP内に含まれるvarbindの内容で通知の重要度を決定することはできませんでした。(Hinemos最新版 ver5.0では、SNMPTRAP監視でvarbindの内容でフィルタリングを行い、重要度判定することが可能となっています。)

そこで、今回は、Hinemos ver4.1でSNMPTRAPのOIDは同じものを使用し、SNMPTRAPのvarbindに設定したメッセージで文字列フィルタリングを行う方法をご紹介したいと思います。
簡潔に言うと、varbindをシステムログ監視で検知してしまおう!ということです。

具体的には、SNMPTRAP監視の監視結果を、コマンド通知を使用してHinemosマネージャのシステムログに出力させ、システムログ監視で文字列マッチングをかけ、マッチすればシステムログ監視で設定した重要度で通知を行う…といった方法になります。

では、早速設定してみましょう。
-今回用意した環境-
○Hinemosマネージャサーバ
OS:Linux
Hinemosマネージャ:ver4.1.3

○SNMPTRAP送信用サーバ
OS:Linux

まずSNMPTRAP監視を設定します。監視対象ノードは【SNMPTRAP送信用サーバ】です。
SNMPTRAPのvarbindをシステムログへ出力させるため、SNMPTRAP監視のSNMPTRAP[トラップ定義の変更]ダイアログの、詳細メッセージ欄へ、varbindの内容を置換する文字列%parm[#n]%(今回は%parm[#1]%)を記述します。

001

次にSNMPTRAP監視にコマンド通知を設定します。
コマンド通知の”コマンド”欄には、どのノードからSNMPTRAPが送られてきたのか判断できるように、送信元ノードのファシリティID、およびオリジナルメッセージ(前述のSNMPTRAP監視の設定で、varbindの内容が置換されています。)をシステムログへ出力するようなコマンドを入力します。

コマンド例:logger ‘SNMPTRAP_NODE=#[FACILITY_ID] #[ORG_MESSAGE]’

あと今回はSNMPTRAP監視の監視結果もHinemosクライアントから確認したいので、イベント通知も設定しておきます。
最後にシステムログ監視を設定します。
SNMPTRAP監視に設定したコマンド通知は、Hinemosマネージャが動作するサーバでコマンドを実行します。コマンドが実行されると、HinemosマネージャサーバのシステムログにSNMPTRAPが出力されるため、システムログ監視の監視対象はHinemosマネージャサーバにする必要があります。

システムログ監視のフィル[作成・変更]ダイアログで、パターンマッチ表現に検知するvarbindのメッセージを設定し、そのメッセージを検知したときの重要度を設定します。
今回は以下のように設定しました。

1.
パターンマッチ表現:.∗INFO.∗
重要度:情報

2.
パターンマッチ表現:.∗ERROR.∗
重要度:危険

これで設定は完了です。
実際にSNMPTRAPを送って検知できるのか試してみます。
SNMPTRAP送信用サーバから、以下のSNMPTRAPをマネージャサーバ宛に送信してみます。

想定される監視結果は、SNMPTRAP監視、システムログ監視ともに「情報」で検知されることですが…。

004

想定通りの結果が出力されることが確認できました。

マネージャサーバのシステムログとシステムログ監視のオリジナルメッセージを比べてみると、同じメッセージが記載されていることがわかります。

【システムログ】
007

【システムログ監視】

011

#メッセージに含まれている「\xA」は制御コード(改行)です。

 

次は、以下のSNMPTRAPを送ってみます。

このSNMPTRAPで想定される監視結果は、システムログ監視のみ「危険」で検知されることです。

012

はい、こちらも想定通りの結果となりました。

【システムログ】

009

【システムログ監視】

013

 

ちなみにシステムログ監視の監視結果は、”ファシリティID”が全てHinemosマネージャサーバになってしまいます。
そのため、どのサーバからSNMPTRAPが送られてきたのか判断するためには監視結果の「メッセージ」を確認する必要があり、少々判断しにくい部分もあるかもしれませんが、これでSNMPTRAPのvarbindの内容で通知の重要度を変更することができます。

以上、簡単ですがHinemos ver4.1系で、varbindを文字列フィルタリングする方法の紹介でした。

(担当:NTK)

Hinemos導入はアトミテックにお任せください

見積もりを依頼する

最新情報発信中

Xやメルマガでも、Hinemosの保守、
開発、導入、構築やカスタマイズ等の
お役立ち情報を発信しています。
是非ご登録ください。