OpManager ナレッジベース

MSSQL監視にて、監視項目値を取得できない


現象

MSSQL監視で表示されない項目がある。
OpManagerサーバと監視対象WindowsサーバとのWMI認証は成功している。

原因

監視対象WindowsサーバのWMIコンポーネントの構成が正しく行われていない可能性があります。

以下を実行し、MSSQLに関するパフォーマンスカウンタ値を取得できるかをご確認ください。
(MSSQL監視に成功するサーバ、および失敗するサーバ両方でお試しください。)

----
1. OpManagerサーバ上で「スタート」>「ファイル名を指定して実行」から
wbemtest.exe を実行します。

2. 「接続」ボタンを押下し、接続欄の「使用」に"IWbemLocator (Namespaces)"
戻り値に"IWbemServices"が選択されていることを確認し、
「名前空間」に"\\<監視対象サーバー名またはIPアドレス>\root\cimv2"を入力します。

3. ユーザとパスワードに管理者権限を持つユーザ名とパスワードを入力後、[接続]をクリックします。
(ドメインアカウントを使用する場合、ユーザ名として"ドメイン名\ユーザ名"を入力します)

4. 「クエリ」ボタンを押下して以下を入力し、対応のMSSQLテーブルが
読込できるかを確認します。

Win32_PerfRawData_MSSQL"インスタンス名"_MSSQL"インスタンス名""クラス名"

例:インスタンス名「SQLSERVER」、クラス名「Databases」の場合
select * from Win32_PerfRawData_MSSQLSQLSERVER_MSSQLSQLSERVERDatabases

※MSSQLのバージョンが2008以前の場合、次のクエリで確認します。
select * from Win32_PerfRawData_MSSQLSERVER_SQLSERVERDatabases

※注:
クラス名は、例として挙げた項目のほか
[OpManagerインストールフォルダ]/conf/do/WMIData.xml  の
447~629行目の classname 要素の項目を使用できます。
何種類かを使用し、読込できるかをご確認ください。

また、MSSQLのバージョンによっては、存在しないテーブルがあります。
例:Win32_PerfRawData_MSSQLSERVER_SQLServerPlanCache はSQLServer2000には存在しません。

5. 読込できない場合、WMIコンポーネントの構成が正しく行われていない問題が発生している可能性があります。
----

解決方法

以下を監視対象Windowsサーバ上で実施することで、表示されない項目についても表示されるようになります。

1. コマンドプロンプトを起動
2. 以下のコマンドを実行
wmiadap /f
3. Windows Management Instrumentationのサービスを再起動
4. 1時間程度経過後、OpManagerの画面を確認
注意事項)
手順4でMSSQLテーブルが不明な場合、OpManager上で以下のクエリを実行します。
select * from wmiclass where classname like '%MSSQL%'

WMIのクラス(classnameカラム参照)を確認し、MSSQLテーブルを確認します。
wbemテストを実行しても、クラスが存在しないなどのエラーが返される場合
MSSQLの監視を行うことができません。
過去の事例で下記は監視できない可能性があります。
MSSQL2005 EXPRESS 64bit版
MSSQL2012 EXPRESS 32bit版

【対応リリース】 7.x以降

★-----------------------------------------------------------------------------★
OpManager 製品紹介ページはこちら ↓
https://www.manageengine.jp/products/OpManager/
★-----------------------------------------------------------------------------★