こんにちは、デジタルテクノロジーのT.Mです。

目的

OMS Insight and Analytics のログ検索を利用し、パフォーマンスカウンタの閾値監視を行うことを目的とします。本稿ではサンプルとして CPUの使用率を示す「% Processor Time」のカウンタ値を検索し閾値を超過した場合アラームメールを発行するよう構成してみます。

 

エージェントのインストール

パフォーマンスカウンタの監視対象にはエージェントをする必要があります。エージェントのインストールは以下の記事をご参照ください。

パフォーマンスカウンタのデータ収集設定

パフォーマンスカウンタのデータ収集設定は、OSタイプ別に行います。 OMS管理画面の [設定] > [Data] 配下に以下の2つメニューがあります。

  • Windowsパフォーマンスカウンター
  • Linuxパフォーマンスカウンター

収集するパフォーマンスカウンタ名と、カウンタ値のサンプリング間隔を指定します。

 

Windowsパフォーマンスカウンター設定画面

サンプルの間隔は 60秒に設定されています。不要なカウンタは削除できます。

 

Linuxパフォーマンスカウンター設定画面

下記例では、Linuxにおける「%Processor Time」のサンプリング間隔は 10秒に設定されています。サンプリング間隔を密にすると精度は上がりますが、ログデータ容量は増えます。不要なカウンタは削除するなど適宜修正してください。

 

試しに、Linuxサーバである、コンピュータ名cybozu の 「% Processor Time」を抽出すると、確かに10秒毎にサンプリングされていることが分かります。

Type=Perf CounterName=”% Processor Time” InstanceName=”_Total” Computer=”cybozu”

 

パフォーマンスログの検索

OMSのメニューから、[ログ検索]を選択し、検索欄にクエリーを入力します。パフォーマンスカウンタを検索する場合は、Type=Perf を指定します。以下の通り「% Processor Time」の検索クエリーを入力し実行します。クエリーについての詳細はマイクロソフトサイトをご参照ください。

Type=Perf CounterName=”% Processor Time” InstanceName=”_Total”

クエリ結果の表示は次の3つから選択できます。

  1. リスト
  2. テーブル
  3. メトリック

それぞれの表示サンプルを見てみましょう。

リスト表示

 

テーブル表示

 

メトリック表示

ここでは [メトリック] を選択し、グラフ表記します。パフォーマンスカウンタを収集している全ノードの % Processor Time がグラフ表示されます。グラフを拡大表示したい場合は、[+] リンクをクリックします。

以下の通り、グラフが拡大されます。元に戻す場合は、[折りたたむ] をクリックします。

 

「% Processor Time」のカウンター値が 90%を超えたログを抽出したい場合は、以下のようなクエリーを実行します。

Type=Perf CounterName=”% Processor Time” InstanceName=”_Total” CounterValue > 90

 

特定のノードに絞って検索する場合は、Computer でコンピュータ名を指定します。(下の例では「cybozu」というコンピュータを指定しています)

Type=Perf CounterName=”% Processor Time” InstanceName=”_Total” CounterValue > 90 Computer=”cybozu”

 

アラートの作成

サーバCPUの高負荷状態が継続している等、システム異常の兆候を通知するために、アラートを設定することが可能です。例として、コンピュータ名「cybozu」というサーバの % Processor Time が 90%を超える状態が継続した場合にシステム管理者宛にメール通知するアラートを作成してみます。

検索クエリは次の通りとなります

Type=Perf CounterName=”% Processor Time” InstanceName=”_Total” CounterValue > 90 Computer=”cybozu”

クエリを入力後、[アラート] ボタンをクリックします。

 

アラート設定画面が表示されますので、各種設定を入力し、[保存]ボタンをクリックします。

以下は、時間枠15分間に、「% Processor Time」のカウンタ値が90%を超えた回数が2回より多い場合にアラートメールを通知するサンプルとなります。

全般 > アラート情報

名前 Percent Processor Time (cybozu)
説明
重大度 警告
検索クエリ Type=Perf CounterName=”%Processor Time” InstanceName=”_Total” CounterValue > 90 Computer=”cybozu”
時間枠 15分

 

スケジュール > アラートの頻度

このアラートを確認する頻度 15分
アラートを生成する基準 結果の数
結果の数 次の値より大きい: 2
アラートを表示しない  (チェックしない)

 

アクション >  電子メールの通知

電子メールの通知 はい
件名 [警告] Percent Processor Time (cybozu)
受信者  xxxxxxxxxxxx@dtc.co.jp

 

その他

Webhook いいえ
Runbook いいえ
ITSM操作 いいえ

※アクションとして Runbook連携しアラート発生時に調査すべきコマンドを自動実行し管理者に報告することも可能となります。またWebhook、ITSMによる外部連携も可能です。本稿では割愛しますが、連携については改めて紹介の記事として掲載したいと思います。

 

作成したアラートは [設定] > [Alerts]  で確認できます。

 

アラートの確認

設定したアラート条件にマッチした場合、指定したアドレスに以下のようなメールが到着します。

以上、今回はパフォーマンスカウンタ値を検索し、閾値を超過した場合にアラートメールを送信するよう構成しました。サーバが様々なロケーションに散在していたとしても、OMSにパフォーマンスカウンタのログを集約しておきさえすれば Insight and Analytics で検索、監視ができるので便利です。