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 は、監視対象のサービスがステータスを変更したときに通知を送信する、組み込みのアラート通知システムを提供します。