System Center Operations Manager の Linux ログ ファイル監視

重要

このバージョンの Operations Manager はサポート終了に達しました。 Operations Manager 2022 にアップグレードすることをお勧めします。

注意

System Center Operations Manager では、2024 年 8 月に予定されている OMS エージェントの廃止時に fluentD ベースのログ ファイルの監視はサポートされません。

System Center Operations Manager では、Fluentd を使うエージェントの最新バージョンを使用した、Linux サーバー向けのログ ファイルの監視機能が拡張されました。 この更新プログラムにより、以前のログ ファイルの監視に次のような改良が加えられています。

  • ログ ファイル名とパスにワイルド カード文字を使用。
  • 単純一致、排他的な一致、相関の一致、繰り返される相関関係、排他的な相関関係などの、カスタマイズ可能なログ検索の新しい一致パターン。
  • Fluentd コミュニティによって公開された汎用 Fluentd プラグインのサポート。

基本的な操作

Linux のログ ファイル監視の基本的な操作には、次の手順が含まれています。

  1. レコードが Linux エージェントのログに書き込まれます。
  2. Fluentd はそのレコードを収集し、パターン マッチでイベントを作成します。
  3. イベントは管理サーバー上の OMED サービスに送信され、管理サーバー上の System Center OMED サービス イベント ログに記録されます。 ( System Center OMED サービス イベント ログは、Fluentd エージェントからイベントが正常に送信された場合にのみ作成されます)
  4. カスタム管理パックのルールとモニターでイベントを収集し、Operations Manager でアラートを作成します。

構成の概要

次の手順は、Linux エージェントのログ ファイルの監視を有効にするのに必要です。 以下のセクションでは、これらの各手順について詳しく説明します。

  1. 最新の Linux 管理パックをインポートします。
  2. 監視対象となっている各 Linux コンピューターに最新バージョンの Linux エージェントをインストールします。
  3. ログを収集する Fluentd 構成ファイルを作成します。
  4. Linux エージェントに構成ファイルをコピーします。
  5. サンプル管理パックを使用してルールとモニターを作成し、ログからイベントを収集してアラートを作成します。

最新バージョンの Linux エージェントをインストールします

最新バージョンの Linux エージェントは、ログ ファイルの監視強化に必要な Fluentd をサポートしています。 コマンド ラインを使用して UNIX および Linux にエージェントをインストールする内容に関する記事に、新しいエージェントの詳細とインストールの方法が記載されています。

Linux ログ ファイルの監視を構成する

Linux 管理パック バンドルには、最新の Operations Manager エージェント (Fluentd を使用) が含まれています。 Linux ログ ファイルの監視を構成するには、ユーザーは以下を実行する必要があります。

  1. 管理パックをインストールする標準の方法を使用して、最新の Linux 管理パックをインポートします。
  2. Linux サーバーに新しい Linux エージェントをインストールします。これは検出ウィザードを使って、または手動で行うことができます。
  3. Linux エージェントを管理するリソース プール内の各管理サーバーで OMED サービスを有効にします。

OMED サービスでは、Fluentd からイベントを収集して Operations Manager イベントに変換します。 ユーザーはカスタム管理パックをインポートする必要があります。これにより、Linux サーバーから受信したイベントに基づいてアラートを生成できます。

OMED サービスは、オペレーション コンソールから有効にするか、管理サーバー上またはゲートウェイ サーバー上で手動で有効にします。

オペレーション コンソールから

  1. オペレーション コンソールから、[監視][Operations Manager][管理サーバー][Management Servers State](管理サーバーの状態) の順に進みます。
  2. [Management Servers State](管理サーバーの状態) ウィンドウから管理サーバーを選択します。
  3. [タスク] ウィンドウで、[Health Service Tasks](ヘルス サービス タスク)[Enable System Center OMED Server](System Center OMED サーバーを有効にする) を選択します。

手動

  1. [ スタート] を選択し、[ 検索の開始 ] ボックスに 「services.msc 」と入力し、 Enter キーを押します。
  2. 詳細ウィンドウで、 サービス System Center Operations Manager External DataSource Service を右クリックし、[プロパティ] を選択 します
  3. [ 全般 ] タブの [ スタートアップ の種類] で、[ 自動] を選択し、[ OK] を選択します
  4. 詳細ウィンドウで、サービスを右クリックし、[開始] を選択 します

Fluentd 構成ファイルを作成する

構成ファイルで Fluentd の操作を構成します。 ログを監視するには、ソース ログ ファイル名やログ ファイルのパス、フィルターなどの情報を含む構成ファイルを作成して、収集するデータを定義する必要があります。

Fluentd のマスター構成ファイル omsagent.conf/etc/opt/microsoft/omsagent/scom/conf/ にあります。 ログ ファイルの監視の構成は、直接このファイルに追加できますが、さまざまな設定をより適切に管理するには個別の構成ファイルを作成する必要があります。 次に、マスター ファイルで @include ディレクティブを使用して、カスタム ファイルを追加します。

たとえば、/etc/opt/microsoft/omsagent/scom/conf/omsagent.dlogmonitoring.conf を作成した場合、以下の行のいずれかを fluent.conf に追加します。

  #Include all configuration files
  @include omsagent.d/*.conf

または

  #include single configuration file
  @include omsagent.d/logmonitoring.conf

Fluentd の構成ファイルの構文に関するページで、Fluentd 構成ファイルについての詳細を入手できます。 次のセクションでは、ログ ファイルの監視に固有の構成ファイルで、さまざまなディレクティブを使用する設定について説明します。 それぞれに、構成ファイルに貼り付けて要件に合わせて変更できる、サンプル設定が含まれます。

独自のファイルを作成する前に、ログ監視のサンプル構成ファイルの完全版を見て、確認および評価できます。

source

Source ディレクティブは収集するデータのソースを定義します。 ここには、ログ ファイルの詳細を定義します。 Fluentd では、ソースに書き込まれた各レコードを取得し、Fluentd のルーティング エンジンにそのイベントを送信します。 このディレクティブのこの場所で、タグを指定する必要があります。 タグとは、Fluentd 内部のルーティングエンジンに対して、さまざまなディレクティブを関連付けるための指示に使われる文字列です。

次の例では、Operations Manager が処理できるように収集とタグ付けが行われた syslog レコードを示しています。

  <source>

      # Specifies input plugin. Tail is a fluentd input plugin - http://docs.fluentd.org/v0.12/articles/in_tail
      type tail

      # Specify the log file path. Supports wild cards.
      path /var/log/syslog

      # Recommended so that Fluentd will record the position it last read into this file.
      pos_file /home/user1/fluent-test/demo_syslog.log.pos

      # Used to correlate the directives.
      tag scom.log.syslog

      format /(?<message>.*)/

  </source>

一致する

match ディレクティブは、ソースから収集された、タグが一致するイベントを処理する方法を定義します。 パターンに一致するタグを持つイベントだけが、出力先に送信されます。 複数のパターンが 1 つの一致タグ内にある場合、イベントは一覧にあげられているパターンのいずれかに一致させることができます。 type パラメーターは、これらのイベントにどのプラグインを使用すべきかを指定します。

次の例では、タグの一致しているイベント scom.log.** と scom.alert を処理します (** は、0 個以上のタグ部分と一致します)。 out_scom プラグインを指定します。これにより、Operations Manager 管理パックによってイベントを収集できます。

  <match scom.log.** scom.event>

      # Output plugin to use
      type out_scom

      log_level trace
      num_threads 5

      # Size of the buffer chunk. If the top chunk exceeds this limit or the time limit flush_interval, a new empty chunk is pushed to the top of the  
      queue and bottom chunk is written out.
      buffer_chunk_limit 5m
      flush_interval 15s

      # Specifies the buffer plugin to use.
      buffer_type file

      # Specifies the file path for buffer. Fluentd must have write access to this directory.
      buffer_path /var/opt/microsoft/omsagent/scom/state/out_scom_common*.buffer

      # If queue length exceeds the specified limit, events are rejected.
      buffer_queue_limit 10

      # Control the buffer behavior when the queue becomes full: exception, block, drop_oldest_chunk
      buffer_queue_full_action drop_oldest_chunk

      # Number of times Fluentd will attempt to write the chunk if it fails.
      retry_limit 10

      # If the bottom chunk fails to be written out, it will remain in the queue and Fluentd will retry after waiting retry_wait seconds
      retry_wait 30s

      # The retry wait time doubles each time until max_retry_wait.
      max_retry_wait 9m

  </match>

Note

Fluentd 通信を使用しているサーバー認証を Linux 上で無効にするには、次のようにパラメータ― enable_server_auth false を Fluentd 用の SCOM out プラグインに追加します。

  <match scom.log.** scom.event>
  type out_scom

  max_retry_wait 9m
  enable_server_auth false
  </match>

フィルター

filter ディレクティブの構文は match と同じですが、処理するデータをより複雑にフィルター処理できます。 収集されたイベントは、出力に追加されるすべてのフィルターの条件と一致する必要があります。

ログ ファイルの監視に利用できる 6 つのフィルター プラグインについて、ここで説明します。 次のフィルターの 1 つ以上を使って、ログ ファイルから収集するイベントを定義します。

単純一致: filter_scom_simple_match

最大 20 の入力パターンを取ります。 任意のパターンが一致するたびに、Operations Manager にイベントを送信します。

  <filter tag>
      type filter_scom_simple_match
      regexp1 <key> <pattern>
      event_id1 <event ID>
      regexp2 <key> <pattern>
      event_id2 <event ID>
      .
      .
      .
      regexp20 <key> <pattern>
      event_id20 <event ID>
  </filter>

排他的一致: filter_scom_excl_match

2 つの入力パターンを取ります。 1 つのレコードがパターン 1 と一致するがパターン 2 と一致しない場合に、Operations Manager にイベントを送信します。

  <filter tag>
      type filter_scom_excl_match
      regexp1 <key> <pattern1>
      regexp2 <key> <pattern2>
      event_id <event ID>
  </filter>

反復される相関関係: filter_scom_repeated_cor

パターン、時間間隔、および多くの出現回数の 3 つの入力を受け取ります。 最初のパターンに一致するものが見つかった場合、タイマーが開始されます。 タイマーが終了する前に、指定された回数分パターンが一致した場合、イベントが Operations Manager に送信されます。

  <filter tag>
      type filter_scom_repeated_cor
      regexp <key> <pattern>
      event_id <event ID>
      time_interval <interval in seconds>
      num_occurences <number of occurrences>
  </filter>

相関性のある一致: filter_scom_cor_match

2 つのパターンと時間間隔の、3 つの入力を取ります。 最初のパターンに一致するものが見つかった場合、タイマーが開始されます。 タイマーが終了する前に 2 番目のパターンと一致する場合、イベントが Operations Manager に送信されます。

  <filter tag>
      type filter_scom_cor_match
      regexp1 <key> <pattern1>
      regexp2 <key> <pattern2>
      event_id <event ID>
      time_interval <interval in seconds>
  </filter>

排他的な相関関係: filter_scom_excl_correlation

2 つのパターンと時間間隔の、3 つの入力を取ります。 最初のパターンに一致するものが見つかった場合、タイマーが開始されます。 タイマーが終了する前に 2 番目のパターンに一致するものがない場合、イベントは Operations Manager に送信されます。

  <filter tag>
      type filter_scom_excl_correlation
      regexp1 <key> <pattern1>
      regexp2 <key> <pattern2>
      event_id <event ID>
      time_interval <interval in seconds>
  </filter>

Operations Manager コンバーター: filter_scom_converter

受信したすべてのレコードのイベントを Operations Manager に送信します。 イベントの一部として、指定されたイベント ID と説明を送信します。

  <filter tag>
      type filter_scom_converter
      event_id <event ID>
      event_desc <event description>
  </filter>

エージェントに構成ファイルをコピーする

Fluentd 構成ファイルを、監視したいすべての Linux コンピューターの /etc/opt/microsoft/omsagent/scom/conf/omsagent.d にコピーする必要があります。 前述の通り、マスター構成ファイルに @include ディレクティブも追加する必要があります。

ルールとモニターを作成する

Linux MP には、FluentD からイベントを収集するためのモジュールは用意されていません。 Linux MP は Linux エージェントにバンドルされています。 これは Linux エージェントの fluentd モジュールであり、ログ ファイルの監視を強化する機能を提供する管理サーバーとゲートウェイ サーバー上の OMED サービスです。

Fluentd からイベントを収集するモジュール Microsoft.Linux.OMED.EventDataSource を使用するカスタム ルールとモニターを使用して、独自の管理パックを作成する必要があります。

次の表に、Microsoft.Linux.OMED.EventDataSource のパラメーターを示します。

パラメーター Type 説明
[ComputerName] String 必須。 イベントを読み取る Linux コンピューターの名前を指定します。 ComputerName パラメーターは、$Target 表記を使用してモジュールに渡されるのが最も一般的ですが、任意の文字列を指定することも可能です。 このモジュールは、特定の Linux コンピューターによって生成されたイベントの読み取りを試みます。
ManagedEntityId String 必須。 監視するエンティティのマネージド エンティティ ID を指定します。 ManagedEntityId パラメーターは、$Target\Id$ を使用してモジュールに渡されるのが最も一般的です。
EventNumber Integer 省略可能。 取得するイベントのイベント数を表します。 このオプションを省略すると、モジュールはそのコンピューターとマネージド エンティティに対して生成されたすべてのイベントを返します。

構成の概要

次の手順は、Linux エージェントのログ ファイルの監視を有効にするのに必要です。 以下のセクションでは、これらの各手順について詳しく説明します。

  1. 最新の Linux 管理パックをインポートします。
  2. 監視対象となっている各 Linux コンピューターに最新バージョンの Linux エージェントをインストールします。
  3. ログを収集する Fluentd 構成ファイルを作成します。
  4. Linux エージェントに構成ファイルをコピーします。
  5. サンプル管理パックを使用してルールとモニターを作成し、ログからイベントを収集してアラートを作成します。

最新バージョンの Linux エージェントをインストールします

最新バージョンの Linux エージェントは、ログ ファイルの監視強化に必要な Fluentd をサポートしています。 コマンド ラインを使用して UNIX および Linux にエージェントをインストールする内容に関する記事に、新しいエージェントの詳細とインストールの方法が記載されています。

Linux ログ ファイルの監視を構成する

Linux 管理パック バンドルには、最新の Operations Manager エージェント (Fluentd を使用) が含まれています。 Linux ログ ファイルの監視を構成するには、ユーザーは以下を実行する必要があります。

  1. 管理パックをインストールする標準の方法を使用して、最新の Linux 管理パックをインポートします。
  2. Linux サーバーに新しい Linux エージェントをインストールします。これは検出ウィザードを使って、または手動で行うことができます。
  3. Linux エージェントを管理するリソース プール内の各管理サーバーで OMED サービスを有効にします。

OMED サービスでは、Fluentd からイベントを収集して Operations Manager イベントに変換します。 ユーザーはカスタム管理パックをインポートする必要があります。これにより、Linux サーバーから受信したイベントに基づいてアラートを生成できます。

OMED サービスは、オペレーション コンソールから有効にするか、管理サーバー上またはゲートウェイ サーバー上で手動で有効にします。

オペレーション コンソールから

  1. オペレーション コンソールから、[監視][Operations Manager][管理サーバー][Management Servers State](管理サーバーの状態) の順に進みます。
  2. [Management Servers State](管理サーバーの状態) ウィンドウから管理サーバーを選択します。
  3. [タスク] ウィンドウで、[Health Service Tasks](ヘルス サービス タスク)[Enable System Center OMED Server](System Center OMED サーバーを有効にする) を選択します。

手動

  1. [ スタート] を選択し、[ 検索の開始 ] ボックスに 「services.msc 」と入力し、 Enter キーを押します。
  2. 詳細ウィンドウで、 サービス System Center Operations Manager External DataSource Service を右クリックし、[プロパティ] を選択 します
  3. [ 全般 ] タブの [ スタートアップの種類] で、[ 自動] を選択し、[ OK] を選択します
  4. 詳細ウィンドウで、サービスを右クリックし、[開始] を選択 します

Fluentd 構成ファイルを作成する

構成ファイルで Fluentd の操作を構成します。 ログを監視するには、ソース ログ ファイル名やログ ファイルのパス、フィルターなどの情報を含む構成ファイルを作成して、収集するデータを定義する必要があります。

Fluentd のマスター構成ファイル omsagent.conf/etc/opt/microsoft/omsagent/scom/conf/ にあります。 ログ ファイルの監視の構成は、直接このファイルに追加できますが、さまざまな設定をより適切に管理するには個別の構成ファイルを作成する必要があります。 次に、マスター ファイルで @include ディレクティブを使用して、カスタム ファイルを追加します。

たとえば、/etc/opt/microsoft/omsagent/scom/conf/omsagent.dlogmonitoring.conf を作成した場合、以下の行のいずれかを fluent.conf に追加します。

  #Include all configuration files
  @include omsagent.d/*.conf

または

  #include single configuration file
  @include omsagent.d/logmonitoring.conf

Fluentd の構成ファイルの構文に関するページで、Fluentd 構成ファイルについての詳細を入手できます。 次のセクションでは、ログ ファイルの監視に固有の構成ファイルで、さまざまなディレクティブを使用する設定について説明します。 それぞれに、構成ファイルに貼り付けて要件に合わせて変更できる、サンプル設定が含まれます。

独自のファイルを作成する前に、ログ監視のサンプル構成ファイルの完全版を見て、確認および評価できます。

source

Source ディレクティブは収集するデータのソースを定義します。 ここには、ログ ファイルの詳細を定義します。 Fluentd では、ソースに書き込まれた各レコードを取得し、Fluentd のルーティング エンジンにそのイベントを送信します。 このディレクティブのこの場所で、タグを指定する必要があります。 タグとは、Fluentd 内部のルーティングエンジンに対して、さまざまなディレクティブを関連付けるための指示に使われる文字列です。

次の例では、Operations Manager が処理できるように収集とタグ付けが行われた syslog レコードを示しています。

  <source>

      # Specifies input plugin. Tail is a fluentd input plugin - http://docs.fluentd.org/v0.12/articles/in_tail
      type tail

      # Specify the log file path. Supports wild cards.
      path /var/log/syslog

      # Recommended so that Fluentd will record the position it last read into this file.
      pos_file /home/user1/fluent-test/demo_syslog.log.pos

      # Used to correlate the directives.
      tag scom.log.syslog

      format /(?<message>.*)/

  </source>

一致する

match ディレクティブは、ソースから収集された、タグが一致するイベントを処理する方法を定義します。 パターンに一致するタグを持つイベントだけが、出力先に送信されます。 複数のパターンが 1 つの一致タグ内にある場合、イベントは一覧にあげられているパターンのいずれかに一致させることができます。 type パラメーターは、これらのイベントにどのプラグインを使用すべきかを指定します。

次の例では、タグの一致しているイベント scom.log.** と scom.alert を処理します (** は、0 個以上のタグ部分と一致します)。 out_scom プラグインを指定します。これにより、Operations Manager 管理パックによってイベントを収集できます。

  <match scom.log.** scom.event>

      # Output plugin to use
      type out_scom

      log_level trace
      num_threads 5

      # Size of the buffer chunk. If the top chunk exceeds this limit or the time limit flush_interval, a new empty chunk is pushed to the top of the  
      queue and bottom chunk is written out.
      buffer_chunk_limit 5m
      flush_interval 15s

      # Specifies the buffer plugin to use.
      buffer_type file

      # Specifies the file path for buffer. Fluentd must have write access to this directory.
      buffer_path /var/opt/microsoft/omsagent/scom/state/out_scom_common*.buffer

      # If queue length exceeds the specified limit, events are rejected.
      buffer_queue_limit 10

      # Control the buffer behavior when the queue becomes full: exception, block, drop_oldest_chunk
      buffer_queue_full_action drop_oldest_chunk

      # Number of times Fluentd will attempt to write the chunk if it fails.
      retry_limit 10

      # If the bottom chunk fails to be written out, it will remain in the queue and Fluentd will retry after waiting retry_wait seconds
      retry_wait 30s

      # The retry wait time doubles each time until max_retry_wait.
      max_retry_wait 9m

  </match>

Note

Fluentd 通信を使用しているサーバー認証を Linux 上で無効にするには、次のようにパラメータ― enable_server_auth false を Fluentd 用の SCOM out プラグインに追加します。

  <match scom.log.** scom.event>
  type out_scom

  max_retry_wait 9m
  enable_server_auth false
  </match>

フィルター

filter ディレクティブの構文は match と同じですが、処理するデータをより複雑にフィルター処理できます。 収集されたイベントは、出力に追加されるすべてのフィルターの条件と一致する必要があります。

ログ ファイルの監視に利用できる 6 つのフィルター プラグインについて、ここで説明します。 次のフィルターの 1 つ以上を使って、ログ ファイルから収集するイベントを定義します。

単純一致: filter_scom_simple_match

最大 20 の入力パターンを取ります。 任意のパターンが一致するたびに、Operations Manager にイベントを送信します。

  <filter tag>
      type filter_scom_simple_match
      regexp1 <key> <pattern>
      event_id1 <event ID>
      regexp2 <key> <pattern>
      event_id2 <event ID>
      .
      .
      .
      regexp20 <key> <pattern>
      event_id20 <event ID>
  </filter>

排他的一致: filter_scom_excl_match

2 つの入力パターンを取ります。 1 つのレコードがパターン 1 と一致するがパターン 2 と一致しない場合に、Operations Manager にイベントを送信します。

  <filter tag>
      type filter_scom_excl_match
      regexp1 <key> <pattern1>
      regexp2 <key> <pattern2>
      event_id <event ID>
  </filter>

反復される相関関係: filter_scom_repeated_cor

パターン、時間間隔、および多くの出現回数の 3 つの入力を受け取ります。 最初のパターンに一致するものが見つかった場合、タイマーが開始されます。 タイマーが終了する前に、指定された回数分パターンが一致した場合、イベントが Operations Manager に送信されます。

  <filter tag>
      type filter_scom_repeated_cor
      regexp <key> <pattern>
      event_id <event ID>
      time_interval <interval in seconds>
      num_occurences <number of occurrences>
  </filter>

相関性のある一致: filter_scom_cor_match

2 つのパターンと時間間隔の、3 つの入力を取ります。 最初のパターンに一致するものが見つかった場合、タイマーが開始されます。 タイマーが終了する前に 2 番目のパターンと一致する場合、イベントが Operations Manager に送信されます。

  <filter tag>
      type filter_scom_cor_match
      regexp1 <key> <pattern1>
      regexp2 <key> <pattern2>
      event_id <event ID>
      time_interval <interval in seconds>
  </filter>

排他的な相関関係: filter_scom_excl_correlation

2 つのパターンと時間間隔の、3 つの入力を取ります。 最初のパターンに一致するものが見つかった場合、タイマーが開始されます。 タイマーが終了する前に 2 番目のパターンに一致するものがない場合、イベントは Operations Manager に送信されます。

  <filter tag>
      type filter_scom_excl_correlation
      regexp1 <key> <pattern1>
      regexp2 <key> <pattern2>
      event_id <event ID>
      time_interval <interval in seconds>
  </filter>

Operations Manager コンバーター: filter_scom_converter

受信するすべてのレコードのイベントを Operations Manager に送信します。 イベントの一部として、指定されたイベント ID と説明を送信します。

  <filter tag>
      type filter_scom_converter
      event_id <event ID>
      event_desc <event description>
  </filter>

エージェントに構成ファイルをコピーする

Fluentd 構成ファイルを、監視したいすべての Linux コンピューターの /etc/opt/microsoft/omsagent/scom/conf/omsagent.d にコピーする必要があります。 前述の通り、マスター構成ファイルに @include ディレクティブも追加する必要があります。

ルールとモニターを作成する

Linux MP には、FluentD からイベントを収集するためのモジュールは用意されていません。 Linux MP は Linux エージェントにバンドルされています。 これは、Linux エージェントの fluentd モジュールと、強化されたログ ファイル監視機能を提供する管理およびゲートウェイ サーバー上の OMED サービスです。

Fluentd からイベントを収集するモジュール Microsoft.Linux.OMED.EventDataSource を使用するカスタム ルールとモニターを使用して、独自の管理パックを作成する必要があります。

次の表に、Microsoft.Linux.OMED.EventDataSource のパラメーターを示します。

パラメーター Type 説明
[ComputerName] String 必須。 イベントを読み取る Linux コンピューターの名前を指定します。 ComputerName パラメーターは、$Target 表記を使用してモジュールに渡されるのが最も一般的ですが、任意の文字列を指定することも可能です。 このモジュールは、特定の Linux コンピューターによって生成されたイベントの読み取りを試みます。
ManagedEntityId String 必須。 監視するエンティティのマネージド エンティティ ID を指定します。 ManagedEntityId パラメーターは、$Target\Id$ を使用してモジュールに渡されるのが最も一般的です。
EventNumber Integer 省略可能。 取得するイベントのイベント数を表します。 このオプションを省略すると、モジュールは、そのコンピューターとマネージド エンティティに対して生成されたすべてのイベントを返します。

構成の概要

ログ ファイルの監視には、次の手順が必要です。 詳細については、次のセクションで説明します。

  1. 最新の System Center Operations Manager 2019 Linux 管理パックをインポートします。
  2. 監視対象となっている各 Linux コンピューターに最新バージョンの Linux エージェントをインストールします。
  3. 監視対象の各 Linux コンピューターに最新の OMSAgent をインストールします。
  4. ログを収集する Fluentd 構成ファイルを作成します。
  5. Linux エージェントに構成ファイルをコピーします。
  6. サンプル管理パックを使用してルールとモニターを作成し、ログからイベントを収集してアラートを作成します。
  1. 最新の System Center Operations Manager 2022 Linux 管理パックをインポートします。
  2. 監視対象となっている各 Linux コンピューターに最新バージョンの Linux エージェントをインストールします。
  3. 監視対象の各 Linux コンピューターに最新の OMSAgent をインストールします。
  4. ログを収集する Fluentd 構成ファイルを作成します。
  5. Linux エージェントに構成ファイルをコピーします。
  6. サンプル管理パックを使用してルールとモニターを作成し、ログからイベントを収集してアラートを作成します。

ログ監視管理パックをインストールする

Linux ログ ファイルの監視を有効にするには、 Microsoft.Linux.Log.Monitoring 管理パックをインストールします。

注意

OMS エージェントが構成されていて、コンソールから UNIX および LINUX エージェントをアンインストールしようとすると、OMS コンポーネントはエージェントからアンインストールされません。

Linux ログ ファイルの監視を構成する

Linux ログ ファイルの監視を構成するには、次の手順を実行します。

  1. 管理パックをインストールするための標準プロセスを使用して、 最新の System Center Operations Manager 2019 Linux 管理パックをインポートします。

  2. 新しい Linux エージェントを Linux サーバーに手動でインストールするか、[検出ウィザードを使用](/system-center/System Center Operations Manager/manage-deploy-crossplat-agent-console) を使用してインストールします。

  3. 監視する各 Linux コンピューターに最新の OMSAgent をインストールします。 次のコマンドを使用します。

    # Download latest OMS Agent from GitHub
    wget https://raw.githubusercontent.com/Microsoft/OMS-Agent-for-Linux/master/installer/scripts/onboard_agent.sh
    
    # Run onboarding script
    sh onboard_agent.sh
    

    Linux エージェントで次の手順を実行します。

  1. 管理パックをインストールするための標準プロセスを使用して、 最新の System Center Operations Manager 2022 Linux 管理パックをインポートします。

  2. 新しい Linux エージェントを Linux サーバーに手動でインストールするか、[検出ウィザードを使用](/system-center/System Center Operations Manager/manage-deploy-crossplat-agent-console) を使用してインストールします。

  3. 監視する各 Linux コンピューターに最新の OMSAgent をインストールします。 次のコマンドを使用します。

    # Download latest OMS Agent from GitHub
    wget https://raw.githubusercontent.com/Microsoft/OMS-Agent-for-Linux/master/installer/scripts/onboard_agent.sh
    
    # Run onboarding script
    sh onboard_agent.sh
    

    Linux エージェントで次の手順を実行します。

  1. 次のコマンドを使用して、次のパスにフォルダーを作成します。

    # Create omsagent.d folder
    mkdir -p /etc/opt/microsoft/omsagent/scom/conf/omsagent.d
    
    # Create certs folder
    mkdir /etc/opt/microsoft/omsagent/scom/certs
    
    # Create log folder
    mkdir -p /var/opt/microsoft/omsagent/scom/log
    
    # Create run folder
    mkdir /var/opt/microsoft/omsagent/scom/run
    
    # Create state folder
    mkdir /var/opt/microsoft/omsagent/scom/state
    
    # Create tmp folder
    mkdir /var/opt/microsoft/omsagent/scom/tmp
    
    # Create fluent-logging folder (used for log file position file, this location is flexible)
    mkdir -p /home/omsagent/fluent-logging
    
  2. 上記の各フォルダーの所有権を に omsagent:omiusers設定します。

    # Change owner of System Center Operations Manager folder
    chown omsagent:omiusers /etc/opt/microsoft/omsagent/scom
    
    # Change owner of log folder
    chown omsagent:omiusers /var/opt/microsoft/omsagent/scom/log
    
    # Change owner of run folder
    chown omsagent:omiusers /var/opt/microsoft/omsagent/scom/run
    
    # Change owner of state folder
    chown omsagent:omiusers /var/opt/microsoft/omsagent/scom/state
    
    # Change owner of tmp folder
    chown omsagent:omiusers /var/opt/microsoft/omsagent/scom/tmp
    
    # Change owner of fluent-logging folder (used for log file position file, this location is flexible)
    chown omsagent:omiusers /home/omsagent/fluent-logging
    

    ログ ファイルの監視のスクリーンショット。

  3. omsagent ファイルと omsconfig ファイルを作成します。

    # Create omsadmin.conf file
    touch /etc/opt/microsoft/omsagent/scom/conf/omsadmin.conf
    
    # Create omsagent.conf file
    touch /etc/opt/microsoft/omsagent/scom/conf/omsagent.conf
    
  4. 上記の各ファイルの所有権を に設定します omsagent:omiusers

    # Change owner of omsadmin.conf file
    chown omsagent:omiusers /etc/opt/microsoft/omsagent/scom/conf/omsadmin.conf
    
    # Change owner of omsagent.conf file
    chown omsagent:omiusers /etc/opt/microsoft/omsagent/scom/conf/omsagent.conf
    
  5. ファイル /etc/opt/microsoft/omsagent/scom/conf/omsadmin.confを編集し、強調表示された情報を変更した後、次の情報を追加します。

    WORKSPACE_ID=scom
    System Center Operations Manager_ENDPOINT=https://<mark>\<MSFQDN\></mark>:8886
    MONITORING_ID={274F8D7B-DBCA-8FC3-1451-8DCD55092156}
    
  6. OMSAgent を再起動します。

    /opt/microsoft/omsagent/bin/service_control restart
    
  7. omsagent ログの状態を確認します。

    tail -100 /var/opt/microsoft/omsagent/scom/log/omsagent.log
    

OMED サービスを有効にする

Linux エージェントを管理するリソース プール内の各管理サーバーで OMED サービスを有効にします。

OMED サービスでは、Fluentd からイベントを収集して Operations Manager イベントに変換します。 Linux サーバーから受け取ったイベントに基づいてアラートを生成するカスタム管理パックをインポートします。

OMED サービスは、オペレーション コンソールから有効にするか、管理サーバー上またはゲートウェイ サーバー上で手動で有効にできます。

  1. オペレーション コンソールから、[監視][Operations Manager][管理サーバー][Management Servers State](管理サーバーの状態) の順に進みます。
  2. [Management Servers State](管理サーバーの状態) から管理サーバーを選択します。
  3. [タスク] で、[Health Service Tasks](ヘルス サービス タスク)[Enable System Center OMED Server](System Center OMED サーバーを有効にする) の順に選択します。

OMED ファイアウォール規則の追加

OMED ファイアウォール規則を有効にするには、PowerShell 経由でポート (TCP/8886) を自動的に追加するか、手動で追加するかの 2 つのオプションがあります。

PowerShell を使用してルールを自動的に追加するには、次の手順に従います。

次のコマンドを使用すると、ファイアウォール規則を自動的に追加できます。

Set-NetFirewallRule -DisplayName "System Center Operations Manager External DataSource Service" -Direction Inbound -Action Allow -Protocol TCP -LocalPort 8886

OMSAgent のクライアント証明書を割り当てる

OMSAgent のクライアント証明書を割り当てる場合は、2 つのオプションがあります。

  1. OMI エージェントから署名された証明書へのリンク。
  2. OMS エージェントのクライアント証明書を手動で生成します。

OMI エージェントから署名された証明書にリンクする手順、または OMS エージェントからクライアント証明書を手動で生成する手順については、必要なタブを選択します。

  1. ファイルと omikey.pem ファイルの所有権を omi.pem に設定しますomsagent:omiusers

    # Change owner of System Center Operations Manager-cert.pem file
    chown omsagent:omiusers /etc/opt/microsoft/omsagent/scom/certs/scom-cert.pem
    
    # Change owner of System Center Operations Manager-key.pem file
    chown omsagent:omiusers /etc/opt/microsoft/omsagent/scom/certs/scom-key.pem
    
  2. Linux マシンで次のコマンドを実行して、OMS エージェント クライアント証明書を OMI 証明書 (Operations Manager Linux エージェント証明書) に設定します。

    # Link file omi.pem to System Center Operations Manager-cert.pem
    ln -s /etc/opt/omi/ssl/omi.pem /etc/opt/microsoft/omsagent/scom/certs/scom-cert.pem
    
    # Link file omikey.pem to System Center Operations Manager-key.pem
    ln -s /etc/opt/omi/ssl/omikey.pem /etc/opt/microsoft/omsagent/scom/certs/scom-key.pem
    

Fluentd 構成ファイルを作成する

構成ファイルで Fluentd の操作を構成します。 ログ監視を利用するには、構成ファイルを作成する必要があります。 構成ファイルには、収集するデータを定義するためのソース ログ ファイル名、パス、フィルターなどの情報が含まれます。

マスター Fluentd 構成ファイル omsagent.conf は にあります /etc/opt/microsoft/omsagent/scom/conf/。 ログ ファイルの監視の構成は、直接このファイルに追加できますが、さまざまな設定をより適切に管理するには個別の構成ファイルを作成してください。 次に、マスター ファイルで @include ディレクティブを使用して、カスタム ファイルを追加します。

たとえば、 で /etc/opt/microsoft/omsagent/scom/conf/omsagent.dlogmonitoring.conf を作成した場合、omsagent.d ファイルに次のいずれかの行を追加します。

# Include all configuration files
@include omsagent.d/*.conf

または

# Include single configuration file
@include omsagent.d/logmonitoring.conf

Fluentd 構成ファイルの詳細については、Fluentd の構成ファイルの構文に関するページを参照してください。

次のセクションでは、ログ ファイルの監視に固有の構成ファイルで、さまざまなディレクティブを使用する設定について説明します。 それぞれに、構成ファイルに貼り付けて要件に合わせて変更できる、サンプル設定が含まれます。

独自のファイルを作成する前に、ログ監視のサンプル構成ファイルの完全版を見て、確認および評価できます。

source

Source ディレクティブは、収集するデータのソースを定義します。ここで、ログ ファイルの詳細を定義します。 Fluentd では、ソースに書き込まれた各レコードを取得し、Fluentd のルーティング エンジンにそのイベントを送信します。 このディレクティブのこの場所で、タグを指定します。 タグとは、Fluentd 内部のルーティングエンジンに対して、さまざまなディレクティブを関連付けるための指示に使われる文字列です。

次の例では、Operations Manager が処理できるように収集とタグ付けが行われた syslog レコードを示しています。

<source>

    # Specifies input plugin. Tail is a fluentd input plugin - http://docs.fluentd.org/v0.12/articles/in\_tail
    type tail

    # Specify the log file path. Supports wild cards.
    path /var/log/syslog

    # Recommended so that Fluentd will record the position it last read into this file.
    pos_file /home/user1/fluent-test/demo_syslog.log.pos

    # Used to correlate the directives.
    tag System Center Operations Manager.log.syslog

    format /(?<message>.*)/

</source>

フィルター

filter ディレクティブの構文は Match と同じですが、処理するデータをより複雑にフィルター処理できます。 収集されたイベントは、出力に追加されるすべてのフィルターの条件と一致する必要があります。

ログ ファイルの監視に利用できる 6 つのフィルター プラグインについて、ここで説明します。 次のフィルターの 1 つ以上を使って、ログ ファイルから収集するイベントを定義します。

  • 単純な一致: filter_System センター操作Manager_simple_match
  • 排他一致: filter_System Center Operations Manager_excl_match
  • 繰り返し関連付け: filter_System Center Operations Manager_repeated_cor
  • 相関一致: filter_System センター操作Manager_cor_match
  • 排他的な関連付け: filter_System Center Operations Manager_excl_correlation
  • Operations Manager コンバーター: filter_System Center Operations Manager_converter

必要なタブを選択して、それぞれのフィルター プラグインのコードをコピーします。

最大 20 の入力パターンを取ります。 任意のパターンが一致するたびに、Operations Manager にイベントを送信します。

<filter tag>

    type filter_System Center Operations Manager_simple_match
    regexp1 <key> <pattern>
    event_id1 <event ID>
    regexp2 <key> <pattern>
    event_id2 <event ID>
    .
    .
    .
    regexp20 <key> <pattern>
    event_id20 <event ID>
</filter>

一致する

match ディレクティブは、ソースから収集された、タグが一致するイベントを処理する方法を定義します。 パターンに一致するタグを持つイベントだけが、出力先に送信されます。 複数のパターンが 1 つの一致タグ内にある場合、イベントは一覧にあげられているパターンのいずれかに一致させることができます。 type パラメーターは、これらのイベントに使用するプラグインの種類を指定します。

次の使用例は、 System Center Operations Manager.logに 一致するタグを持つイベントを処理します。** と System Center Operations Manager.alert (** は 0 個以上のタグ パーツに一致します)。 out_System Center Operations Manager プラグインを指定します。これにより、Operations Manager 管理パックによってイベントを収集できます。

<match System Center Operations Manager.log.** System Center Operations Manager.event>

    # Output plugin to use
     type out_System Center Operations Manager

    log_level trace
    num_threads 5

    # Size of the buffer chunk. If the top chunk exceeds this limit or the time limit flush_interval, a new empty chunk is pushed to the top of the
    queue and bottom chunk is written out.
    buffer_chunk_limit 5m
    flush_interval 15s

    # Specifies the buffer plugin to use.
    buffer_type file

    # Specifies the file path for buffer. Fluentd must have write access to this directory.
    buffer_path /var/opt/microsoft/omsagent/scom/state/out_System Center Operations Manager_common*.buffer

    # If queue length exceeds the specified limit, events are rejected.
    buffer_queue_limit 10

    # Control the buffer behavior when the queue becomes full: exception, block, drop_oldest_chunk
    buffer_queue_full_action drop_oldest_chunk

    # Number of times Fluentd will attempt to write the chunk if it fails.
    retry_limit 10

    # If the bottom chunk fails to be written out, it will remain in the queue and Fluentd will retry after waiting retry_wait seconds
    retry_wait 30s

    # The retry wait time doubles each time until max_retry_wait.
    max_retry_wait 9m

</match>

Note

Fluentd 通信を使用しているサーバー認証を Linux コンピューター上で無効にするには、次のようにパラメーター enable_server_auth false を Fluentd 用の Operations Manager プラグインに追加します。

<match System Center Operations Manager.log.** System Center Operations Manager.event>
type out_System Center Operations Manager

max_retry_wait 9m
enable_server_auth false

</match>

エージェントに構成ファイルをコピーする

Fluentd 構成ファイルを、監視するすべての Linux コンピューターの /etc/opt/microsoft/omsagent/scom/conf/omsagent.d にコピーする必要があります。 前述の通り、マスター構成ファイルに @include ディレクティブも追加する必要があります。

omsagent を再起動する

次のコマンドを実行して、omsagent を再起動できます。

/opt/microsoft/omsagent/bin/service_control restart

System Center Operations Manager ワークスペースの状態を確認する

次のコマンドを実行して、OMSAgent の System Center Operations Manager ワークスペースをチェックします。

sh /opt/microsoft/omsagent/bin/omsadmin.sh -l

Note

OMED サービスを実行している管理サーバーで、ポート 8886 でファイアウォールが開いていることと、中間証明機関の証明書ストアに中間証明機関のみが含まれていることを確認します。

System Center Operations Manager 外部データソース サービスのイベント ログ

System Center OMED Service イベント ログは、System Center Operations Manager 外部データソース サービス (OMED) サービスに正常に送信されたイベントがある場合にのみ作成されます。

ルールとモニターを作成する

Linux 管理パックには FluentD からイベントを収集するためのモジュールが用意されていません。Linux 管理パックは Linux エージェントにバンドルされています。 これは Linux エージェントの fluentd モジュールであり、ログ ファイルの監視を強化する機能を提供する管理サーバーとゲートウェイ サーバー上の OMED サービスです。

モジュール Microsoft.Linux.OMED.EventDataSource を使用して Fluentd からイベントを収集するカスタム ルールとモニターを使用し、独自の管理パックを作成する必要があります。 System Center OMED Service イベント ログ経由で送信されるイベントのコンピューター名は、UNIX/Linux コンピューター ビューのコンピューターの名前と一致している必要があることに注意してください。 コンピューター名が一致しない場合、アラートは表示されません。

次の表に、Microsoft.Linux.OMED.EventDataSource のパラメーターを示します。

パラメーター Type 説明
[ComputerName] String 必須。 イベントを読み取る Linux コンピューターの名前を指定します。 ComputerName パラメーターは、$Target 表記を使用してモジュールに渡されるのが最も一般的ですが、任意の文字列を指定することも可能です。 このモジュールは、特定の Linux コンピューターによって生成されたイベントの読み取りを試みます。
ManagedEntityId String 必須。 監視するエンティティのマネージド エンティティ ID を指定します。 ManagedEntityId パラメーターは、$Target\Id$ を使用してモジュールに渡されるのが最も一般的です。
EventNumber Integer 省略可能。 取得するイベントのイベント数を表します。 このオプションを省略すると、モジュールはそのコンピューターとマネージド エンティティに対して生成されたすべてのイベントを返します

次の手順