特定のWindowsサービスを監視する(Windows Server 2003の場合)および必要な場合は再起動する yの方法を探しています。サービスは異なるサーバー上にあり、主にSQL Serverサービス(SQL Serverエージェントなど)が含まれますが、独自のサービスも含まれます。
サービスが停止した場合に送信される電子メールアラートも非常に便利です。
これには「十分な」バージョンがWindowsに組み込まれています。 services.msc
を介して利用可能なサービスプロパティの[リカバリ]タブを確認します。
次の方法でサービスの失敗に対処できます。
「プログラムを実行する」とは、たとえばメールを送信する小さなスクリプトです。
概要ダッシュボードとすべてを備えたより大きなソリューションが必要な場合は、多数のシステム監視ソリューションを利用できます。たとえば、SolarWinds IPMonitor、またはNagios、またはCactiが思い浮かびます。
いくつかの。NETプログラミングに興味がある場合、 System.ServiceProcess 名前空間は、実装、インストール、 Windowsサービスアプリケーションを制御します。
簡単な例、C#でサービスをチェックして開始する:
var srv = new ServiceController("MyService");
Console.WriteLine("MyService Status {0}", srv.Status);
if (srv.Status != ServiceControllerStatus.Running)
srv.Start();
それらはいくつかの専用ツールかもしれませんが、wmicツールを指摘したいだけです。
wmic /node:[hostname] service list
任意のコンピューターのサービスを一覧表示できます
WMIC SERVICE where caption='TELNET' CALL STARTSERVICE
telnetサービスを再起動します。
Wmicをスクリプト言語(電子メールを送信可能)でカプセル化すると、探している監視ツールを使用できます。
これは、監視する内容によって異なります。
最初の項目では、電子メールアラートを送信するスクリプトを開始するようにサービスを構成できます。制御できない状況(不安定なネットワーク接続などに依存する)によりサービスが再起動し続ける場合、これは非常に面倒なことに注意してください。
他の2つのアイテムについては、何らかのタイプのハートビートサービスが必要になります。これは、構築または購入できます。ハートビートモニターを監視対象のサービスに対してローカルで実行するように注意してください。先ほど書いたように、 ネットワークは信頼できません です。
ManageEngine Free Windows Service Monitorを使用できます。これを使用すると、リモートシステムでサービスを開始/停止できます。
http://www.manageengine.com/free-windows-service-monitor/free-windows-service-monitor-index.html
ローカルマシンでサービスが監視されていることを確認するための+1。
Service Hawk のようなものは、サービスを監視し、停止する必要がある場合にサービスを再起動して、電子メールアラートを送信することができます。別の投稿者が述べたように、SCMに関してはサービスが「停止」として表示されるとは限らないため、定期的な再起動のスケジュールを検討することもできます。これらの場合、サービスはハング、フリーズ、または台無しになり、スケジュールに従ってサービスを時々再起動すると、正常に実行されます。メモリをクリアするなどして、新たなスタートを切ります。
このようなシンプルなVBScriptを試すことができます http://themonitoringguy.com/scripts-code/monitoring-windows-services-vbscript/
それでは、Blade Logic Configuration ManagerというBlade Logic製品に興味がありますか?無料ではありませんが、Windowsサービスを監視する以上のことができます。よく見てください。それはあなたがあなたの質問などで尋ねたすべてを行います