SCOMにてプロセスの監視をエージェントレスで実行する
SCOMには「プロセス監視」の管理パックテンプレートがあり、お手軽にプロセスの監視が出来ます。 結構細かい指定がコンソールから簡単に行えるので、重宝します。 が、そこはSCOM、やはりエージェントを導入していないとこれは動作しません。 エージェントが導入されていない、エージェントレス監視のサーバーは監視対象外となります。 これは、管理パックをエクスポートしてRemotable属性の値を確認することでも確認できます。 AvailabilityHealth Error true Normal Error $Data[Default=‘0’]/Context/DataItem/Item0Context/DataItem/ProcessInformations/ProcessInformation[./ProcessName =‘cmd.exe’]/ActiveInstanceCount$ cmd.exe 60 1 5 60 むりやりこれをRemotable=”true”と書き換えてしまってインポートし直すと、監視できているように見えますが、実際にはきちんと動作していません。 監視対象にはなっています。しかし、cmd.exeの数はエージェントレスで監視しているサーバーのものではない数(監視エージェント上のプロセスの数)が戻ってきてしまい、正常に監視できていません。この方法は使えません。 そもそもSCOMは思想的にも機能的にもエージェントを入れて監視するのが有効なので、無理にエージェントレスで頑張る必要は無いですし、お勧めできません。 ですが、やろうと思えば出来るよ・・・ということの一例としてスクリプトを自分で書いてcmd.exeのプロセスの数をリモートからモニターする管理パックを作成してみます。 ユニットモニターを作成します。 スクリプトを記述します。 ‘=================================================================================== ’ AUTHOR: Masahiko Ebisuda ’ Script Name: ProcessMonitor.vbs ’ DATE: 2015/07/13 ’ Version: 1.0 ’ COMMENT: Script to monitor process number. ‘=================================================================================== Option Explicit SetLocale(“en-us”) Dim ProcessName, objWMIService,colProcesses, objProcess, ComputerName, count ...