none
パフォーマンス監視について RRS feed

  • 質問

  • お世話になります。

    Windows Server2012 Standard

    当該サーバーにて以下のパフォーマンス監視をしたいと思っております。
    閾値を設定し、超えたら(もしくは下回ったら)担当者へその旨メールさせたいのですが、やり方が分かりません。

     ・CPU使用率 閾値90%
     ・メモリ使用率 閾値60%
     ・トラフィック 閾値70%
     ・HD容量 閾値70%

    パフォーマンスモニタの箇所で設定するかと思うのですが、具体的な設定方法をご教授頂けると助かります。もしくは、設定方法が紹介されているサイト(なるべく図解入りの)を教えて頂けると幸いです。

    ※60分間での平均が閾値を超えた場合・・・というような設定も可能なのでしょうか。

    ご教授の程、宜しくお願い致します。

    2014年5月27日 1:29

回答

  • はじめまして。メール通知設定についてはタスクスケジューラで対応かと思います。以下のサイトが参考になるかと思います。


    パフォーマンス監視について
    http://www.atmarkit.co.jp/fwin2k/win2ktips/1183taskevt/taskevt.html


    ただ、「60分間での平均が閾値を超えた場合~」といった設定は、私が手元で見た限りでは、タスクスケジューラのGUIの機能だけでは無理なように見えました

    • 編集済み Zaamasu 2014年5月27日 6:32
    • 回答の候補に設定 佐伯玲 2014年5月28日 1:47
    • 回答としてマーク 佐伯玲 2014年6月13日 5:33
    2014年5月27日 6:30
  • nao216様。

    本件について、 [警告のタスク] の作成について記載されたサイトの紹介が漏れていましたので、追加でお伝えいたします。紹介が漏れてしまい申し訳ございません。

    http://blogs.technet.com/b/askcorejp/archive/2009/07/01/windows-server-2008.aspx
    (私も検証は行ったことはないため、実施可能かどうかは検証で試してみてください)

     

    一般的なCPUの使用率を示すカウンタについて、私もどれかは断言できませんが、以下のサイトに「CPU 使用率を効率よく確認するには、システム モニターの Processor:% Processor Time カウンターを使用する」と記載されておりますので、 当該カウンタになるのかと認識しております(私個人の認識ですので、ご参考まで)。

    ・CPU 使用率の監視
    http://msdn.microsoft.com/ja-jp/library/ms178072.aspx

     

    なお、Processor:% Processor Timeについては、以下のサイトも参考にしてください。

    ・パフォーマンス カウンタについて
    http://technet.microsoft.com/ja-jp/library/cc748731.aspx



    • 編集済み Zaamasu 2014年5月27日 12:39
    • 回答の候補に設定 佐伯玲 2014年5月28日 1:47
    • 回答としてマーク 佐伯玲 2014年6月13日 5:33
    2014年5月27日 12:29
  • nao216様。
    連絡が遅くなりましたが、ご質問に回答いたします。また、先日私がお知らせした方法について、Windows Server 2012 の場合には、追加で対応が必要な箇所があることもわかりましたので、こちらも併せて記載します。
     
    >設定方法の8にあります『実行するタスクとその引数を設定します』の箇所が、理解できない状況です。
    -> 作成したデータコレクタセットの [警告のタスク] の "警告が出されたときに実行するタスク" には、Microsoft\Windows\exampleを入力すればよいと思います。
     
    >実行するタスクを作成し、そのタスク名を設定すればよいのでしょうか。
    -> はい。[警告のタスク]で入力したものと合うよう、タスク名は example にしてください。
     
    [参考情報]
    ・Windows 2008のパフォーマンスモニタ[警告]について
    http://social.technet.microsoft.com/forums/windowsserver/ja-JP/89688300-2b2d-4d62-88dc-e5ae6955fc1c/windows-2008
    -> "警告が出されたときに実行するタスク" について記載
     
    ・タスクスケジューラの基本的な使い方(Windows 7/8/8.1編)
    http://www.atmarkit.co.jp/ait/articles/1305/31/news049.html
    -> タスクスケジューラの使い方について記載。
     
    >また、データコレクターセットの作成時、Processer Timeを追加して、90%を閾値としたい場合は、警告する時期を「より上」、制限を「90」とすればよいのでしょうか。
    -> この考え方でよいと思います。制限値について明記された情報は見当たらなかったのですが、私で以下のように検証(※)したところ、CPU 利用率が 1 % を超えるときに(目視確認)、タスクに設定したスクリプトが実行されるように見えました。
     
    ※ 検証内容
    O データコレクタセットの [警告] に設定した値
    ・パフォーマンスカウンタ : \Processor(_Total)\%Processor Time
    ・警告する時期 : より上
    ・制限値 : 1
     
    O タスクのプロパティ([操作]タブ)に設定した条件
    操作 : プログラムの開始
    詳細 : C:\XXX.bat ファイルの実行
     
    >Windows Server 2012 の場合に追加で対応が必要なこと
    Windows Server 2008 R2 ではタスクの操作で "プログラムの開始" だけでなく、"電子メールの送信" や "メッセージの表示" を行うことが可能でした ("電子メールの送信" を選択すると、ご要望を満たすと認識していました)。しかし、Windows Server 2012 では "プログラムの開始" のみ、使用可能となってしまったようです(詳細は上記タスクスケジューラの Web ページに記載)。
     
    そのため、要望を満たすためには、タスクにて "プログラムの開始" を選択し、メールを送信するためのスクリプトを作成する、といった対応が必要になると思います。以下にメールを送信する際に参考になりそうなスクリプトを紹介しますので、検証してみてください (検証したいのはやまやまですが、ちょっと時間がなく、できておりません)。
     
    http://www.atmarkit.co.jp/fwin2k/win2ktips/1015psmail/psmail.html

    http://blogs.technet.com/b/junichia/archive/2011/12/08/3469710.aspx





    • 編集済み Zaamasu 2014年6月5日 9:59
    • 回答の候補に設定 佐伯玲 2014年6月12日 6:17
    • 回答としてマーク 佐伯玲 2014年6月13日 5:33
    2014年6月5日 8:10

すべての返信

  • はじめまして。メール通知設定についてはタスクスケジューラで対応かと思います。以下のサイトが参考になるかと思います。


    パフォーマンス監視について
    http://www.atmarkit.co.jp/fwin2k/win2ktips/1183taskevt/taskevt.html


    ただ、「60分間での平均が閾値を超えた場合~」といった設定は、私が手元で見た限りでは、タスクスケジューラのGUIの機能だけでは無理なように見えました

    • 編集済み Zaamasu 2014年5月27日 6:32
    • 回答の候補に設定 佐伯玲 2014年5月28日 1:47
    • 回答としてマーク 佐伯玲 2014年6月13日 5:33
    2014年5月27日 6:30
  • ざあます様

    ご回答ありがとうございました。

    パフォーマンスモニターの方で閾値を超えた場合にログに書き込むようにしておいて、タスクスケジューラの方でそのログを監視して、条件にあったらメール通知。。ということになるのでしょうか。。いまいちその辺を理解できずにおります。

    別件ですが、CPU使用率やメモリ使用率に閾値をもたせたいのですが、パフォーマンスモニターをみてみるとCPUの中でもカウンターとして[Idle Time]や[User Time]など、色々あります。一般的にCPUの使用率といったら、どのカウンターを設定しておけばよいのでしょうか。

    度々申し訳ございませんが、ご教授頂けると幸いです。

    宜しくお願い致します。

    2014年5月27日 10:29
  • nao216様。

    本件について、 [警告のタスク] の作成について記載されたサイトの紹介が漏れていましたので、追加でお伝えいたします。紹介が漏れてしまい申し訳ございません。

    http://blogs.technet.com/b/askcorejp/archive/2009/07/01/windows-server-2008.aspx
    (私も検証は行ったことはないため、実施可能かどうかは検証で試してみてください)

     

    一般的なCPUの使用率を示すカウンタについて、私もどれかは断言できませんが、以下のサイトに「CPU 使用率を効率よく確認するには、システム モニターの Processor:% Processor Time カウンターを使用する」と記載されておりますので、 当該カウンタになるのかと認識しております(私個人の認識ですので、ご参考まで)。

    ・CPU 使用率の監視
    http://msdn.microsoft.com/ja-jp/library/ms178072.aspx

     

    なお、Processor:% Processor Timeについては、以下のサイトも参考にしてください。

    ・パフォーマンス カウンタについて
    http://technet.microsoft.com/ja-jp/library/cc748731.aspx



    • 編集済み Zaamasu 2014年5月27日 12:39
    • 回答の候補に設定 佐伯玲 2014年5月28日 1:47
    • 回答としてマーク 佐伯玲 2014年6月13日 5:33
    2014年5月27日 12:29
  • ざあます様

    度々のご回答ありがとうございます。

    早速教えて頂いたサイトを拝見しましたが、設定方法の8にあります『実行するタスクとその引数を設定します』の箇所が、理解できない状況です。

    実行するタスクを作成し、そのタスク名を設定すればよいのでしょうか。

    また、データコレクターセットの作成時、Processer Timeを追加して、90%を閾値としたい場合は、警告する時期を「より上」、制限値を「90」とすればよいのでしょうか。

    現状、Win7Proの端末にてテストしているのですが、90%を超えることはなかなかないと思うので、あえて警告を出すように「より上」、制限値を「1」とすればよいかと思ったのですが、イベントログにも出てこないし。。根本的にやりかたが間違っているようです。。

    本来であれば警告メール通知が来たときに、確認するなりすればよいかと考えておりましたが、第一段階としては閾値を超えたときにシステムログ?に残すようにしたいところです。で、定型業務としてログを確認するようにすればよいのかなと。


    • 編集済み nao216 2014年5月28日 2:56
    2014年5月28日 2:42
  • nao216様。
    連絡が遅くなりましたが、ご質問に回答いたします。また、先日私がお知らせした方法について、Windows Server 2012 の場合には、追加で対応が必要な箇所があることもわかりましたので、こちらも併せて記載します。
     
    >設定方法の8にあります『実行するタスクとその引数を設定します』の箇所が、理解できない状況です。
    -> 作成したデータコレクタセットの [警告のタスク] の "警告が出されたときに実行するタスク" には、Microsoft\Windows\exampleを入力すればよいと思います。
     
    >実行するタスクを作成し、そのタスク名を設定すればよいのでしょうか。
    -> はい。[警告のタスク]で入力したものと合うよう、タスク名は example にしてください。
     
    [参考情報]
    ・Windows 2008のパフォーマンスモニタ[警告]について
    http://social.technet.microsoft.com/forums/windowsserver/ja-JP/89688300-2b2d-4d62-88dc-e5ae6955fc1c/windows-2008
    -> "警告が出されたときに実行するタスク" について記載
     
    ・タスクスケジューラの基本的な使い方(Windows 7/8/8.1編)
    http://www.atmarkit.co.jp/ait/articles/1305/31/news049.html
    -> タスクスケジューラの使い方について記載。
     
    >また、データコレクターセットの作成時、Processer Timeを追加して、90%を閾値としたい場合は、警告する時期を「より上」、制限を「90」とすればよいのでしょうか。
    -> この考え方でよいと思います。制限値について明記された情報は見当たらなかったのですが、私で以下のように検証(※)したところ、CPU 利用率が 1 % を超えるときに(目視確認)、タスクに設定したスクリプトが実行されるように見えました。
     
    ※ 検証内容
    O データコレクタセットの [警告] に設定した値
    ・パフォーマンスカウンタ : \Processor(_Total)\%Processor Time
    ・警告する時期 : より上
    ・制限値 : 1
     
    O タスクのプロパティ([操作]タブ)に設定した条件
    操作 : プログラムの開始
    詳細 : C:\XXX.bat ファイルの実行
     
    >Windows Server 2012 の場合に追加で対応が必要なこと
    Windows Server 2008 R2 ではタスクの操作で "プログラムの開始" だけでなく、"電子メールの送信" や "メッセージの表示" を行うことが可能でした ("電子メールの送信" を選択すると、ご要望を満たすと認識していました)。しかし、Windows Server 2012 では "プログラムの開始" のみ、使用可能となってしまったようです(詳細は上記タスクスケジューラの Web ページに記載)。
     
    そのため、要望を満たすためには、タスクにて "プログラムの開始" を選択し、メールを送信するためのスクリプトを作成する、といった対応が必要になると思います。以下にメールを送信する際に参考になりそうなスクリプトを紹介しますので、検証してみてください (検証したいのはやまやまですが、ちょっと時間がなく、できておりません)。
     
    http://www.atmarkit.co.jp/fwin2k/win2ktips/1015psmail/psmail.html

    http://blogs.technet.com/b/junichia/archive/2011/12/08/3469710.aspx





    • 編集済み Zaamasu 2014年6月5日 9:59
    • 回答の候補に設定 佐伯玲 2014年6月12日 6:17
    • 回答としてマーク 佐伯玲 2014年6月13日 5:33
    2014年6月5日 8:10
  • こんにちは、nao216さん
    フォーラムオペレータの佐伯 玲 です。

    その後お時間が少々経ちましたがざあますさんからさらに寄せられた返信はご覧いただけましたでしょうか?
    ご参考になるのではないかと思われる情報が寄せられているかと思いましたので私のほうで「回答としてマーク」とさせていただきました。

    うまくいかない場合にはあとから回答マークを解除することも可能ですのでご確認いただけた際にはその後の状況をご返信いただけましたらと思います。


    宜しくお願い致します。

    TechNet Community Support 佐伯 玲

    2014年6月13日 5:31