Windows の Powershell データ コレクターをセットアップして、Windows サービスの状態を監視する手順を次に示します。

1. ドットコムモニターアカウントで、メトリックスビューカスタムコレクタを設定します。

2. カスタムメトリクスの仕掛けをセットアップします。 前のステップで作成したコレクタを選択します。 カスタムカウンターパスを入力します。 [集計の種類] を [最小] または [最大] に設定します。

サービスステータスは7つの状態にできます。 デフォルトでは、値に変換されます。

  • サービスは停止しています – デフォルトの 1000
  • サービスは開始中です – デフォルトの 2000
  • サービスが停止中 – デフォルトの 3000
  • サービスが実行中です – デフォルトの 4000
  • サービスは一時停止後に作業を再開しています – デフォルトの 5000
  • サービスが一時停止中です – デフォルトの 6000
  • サービスは一時停止されています – デフォルト 7000

“サービスが停止しています” イベントを検出するために [最小しきい値] を 2000 未満に設定できるように、[最小] を使用することをお勧めします。

残りのフィールドは既定値のままにします。

3. スクリプトを受け取るには、アカウント内から トラブルチケット を作成します。

4. ターゲット コンピューターで、管理者として Powershell を開きます。

5. ServiceMonitoring.ps1がインストールされているディレクトリに移動します。たとえば、c:ドライブにフォルダを作成しました。

 cd c:\ps\

6. 次のコマンドを実行します。

 set-executionpolicy unrestricted

7. 次のコマンドを実行します。

 .\ServiceMonitoring.ps1 -collector <Collector ID>-task < Task UID> -service <Service Name>  -log

コレクター ID は、[メトリックビュー コレクターの構成>] の下にあります。

タスク UID は、タスクの編集時にデバイスの URL にあります。

[サービス名] パラメーターは、サービス ウィンドウに表示されるとおりに正確に入力する必要があります。

–log コマンドを使用すると、スクリプトがイベント ビューアで正しく動作しているかどうかを確認できます。ウィンドウズログ

8. Windows タスク スケジューラまたはスクリプトの実行に使用するその他のツールを使用して定期的に実行するようにスクリプトを設定します。

スクリプトに関する追加情報

組み込みのヘルプを取得するには、次のコマンドを実行します。

.\ServiceMonitoring.ps1

ログキーを使用すると、イベント ログ “Windows ログ/アプリケーション” にログを記録できます。 既定では、ログ記録は Microsoft 管理コンソルに対してのみ行われます。

サービスステータスは7つの状態にできます。 デフォルトでは、これらは値に変換されます。

  • サービスは停止しています – デフォルトの 1000
  • サービスは開始中です – デフォルトの 2000
  • サービスが停止中 – デフォルトの 3000
  • サービスが実行中です – デフォルトの 4000
  • サービスは一時停止後に作業を再開しています – デフォルトの 5000
  • サービスが一時停止中です – デフォルトの 6000
  • サービスは一時停止されています – デフォルト 7000

これらの値は、コマンドラインキーを使用して他の任意の値に設定できます。

-stopped <number>
-starting <number>
-stopping <number>
-running <number>
-continuing <number>
-pausing <number>
-paused <number>
  • ドットコムモニターがWindowsサービスの監視に役立つ理由

    サービス、またはWindowsサービスは、さまざまな方法で起動できるバックグラウンドアプリケーションです。 サービスは、Windows の起動時に自動的に開始することも、別のアプリケーションが作業に必要な場合は開始することもできます。 Windows サービスはバックグラウンドで実行され、通常はユーザーと対話しません。 ほとんどのサービスはユーザーが停止できますが、オペレーティングシステムの一部のコンポーネントの通常の操作に必要なため、停止できないサービスもあります。

    通常、さまざまなサーバーは、サービス (データベース サーバーなど)、監視ユーティリティ、およびユーザーの操作とは完全に独立して動作できるその他のアプリケーションとして実装されます。 Windows OSには多くの独自のサービスがあり、タスクマネージャー > サービスから、またはコマンドラインから services.msc を実行して、それらだけでなく他のカスタムサービスでも操作できます。

    では、なぜWindowsサービスを監視することがそれほど重要なのでしょうか。 サーバーのパフォーマンスの重要な基準の 1 つは、Windows サービスの状態です。 サーバーの稼働中に継続的に起動する必要がある重要なWindowsサービスがいくつかあります。

    また、Windows サーバー上で実行されているサービスを使用している Active Directory などのアプリケーションも多数あります。 または、たとえば、Windows サーバーにインストールされた複数のカスタム サービスを使用して動作する独自のソフトウェアを作成したとします。 これらのサービスがアプリケーションの重要な部分である場合は、エラーなしで実行する必要があります。

    したがって、サーバー上の Windows サービスの監視は、サーバーのパフォーマンスを把握するためのシステム管理者の主要なタスクの 1 つです。

    パワーシェルを使用した Windows サービスの状態の監視

    Windows サービスの状態を監視するには、Powershell を使用できます。 たとえば、Get-Service コマンドレットを使用すると、システムにインストールされているすべてのサービス、その状態、およびスタートアップの種類の一覧を取得できます。

    PS C:\Windows\system32> Get-Service

    このコマンドは、すべてのサービスとその状況 (開始または停止) と表示名をリストします。 スクリプトの経験を持つ場合は、Powershell のコマンド (Get-Service、Get-Process、Send-MailMessage など) に基づいてカスタム Windows サービス監視ソリューションを構成できます。

    Windows サービス監視用のドットコムモニターのメトリックビュー サービスの使用

    Windows サービスの監視用に作成された PowerShell およびカスタム スクリプトを使用することは一般的な方法ですが、監視対象のサーバーとサービスの数が増える場合は問題になります。 この場合、Dotcom-Monitorによるメトリックスビューなどの自動監視ツールを使用することをお勧めします。

    メトリックビュー を使用すると、ユーザーはリモート Windows サーバー上のサービスの監視を設定できます。 このツールには、Powershell スクリプトのスキルや、ユーザーからのシステム管理に関する深い知識は必要ありません。 ユーザーフレンドリーなグラフィカル・インターフェースを使用して、対象のWindowsサーバーにMetricsViewソフトウェアをインストールし、エラーしきい値を含む監視タスクを作成し、頻度と監視のスケジュールを設定し、サービスのダイナミクスに関するレポートをプルすることができます。 さらに、MetricsView は、監視対象のサービスがステータスを変更したときに通知を送信する、組み込みのアラート通知システムを提供します。