WMI を使用した Caché の監視
WMI のサポートは Caché のリリース 2015.1 で廃止されます。インターシステムズは、Caché の監視には SNMP および堅牢な Caché SNMP インタフェースの使用をお勧めします (このドキュメントの付録の “SNMP を使用した Caché の監視” を参照)。詳細は、"http://blog.intersystems.com/compatibility/2014/5Opens in a new tab" を参照してください。
Windows Management Instrumentation (WMI) は、Windows オペレーティング・システムの機能で、管理情報の収集に標準化された方法を提供します。WMI を使用すると、オペレーティング・システムや他のアプリケーションから、スクリプト、プログラミング言語、管理ツールおよびアプリケーションといったさまざまな方法で、管理情報にアクセスできます。WMI は、分散管理タスク・フォース (DMTF) が規定した Web ベースのエンタープライズ管理 (WBEM) 標準を Microsoft が実装したものです。
Caché では、管理情報の WMI クラスをいくつか実装します。これには、パフォーマンスと管理のデータのクエリを許可するインスタンス・プロバイダ、および Caché で起こる可能性のある重大なイベントやエラーを示すイベント・プロバイダの両方が含まれます。WMI クラスのクエリの実行方法と WMI イベントを受け取る方法の説明は、MSDN ライブラリの "Windows Management Instrumentation (WMI)Opens in a new tab" のセクションを参照してください。
ここで説明する内容は以下のとおりです。
Caché における WMI の構成
WMI 情報を収集する Caché 環境を整えるには、次の 2 つのタスクを完了します。
監視と WMI を有効にする
WMI を使用して Caché 情報を収集するには、WMI 収集と Caché 監視サービスを有効にする必要があります。管理ポータルから、以下の手順を実行します。
-
管理ポータルで、[システム]→[構成]→[モニタ設定] に移動します。
-
設定ボックスの最初の行でモニタ・サービスが無効であることが示されている場合は、以下の手順を実行します。
-
[編集] をクリックして、%Service_Monitor サービスの [サービス編集] ページを表示します。
-
[サービス有効] チェック・ボックスにチェックを付け、[保存] をクリックして [モニタ設定] ページに戻ります。
-
-
[WMI有効] リストで、[はい] を選択して、[保存] をクリックします。
WMI クラスをコンパイルする
IscProc.mof ファイルは、インターシステムズの WMI クラスを定義します。このファイルは、管理者 (マネージャ) のディレクトリ install-dir\Mgr の WMI サブディレクトリにインストールされます ("install-dir" はインスタンスのインストール先ディレクトリです)。以下の例では、C:\MyCache をインストール・ディレクトリとして使用しています。
このテキスト・ファイルは、MOF (Managed Object Format) でインターシステムズ管理クラスを記述したものです。これらのクラスを使用する前に、システムの WMI リポジトリにコンパイルする必要があります。Windows のコマンド・プロンプトから、Microsoft のツールである mofcomp.exe を使って、次の例に示すようにクラスをコンパイルします。
C:\>cd c:\MyCache\mgr\WMI
C:\MyCache\Mgr\WMI>mofcomp IscProv.mof
Microsoft (R) 32-bit MOF Compiler Version 5.1.2600.2180
Copyright (c) Microsoft Corp. 1997-2001. All rights reserved.
Parsing MOF file: IscProv.mof
MOF file has been successfully parsed
Storing data in the repository...
Done!
C:\MyCache\Mgr\WMI>
Caché での WMI の使用法
Caché では、WMI クラスは WMI リポジトリの root\cache ネームスペースに格納されます。これらの WMI クラスをコンパイルし、WMI リポジトリに格納すると、スクリプト、プログラミング言語、または管理ツールを使用してこの管理情報にアクセスできるようになります。
Microsoft の WMI 管理ツールの一部として使用できる WMI CIM Studio などの基本的なツールを使用して、root\cache ネームスペースのすべてのクラスを参照したり、各クラスのプロパティをリストしたり、各プロパティの説明を含む各クラスのヘルプ・テキストを参照することができます。各クラスのすべてのインスタンスに Caché システムのクエリを実行して、実行中のインスタンスの動作中のデータを表示することもできます。
Cache_DatabaseSystem クラスは、(Windows レジストリから) システムにインストールされた Caché のすべてのインスタンスを列挙し、実行中および接続されているインスタンスを表示します (EnabledState=2)。その他のクラスでは、WMI 対応の Caché インスタンスのデータのみ表示されます。
また、Caché は、スクリプト、プログラムまたは管理ツールを使って受け取ることができる WMI イベントも示します。WMI 管理ツールには、基本的な WMI Event Viewer が含まれます。Cache_Event クラスは、__ExtrinsicEvent クラスのサブクラスとして定義されます。このクラスのプロパティを参照するには、WMI CIM Studio を使用して __SystemClass の階層を移動します。WMI イベントは、SNMP 通知として定義されたイベントと同じものです。Caché インストール環境の SNMP ディレクトリにある ISC-CACHE.MIB ファイルを調査すると、このイベントの最新のリストが見つかります。詳細は、このドキュメントの “SNMP を使用した Caché の監視” を参照してください。
Caché で示される現在のイベントは、次のとおりです。
イベント | 説明 |
---|---|
cacheStart | Caché インスタンスの開始 |
cacheStop | Caché インスタンスの終了 |
cacheDBExpand | データベース拡張の正常実行 |
cacheDBOutOfSpace | データベース拡張の制限値に近づいている (追加の 10 個の拡張に対応する空き容量がないか、または空き容量が 50 MB 未満) |
cacheDBStatusChange | データベースの読み取り/書き込み状態の変更 |
cacheDBWriteFail | データベースの書き込みの失敗 |
cacheWDStop | ライト・デーモン・ストーリング |
cacheWDPanic | パニック・モードになるライト・デーモン |
cacheLockTableFull | ロック・テーブルがいっぱい (メモリ不足) |
cacheProcessFail | Caché プロセスのアクセス違反 |
cacheECPTroubleDSrv | 障害モードの ECP データ・サーバ接続 |
cacheECPTroubleASrv | 障害モードの ECP アプリケーション・サーバ接続 |
cacheAuditLost | システムで監査イベントを記録できない |
cacheLoggedError | コンソール・ログに重大なエラーを書き込み中 |
cacheLicenseExceed | ライセンス要求が、使用可能なライセンスまたは許可されたライセンスを超えている |
cacheAppAlert | %Monitor.Alert.External メソッドの呼び出しによるアプリケーション・アラートの生成 |
Ensemble を使用する場合は、上記以外にもイベントがあります。詳細は、"Ensemble でのWMI の使用法" を参照してください。
iscprov.dll は、WMI と Caché 間のすべての通信を処理し、Caché WMI インスタンス・プロバイダとイベント・プロバイダの両方を実装します。Caché インストールは、このファイルを登録し、C:\Program Files\Common Files\Intersystems\Cache ディレクトリに格納します。
要求が出されると、WMI サービスはプロバイダの DLL をロードしますが、一定期間アイドル状態になるとアンロードする場合があります。DLL がロードされると、Caché との通信を開始して、Caché で ^WMI サーバのプロセスが開始します。DLL がアンロードされると、このサーバ・プロセスは終了します。スクリプトや管理アプリケーションで情報を収集する頻度によって、わずか 30 秒に設定されている、既定のインスタンス・プロバイダの “終了” 期間を変更する必要があります。\root ネームスペースの WMI CIM Studio を使用して、__SystemClass、__CacheControl、および __ObjectProviderCacheControl のクラス階層を拡張します。ClearAfter プロパティの値を変更して、Caché インスタンス・プロバイダを長期間ロードしたままにします。
Caché は、cconsole.log ファイルの ^WMI サーバ・プロセスの重要なメッセージを書き込みます。また、\WINDOWS\system32\WBEM\Logs\ ディレクトリにある iscwmi.log ファイル (Caché にWMI インスタンス・プロバイダとイベント・プロバイダを実装するファイル) の、iscprov.dll で発生するすべてのエラーを記録します。
Ensemble での WMI の使用法
Ensemble でも、WMI クラスは WMI リポジトリの root\cache ネームスペースに格納されます。Ensemble の WMI クラスをコンパイルし、WMI リポジトリに格納すると、"Caché での WMI の使用法" の説明にある方法と同様にこれらを管理できます。
Ensemble_LogEvent クラスは、__ExtrinsicEvent クラスのサブクラスとして定義されます。Ensemble は、アラートを Ensemble イベント・ログに通知するときに、WMI の Ensemble_LogEvent インスタンスを送信します。
WMI ドキュメント・テキスト・ファイルの生成
Caché の ^WMIMOF ルーチンの doc エントリ・ポイントを使用すると、インターシステムズが WMI 向けに提供しているクラスとプロパティのテキスト・ファイルを生成できます。次に例を示します。
%SYS>Do doc^WMIMOF
File: <IscProv.txt>
Enter キーを押して、Mgr ディレクトリに IscProv.txt ファイルを作成します。
Creating doc file for WMI Classes ...
;;DatabaseSystem;;;;Cache;
;;CommonDatabase;;;;Cache;
;;SystemStatistics;Abstract;;;Cache;
;;DatabaseStatistics;;SystemStatistics;;Cache;
;;ECPClientStatistics;;SystemStatistics;;Cache;
;;ECPServerStatistics;;SystemStatistics;;Cache;
;;WriteDemonStatistics;;SystemStatistics;;Cache;
;;GlobalBufferStatistics;;SystemStatistics;;Cache;
;;ResourceSeizeStatistics;;SystemStatistics;;Cache;
;;ECPConnection;Abstract;;;Cache;
;;ECPServerConnection;;ECPConnection;;Cache;
;;ECPClientConnection;;ECPConnection;;Cache;
;;ECPServerConnectionStats;;;;Cache;
;;ShadowJournal;Abstract;;;Cache;
;;ShadowSourceConn;;ShadowJournal;;Cache;
;;ShadowDestServer;;ShadowJournal;;Cache;
;;Event;;__ExtrinsicEvent;;Cache
;;LogEvent;;__ExtrinsicEvent;WMIMOF3;Ensemble
;;Production;;;WMIMOF3;Ensemble;
;;EventLog;;;WMIMOF3;Ensemble;
%SYS>