メニュー
SaaSpresto株式会社はLogicMonitorの国内販売代理店です

WMIによるWMI監視とは?利用シーンや利用方法をわかりやすく紹介

Windowsベースのシステムを対象にした運用管理に活用できるのがWMIです。Microsoftにより開発されたWMIは、Microsoft社製品の管理・監視において効果を発揮します。一方で、WMIは比較的分かりにくい概念であり、なかなか理解しにくいものでもあります。そこで本記事では、WMIの概念についてできるだけ分かりやすくお伝えします。

目次

WMIとは?

そもそもWMIとはどのような仕組みなのでしょうか。ここではまず、WMIの概要を紹介します。

WMIはWindowsベースのネットワークやシステムの管理に有効な技術

WMI(Windows Management Instrumentation)は、Windows OS、もしくはWindows OSで動作するアプリケーションを管理するために、Microsoftが開発した技術です。WMIはシステムの名称や状態など、システムの管理情報を標準的な方法でアクセスできる機能が用意されています。OSの状態やハードウェア、ソフトウェア、リモート・コンピューター・システム、設定情報など幅広い情報の管理方法が定められており、コマンドによってこれらの情報を収集することができます。WMIのこれらの機能は、Windowsプラットフォームで動作するシステムを監視する目的で利用可能です。

Windows2000以降のWindowsは標準でWMIに対応しています。汎用的な監視技術としてはSNMPを思い浮かべる方もいるかもしれませんが、SNMPと比較して収集できる監視項目も多く、またWindowsに特化した仕組みであることからWindows OSで動作するサーバーなどの管理を簡単に実現できる点が特徴です。

SNMPについては以下の記事で詳しく解説しておりますので、併せてご覧ください。

あわせて読みたい
SNMP監視とは?MIBやポーリング・トラップについても解説 標準的なプロトコルであるSNMPを用いたSNMP監視は、ベンダーや機器を問わず一般的に利用できる手法です。システムの運用監視を行う上では、まず押さえておくべき技術と...

WMIの特徴

WMIの主な特徴は以下のとおりです。やはりWindowsプラットフォームで活用できる点が最大の特徴ですが、SNMPとの関係性など、標準化も意識されている技術でもあります。

Windowsで構築されたネットワーク・システムの監視に有効

企業内ネットワークなど、Windowsベースで構築されているネットワークやシステムを効率的に管理できます。

機能拡張も可能

標準で用意された管理項目のほか、アプリケーションや機器に応じて独自に管理項目を拡張することも可能です。

SNMPとの関連性も定義されている

WMIはWindows OS向けの仕組みではありますが、標準的なシステム運用監視プロトコルであるSNMPとマッピングされており、たとえばSNMPによりWMIの管理項目を取得することもできます。

WMIの利用シーン

WMIはWindows OSで動作するシステムの状態監視や操作に用いることができます。具的な利用シーンとしては以下のとおりです。

Windows OSおよびActive Directoryで構築された社内ネットワークの監視

社内ネットワークやファイルサーバー、社内向けシステムなどWindows OSやActive Directoryで構築された環境の監視に有効です。

Windowsサーバーで構築されたシステムの運用監視

Windowsサーバーを利用したシステムなど、Windowsベースで構築されたシステムの運用監視においても活用できます。

リモート環境のPCに対する状態監視や操作

リモートデスクトップなど、クラウド環境上などに構築したリモートPCに対する監視や操作も可能です。

WMIにより収集できる主な情報

WMIには様々な情報を収集する機能が用意されています。ここでは、標準で収集できる情報の一例をご紹介します。

Win32 プロバイダー

Windowsのシステムに関するデータを収集できます。ハードウェアの電源やマザーボード、入力デバイスなどに加え、OSの情報として環境変数やファイルシステム、ネットワーク、レジストリなどの情報にアクセスできます。

リモート デスクトップ サービス WMI プロバイダー

リモートデスクトップに関するデータを収集できます。リモート接続に関する情報へのアクセスや、接続の管理などを行うことができます。

IPルートプロバイダー

ネットワークに関するデータを収集できます。パケットのルーティング制御やログ情報の収集などを実現できます。

Hyper-V WMI プロバイダー

仮想マシンであるHyper-Vに関する情報を収集できます。仮想マシンのメモリやCPU、ディスクなどの情報や、BIOSに関する情報、接続されているデバイスなどの情報にアクセスできます。

※参考:WMI プロバイダー
https://learn.microsoft.com/ja-jp/windows/win32/wmisdk/wmi-providers

WMIのアーキテクチャ概要

WMIは大きく、「WMIプロバイダー」「WMIインフラストラクチャ」「WMIコンシューマー」という3つの要素から構成されています。以下では、それぞれの役割について簡単に紹介します。

WMIプロバイダー

WMIプロバイダーはWMIにて定義されている管理項目を監視し、要求を受けて情報を送る役割を担います。管理対象の機器やソフトウェアと最も近い位置に存在する要素といえるでしょう。

上述したようにWMIでは様々なプロバイダーが用意されており、目的に合わせて利用できます。

WMIインフラストラクチャ

WMIの名前空間が定義されており、WMIの情報を収集するクライアント(WMIコンシューマー)から受けたリクエストを、WMIプロバイダーに中継する役割を担います。

WMIコンシューマー

WMIコンシューマーは最もユーザーに近い位置に存在し、WMIの情報を要求する役割を担います。具体的にはWindows PowerShellやスクリプトなどが該当します。

※参考:WMI のアーキテクチャ
https://learn.microsoft.com/ja-jp/windows/win32/wmisdk/wmi-architecture

WMIによるシステム監視方法

以下では、WMIによりシステム監視を行う場合の大まかな流れを紹介します。

サーバー・アプリケーション側

監視対象となるサーバーやアプリケーションは、上述したWMIプロバイダーとして動作します。製品によってWMIにより収集できる項目が定められており、たとえばWindows OSに対してはWin32プロバイダーによりBIOS情報やCPUプロセッサに関する情報、コンピューターの型番、製造元などの情報を収集することができます。

WMIでは、セキュリティ設定として収集可能な項目を設定できます。設定は名前空間に対して行われ、たとえばSQL Serverの管理項目を参照できないようにするためには「CIMV2」という名前空間へのアクセスを不許可とすることで、アクセス制御を行うことができます。

※参考:SQL Server ツールでサーバーの状態を表示できるようにする WMI の構成
https://learn.microsoft.com/ja-jp/sql/ssms/configure-wmi-to-show-server-status-in-sql-server-tools?view=sql-server-ver16

クライアント側

各サーバーやアプリケーションなどの管理項目を収集するクライアント側では、コマンドラインやスクリプト、ツールなどを通して情報を収集することができます。

WMIの情報収集はAPIを通して行います。具体的にはWindows PowerShellからコマンドを入力してアクセスできるほか、C++やC#にもラッパークラスが用意されており、スクリプトやツールからWMIへ簡単にアクセスできるように機能が用意されています。

過去、WMIへのアクセスには「WMIC」と呼ばれるコマンドを利用していましたが、現在ではセキュリティ面から利用が推奨されていないことに注意が必要です。

※参考:WMI の使用
https://learn.microsoft.com/ja-jp/windows/win32/wmisdk/using-wmi

※Windows クライアントの非推奨の機能(Windows Management Instrumentation コマンド ライン (WMIC) ツールの項目を参照)
https://learn.microsoft.com/ja-jp/windows/whats-new/deprecated-features

WMI監視を行う際にはツールの活用が有効

WMIによりシステムの運用監視を行う場合、都度Windows PowerShellからコマンドを入力し、システムの状態を収集することができますが、規模の大きいシステムにおいては作業負荷の面で現実的ではありません。そこで検討したいのが、WMIに対応した監視ツールの利用です。

WMIに対応した監視ツールを利用することで、いちいちコマンド入力をしたり、スクリプトを自作したりする必要がなく、WMIの管理項目を利用したシステムの監視を簡単に実現することができます。WMIによりシステムの運用監視を行う場合には、監視ツールの導入は必須といえるでしょう。

WMI監視にも対応!SaaS型運用監視サービス「LogicMonitor」とは?

当社では、WMIに対応したSaaS型のIT統合運用監視サービス「LogicMonitor」を提供しています。LogicMonitorでは、Windowsベースのサーバーやアプリケーションなどを監視するためのWMIクライアントを利用できます。。合計3,000種類の監視テンプレート「LogicModules」により、WMIを含め一般的な監視項目であれば簡単な設定作業ですぐに監視が開始できる点も大きなメリットです。

もちろん、SNMPを用いた監視など、他の監視方法にも対応しており、Windowsだけでなく、様々なアーキテクチャで構成されたシステム・ネットワークの監視にも活用できます。

Windowsベースのシステムやネットワークに加えて、他のシステムについても一元的に監視体制を整えたい場合におすすめのツールといえるでしょう。

まとめ

この記事では、Windowsベースのシステムを対象にした運用管理に活用できるWMIについて、その概念やアーキテクチャについてご紹介しました。豊富な機能が用意されているWMIはWindowsベースのシステム・ネットワークの監視に有効な選択肢です。WMIを監視に利用する場合は、WMIに対応した監視ツールを採用する必要があります。

一方で、自社で運用しているシステムはWindowsベースのものだけとは限らず、様々なアーキテクチャも併用しているのではないでしょうか。そのような場合には、様々なプロトコルに対応した監視ツールの採用が有効となります。

日本を含む2,000社以上での導入実績がある、
IT統合監視サービス「LogicMonitor」
のサービス概要資料はこちらから

以下のような課題をもつ企業におすすめです。

  • 現状、監視ツールの複数導入でコスト・運用面で負荷が大きく、1つのツールで統合監視したい
  • AIOpsやオブザーバビリティの考え方を取り入れた最先端のSaaSツールで、運用のDXを推進したい
  • マルチテナント機能やシンプルな価格体系で、MSP事業者としてスムーズにサービスを提供したい
目次