- ベストアンサー
リソース監視がしたい
Windows2000Serverにて、CPU等のリソース監視をしたいと思います。 ServerにWindows標準の「パフォーマンス」というツールがあり、これを使って運用することを考えています。 しかし、サーバが何台もあるため常にログを監視するのは大変です。 そこで、しきい値を設定し、それを超えると指定したメールアドレスに対して警告メッセージを送信する というようなことをさせたいのですが、「新しい警告の設定」を見ても出来るのかできないのかがよくわかりません。 「操作」タブの「ネットワークメッセージを送る」や「次のプログラムを実行する」設定で実現が出来るのでしょうか。 どのようにすれば実現できるか教えてください。
- みんなの回答 (5)
- 専門家の回答
質問者が選んだベストアンサー
ご質問の「新しい警告の設定」で、お望みのことに近いことは可能です。 例えばCPU使用率(%)が70%を超えたら警告メッセージを送信する場合は 「新しい警告の設定」で適当な名前を付けて警告を作成 「追加」で「% Processor Time」を選択して「追加」「閉じる」 制限値「70」「超過」を入力 「操作」タブに移動 「ネットワークメッセージを送る」をクリック その下にメッセージ送信先のサーバ名を入力 「OK」 これで「CPU使用率が70%を超えたら指定したサーバにメッセージを送信する」という警告が作成されます。 メールを送信するだけの機能を持ったプログラムを別途用意し、メッセージ送信の変わりに「次のプログラムを実行する」を選択してそのプログラムの名称を入力すれば、警告メッセージのかわりにメールを送信するようにもできます。 また「アプリケーションログにログのエントリを作成する」を使用して、あとでまとめてログ(イベント)を表示することもできます。イベントビューアを使って表示するイベントのソースを「SysmonLog」に限定すれば、警告の設定に関するイベントのみを表示することができます。
その他の回答 (4)
- xcrOSgS2wY
- ベストアンサー率50% (1006/1985)
理由はわからないながらも、ひとまず動作は確認できたようで、よかったです。 アプリケーションログに種類:情報、ソース:SysmonLogとして出力されていれば正常です。
お礼
ありがとうございました。なんとか解決できました。 今後ともよろしくお願いいたします。
- xcrOSgS2wY
- ベストアンサー率50% (1006/1985)
こちらで行ったのと同じ操作手順のようですね。 そうするとOSの設定の違いなのだと思いますが、「警告のためのコマンドを実行できません」というメッセージから考えるに、おそらく「パフォーマンス ログと警告」サービス(サービス名「Performance Logs and Alerts」)のログオンアカウントに「バッチジョブとしてログオン」権限が付与されていないのではないかと思います。 とは言っても、Windows 2000 Prodessional(Windows 2000のワークステーション版)では標準でこの権限が付与されているので、Windows 2000 Serverではダメな理由は分からないのですが。 念のため「パフォーマンス ログと警告」サービスのログオンアカウントが何になっているか確認してみてください。当方の環境ではLocalSystemになっていますが、もし特定のユーザ名(Domain\\DomainAdmin等)になっているようであれば、今度はポリシー設定(管理ツール→ローカルセキュリティポリシー→ローカルポリシー→ユーザー権利の割り当て)で「バッチジョブとしてログオン」権限を付与しているアカウント一覧の中にそのアカウントが含まれているかどうかを確認してみてください。
お礼
いろいろと調べていただきありがとうございます。 なぜかはわからないのですが、月曜日から当初の設定で動くようになりました。 「Messennger」サービスも起動していないです。単にパフォーマンスモニターでの設定です。とても不思議です。 メールを送信するプログラムを作って、そのファイルをバッチファイルで動かすようにしたらメールも送信されてきました。 ただ、やはりイベントビューワーでは、種類は「情報」としての警告であり、「警告」ではないようです。 設定した警告どおりにイベントビューワでは、メッセージが表示されているので、これが正しいんでしょうか。
- xcrOSgS2wY
- ベストアンサー率50% (1006/1985)
警告メッセージはMessengerサービスで表示されます。警告メッセージが表示されなかった理由は、おそらくMessengerサービスのスタートアップ設定が無効ないし手動になっているせいです。一度きりのテストであれば「開始」を選択、恒常的に使用するのであればスタートアップ設定を「自動」に設定してください。 次にBATファイルが実行されなかった件ですが、何らかの設定ミスと思われます。当方で試しに echo %0 %1 %2 %3 %4 %5 >>c:\tmp\log.txt という内容のBATファイルを作成し、これを実行するように設定したところ、c:\tmp\log.txtに c:\tmp\x.bat "xxx,2005-06-24 10:39:26,\\x\Processor(_Total)\% Processor Time,31.4,以上 30" c:\tmp\x.bat "xxx,2005-06-24 10:39:31,\\x\Processor(_Total)\% Processor Time,34.8,以上 30" c:\tmp\x.bat "xxx,2005-06-24 10:40:41,\\x\Processor(_Total)\% Processor Time,41.8837675350701,以上 30" のようにログが記録されましたので、BATファイルが動いていることが確認できました。 どの項目にどのように入力されたのか確認できないので何とも言えないのですが、もしどうしようもなければ、こちらで同じ状況が再現できる程度に再度ご説明いただけますでしょうか。
お礼
テストまでしていただきありがとうございます。 xcrOSgS2wYさんが作成されたバッチファイルと同じものを作り試しましたが結果は同じでした。もちろん、batファイルを直接実行するとファイルに書き込みは出来ていました。 test.batファイルに例としてあげておられる内容を記述しました。 「パフォーマンス」の設定では、 カウンターは[prossesor]で、しきちは「20」で「60」秒間隔にしています。 「実行するアカウント」はブランクです。 「操作」タブでは、「アプリケーションログにログのエントリを作成」にチェック。「次のプログラムを実行」に「C:\test\test.bat」としました。 イベントビューワーを見ますと、種類「情報」で「警告のしきい値に達しました。」と出ています。 その後に「警告」で「警告のためのコマンド '' を実行できません」と出ていました。 「Messenger」サービスも起動しました。 何が違うんでしょうか。OSの設定ですかね。
- gugux
- ベストアンサー率16% (68/413)
"Automatic Alert Administrator" http://www.unified.co.jp/html/AAA/AAA31.html というのを見つけました。 最後はこれかな?
お礼
貴重な情報ありがとうございます。 コストの関係もあり、まずは標準的機能で実現できるかどうかを検証しなければいけないので、まずは「パフォーマンス」機能を使ってみます。 それが要件を満たすことを出来ないとわかった場合、教えていただいたツールの導入を検討します。(要件は満たしていると思いますので。。。)
お礼
ありがとうございます。 ご説明いただいた内容でやってみました。 制限値の設定は、機能していました。 ただ、イベントビューワーで見たときに、「情報」として「警告のしきい値に達した」と表示されていました。「警告」では出ないのでしょうか。 また、「次のプログラムを実行する」でBATファイルを作成しました。まずはテストとして、「ファイルをリネームする」BATファイルを作って試したのですが動きませんでした。イベントビューワーでは「”タイトル” 警告のためのコマンド '' を実行できません。 警告はスケジュールどおりに続行します。 」というエラーになっていました。BATは、実行可能ファイルとなっていたので動くと思ったんですが。。。 ちなみに、BATファイル自体は、手動で動きます。