リンク
インターシステムズ(日) └日本語ドキュメント インターシステムズ(US) (有)エムブイビイ ダイナシステム(株) Googleグループ(英語) Googleグループ(日本語) George James Software cache'infoアーカイブ 【広告】
|
SNMPでの監視SNMP Monitoring
Cache'をSNMPを使って監視することができるということなので、試してみました。 監視される側(エージェント側)はLinux上でsnmpdを、マネージャーはwindows7上でTWSNMPを使用しました。設定はマニュアルhttp://docs.intersystems.com/cache20102j/csp/docbook/DocBook.UI.Page.cls?KEY=GCM_snmpを参考に設定しました。 SNMPの基本設定まずは正しくSNMPでの通信が行えていることを確認するため、Cache'ではなくLinuxOSの情報を取得してみます。
エージェント側で以下のように/etc/snmp/snmpd.confファイルを編集しpublic accessをenableにしました。 com2sec notConfigUser 192.168.0.0/16 public group myROGroup v1 notConfigUser group myROGroup v2c notConfigUser view all included .1 80 access myROGroup "" any noauth exact all none none この状態でTWSNMPからSNMPを情報を使用して情報を取得してみます。 対象サーバーノードを追加し、ノードの右クリックから[SNMP管理]→[MIBブラウザ]を選択します 標準MIBのsystem(iso.org.dod.internet.mgmt,mib-2.system/1.3.6.1.2.1.1)下の情報を取得してみます。 このように情報が取得できたので、正しくSNMPの通信が行えていることが分かります。 Cache'用の設定
まずCache'でSNMPサービスを有効にします。
[ホーム] > [セキュリティ管理] > [サービス]から[%Service_Monitor]を開き、[サービス有効]にチェックを入れて[保存]ボタンを押します。 その画面の[モニタ設定を構成]リンクを開き、[システム開始時にSNMPエージェントを開始]を[はい]にして[保存]ボタンを押します。 これでCache'側でSNMPサービスが有効になりました。 次にsnmpdとCache'が通信できるようにします。 snmpdとCache'はAgentXという方法で通信を行います。 そのための設定を/etc/snmp/snmpd.confファイルに追加します。 master agentx agentxSocket 705 念のためsnmpdサービスを再起動します。 > service snmpd restart
snmpd を停止中: [ OK ] snmpd を起動中: [ OK ] Cache'情報の取得
TWSNMPでCache'のSNMP情報を解釈できるようにするため、MIBの取込みを行います。
Cache'のMIBはインストールフォルダ下のSNMPフォルダにISC-CACHE.mibというファイル名で配置してあります。(例: c:\intersystems\cache\snmp\ISC-CACHE.mib ) TWSNMPのメニュー[SNMMP管理]→[MIBツール]で表示された画面から、[追加]ボタンを押しCache'のMIBファイルを指定して[OK]を押します。 [読み込んだMIBファイル]の一覧に ISC-CACHE.txt が追加されていれば、正しく取込みが完了しています。 対象サーバーノードを右クリックし、[SNMP管理]→[MIBブラウザ]を選択します。 intersystems(iso.org.dod.internet.privateintersystems/1.3.6.1.4.1.1.16563)下の情報を取得してみます。 以下のように情報が取得できました。 監視すべき対象としては、cacheSysErrorMsg・cacheSysLicenseUsedなどでしょうか。 ポーリング監視対象に追加
cacheSysErrorMsgをポーリング監視(TWSNMPから定期的にアクセスし、異常な値でないか確認すること)の対象に追加してみます。
先ほどのMIBブラウザ画面からcacheSysErrorMsgの行を選択し、[ポーリング登録]ボタンをクリックします。 ポーリング設定画面で以下のように設定します。 cacheSysErrorMsgはcconsole.logファイルに重大度2以上のエラーが発生した場合にその内容が設定されます。 では試しにエラーを発生させてみます。 重大度2以上のエラーを発生させるのも難しいので、コンソールログに自作のメッセージを出力してみましょう。 USER> Do ##class(%SYS.System).WriteToConsoleLog("Test
Error Message",0,2)
エラーを発生させると、まもなくTWSNMPがエラーを検知します。SNMP Trapを送る
SNMP Trapで障害を通知するためには、エージェント側で通知先の設定が必要になります。
以下のように/etc/snmp/snmpd.confファイルを編集しpublic accessをenableにしました。 trapcommunity public
障害イベントの定義などは特に必要なく、上で設定したagentXの設定が正しく行えていればCache'のイベントは自動的に送られるようです。trap2sink 192.168.123.45 public ## TWSNMPが動作しているマシンのIPアドレス createUser _internal MD5 "the first sign of madness" iquerySecName _internal rouser _internal 以下は、Cache'の再起動を実施した際にcacheStartイベントが発生し、TRAPにて通知された画面です。 SNMP Trapを受信するにはマネージャー側(この例ではwindows)でファイヤーウォールのポート開放が必要になることがあります。 SNMP Trapの送信テストはLinuxから下のコマンドで行えます。(192.168.123.45がTWSNMPが動作しているマシンのIPアドレスです) snmptrap -v 2c -c public 192.168.123.45 '' .1.3.6.1.4.1.8072.99999 .1.3.6.1.4.1.8072.99999.1 s "Test Message" |