Windows の Powershell データ コレクターをセットアップして、Windows サービスの状態を監視する手順を次に示します。
1. ドットコムモニターアカウントで、メトリックスビューカスタムコレクタを設定します。
2. カスタム コレクタ タスクをセットアップします。 ホスト カテゴリのインスタンスとカウンターのフィールドに入力する必要がありますが、それらが何であるかは関係なく、このフィールドには使用されません。 タスクの集計タイプは、MIN または MAX に設定する必要があります。
サービスステータスは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 は、メトリックビュー・コレクターの構成にあります。
サービス名は、サービス ウィンドウに表示されるとおりに正確に入力されます。
有効なタスク ID を入力しないと、エラーが発生します。
–logコマンドを使用すると、イベント・ビューアーでスクリプトが正しく機能していることを確認できます。
8. Windows タスク スケジューラまたはスクリプトの実行に使用するその他のツールを使用して、スクリプトを定期的に実行するようにスクリプトを設定します。
スクリプトに関する追加情報
組み込みのヘルプを表示するには、
.\ServiceMonitoring.ps1
ログキーを使用すると、イベント ログ “Windows ログ/アプリケーション” にログを記録できます。 既定では、ログ記録は Microsoft 管理コンソルに対してのみ行われます。
サービスステータスは7つの状態にできます。 デフォルトでは、値に変換されます。
- サービスは停止しています – デフォルトの 1000
- サービスは開始中です – デフォルトの 2000
- サービスが停止中 – デフォルトの 3000
- サービスが実行中です – デフォルトの 4000
- サービスは一時停止後に作業を再開しています – デフォルトの 5000
- サービスが一時停止中です – デフォルトの 6000
- サービスは一時停止されています – デフォルト 7000
これらの値は、コマンドラインキーを使用して他の任意の値に設定できます。
-停止 < 番号>
-開始 < 番号>
-停止 < 番号>
-ランニング < 番号>
-継続 < 番号>
-一時停止 < 番号>
-一時停止 < 番号>
-
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 は、監視対象のサービスがステータスを変更したときに通知を送信する、組み込みのアラート通知システムを提供します。