web-dev-qa-db-ja.com

Windowsサービスを監視する方法

特定のWindowsサービスを監視する(Windows Server 2003の場合)および必要な場合は再起動する yの方法を探しています。サービスは異なるサーバー上にあり、主にSQL Serverサービス(SQL Serverエージェントなど)が含まれますが、独自のサービスも含まれます。

サービスが停止した場合に送信される電子メールアラートも非常に便利です。

39
Craig HB

これには「十分な」バージョンがWindowsに組み込まれています。 services.mscを介して利用可能なサービスプロパティの[リカバリ]タブを確認します。

次の方法でサービスの失敗に対処できます。

  • 「サービスを再開する」
  • 「プログラムを実行する」
  • 「コンピューターを再起動します」

「プログラムを実行する」とは、たとえばメールを送信する小さなスクリプトです。

概要ダッシュボードとすべてを備えたより大きなソリューションが必要な場合は、多数のシステム監視ソリューションを利用できます。たとえば、SolarWinds IPMonitor、またはNagios、またはCactiが思い浮かびます。

43
Tomalak

いくつかの。NETプログラミングに興味がある場合、 System.ServiceProcess 名前空間は、実装、インストール、 Windowsサービスアプリケーションを制御します。

簡単な例、C#でサービスをチェックして開始する:

var srv = new ServiceController("MyService");
Console.WriteLine("MyService Status {0}", srv.Status);
if (srv.Status != ServiceControllerStatus.Running)
    srv.Start();
15
gimel

それらはいくつかの専用ツールかもしれませんが、wmicツールを指摘したいだけです。

wmic /node:[hostname] service list

任意のコンピューターのサービスを一覧表示できます

WMIC SERVICE where caption='TELNET' CALL STARTSERVICE

telnetサービスを再起動します。

Wmicをスクリプト言語(電子メールを送信可能)でカプセル化すると、探している監視ツールを使用できます。

6
VonC

これは、監視する内容によって異なります。

  • Service Control Manager(SCM)に関する限り、サービスは実際に停止しています。
  • SCMが認識しないでサービスがクラッシュしました-これはスレッド化のために非常に一般的です。
  • SCMが認識せずにサービスがハングアップした-これも非常に一般的です。

最初の項目では、電子メールアラートを送信するスクリプトを開始するようにサービスを構成できます。制御できない状況(不安定なネットワーク接続などに依存する)によりサービスが再起動し続ける場合、これは非常に面倒なことに注意してください。

他の2つのアイテムについては、何らかのタイプのハートビートサービスが必要になります。これは、構築または購入できます。ハートビートモニターを監視対象のサービスに対してローカルで実行するように注意してください。先ほど書いたように、 ネットワークは信頼できません です。

5
RoadWarrior

ManageEngine Free Windows Service Monitorを使用できます。これを使用すると、リモートシステムでサービスを開始/停止できます。

http://www.manageengine.com/free-windows-service-monitor/free-windows-service-monitor-index.html

3
Gopinathan

ローカルマシンでサービスが監視されていることを確認するための+1。

Service Hawk のようなものは、サービスを監視し、停止する必要がある場合にサービスを再起動して、電子メールアラートを送信することができます。別の投稿者が述べたように、SCMに関してはサービスが「停止」として表示されるとは限らないため、定期的な再起動のスケジュールを検討することもできます。これらの場合、サービスはハング、フリーズ、または台無しになり、スケジュールに従ってサービスを時々再起動すると、正常に実行されます。メモリをクリアするなどして、新たなスタートを切ります。

1
user188162

このようなシンプルなVBScriptを試すことができます http://themonitoringguy.com/scripts-code/monitoring-windows-services-vbscript/

0
Cheyne

それでは、Blade Logic Configuration ManagerというBlade Logic製品に興味がありますか?無料ではありませんが、Windowsサービスを監視する以上のことができます。よく見てください。それはあなたがあなたの質問などで尋ねたすべてを行います

0
Colwin