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 のログ ファイル監視の基本的な操作には、次の手順が含まれています。
- レコードが Linux エージェントのログに書き込まれます。
- Fluentd はそのレコードを収集し、パターン マッチでイベントを作成します。
- イベントは管理サーバー上の OMED サービスに送信され、管理サーバー上の System Center OMED サービス イベント ログに記録されます。 ( System Center OMED サービス イベント ログは、Fluentd エージェントからイベントが正常に送信された場合にのみ作成されます)
- カスタム管理パックのルールとモニターでイベントを収集し、Operations Manager でアラートを作成します。
構成の概要
次の手順は、Linux エージェントのログ ファイルの監視を有効にするのに必要です。 以下のセクションでは、これらの各手順について詳しく説明します。
- 最新の Linux 管理パックをインポートします。
- 監視対象となっている各 Linux コンピューターに最新バージョンの Linux エージェントをインストールします。
- ログを収集する Fluentd 構成ファイルを作成します。
- Linux エージェントに構成ファイルをコピーします。
- サンプル管理パックを使用してルールとモニターを作成し、ログからイベントを収集してアラートを作成します。
最新バージョンの Linux エージェントをインストールします
最新バージョンの Linux エージェントは、ログ ファイルの監視強化に必要な Fluentd をサポートしています。 コマンド ラインを使用して UNIX および Linux にエージェントをインストールする内容に関する記事に、新しいエージェントの詳細とインストールの方法が記載されています。
Linux ログ ファイルの監視を構成する
Linux 管理パック バンドルには、最新の Operations Manager エージェント (Fluentd を使用) が含まれています。 Linux ログ ファイルの監視を構成するには、ユーザーは以下を実行する必要があります。
- 管理パックをインストールする標準の方法を使用して、最新の Linux 管理パックをインポートします。
- Linux サーバーに新しい Linux エージェントをインストールします。これは検出ウィザードを使って、または手動で行うことができます。
- Linux エージェントを管理するリソース プール内の各管理サーバーで OMED サービスを有効にします。
OMED サービスでは、Fluentd からイベントを収集して Operations Manager イベントに変換します。 ユーザーはカスタム管理パックをインポートする必要があります。これにより、Linux サーバーから受信したイベントに基づいてアラートを生成できます。
OMED サービスは、オペレーション コンソールから有効にするか、管理サーバー上またはゲートウェイ サーバー上で手動で有効にします。
オペレーション コンソールから
- オペレーション コンソールから、[監視][Operations Manager][管理サーバー][Management Servers State](管理サーバーの状態) の順に進みます。
- [Management Servers State](管理サーバーの状態) ウィンドウから管理サーバーを選択します。
- [タスク] ウィンドウで、[Health Service Tasks](ヘルス サービス タスク)[Enable System Center OMED Server](System Center OMED サーバーを有効にする) を選択します。
手動
- [ スタート] を選択し、[ 検索の開始 ] ボックスに 「services.msc 」と入力し、 Enter キーを押します。
- 詳細ウィンドウで、 サービス System Center Operations Manager External DataSource Service を右クリックし、[プロパティ] を選択 します。
- [ 全般 ] タブの [ スタートアップ の種類] で、[ 自動] を選択し、[ OK] を選択します。
- 詳細ウィンドウで、サービスを右クリックし、[開始] を選択 します。
Fluentd 構成ファイルを作成する
構成ファイルで Fluentd の操作を構成します。 ログを監視するには、ソース ログ ファイル名やログ ファイルのパス、フィルターなどの情報を含む構成ファイルを作成して、収集するデータを定義する必要があります。
Fluentd のマスター構成ファイル omsagent.conf は /etc/opt/microsoft/omsagent/scom/conf/ にあります。 ログ ファイルの監視の構成は、直接このファイルに追加できますが、さまざまな設定をより適切に管理するには個別の構成ファイルを作成する必要があります。 次に、マスター ファイルで @include ディレクティブを使用して、カスタム ファイルを追加します。
たとえば、/etc/opt/microsoft/omsagent/scom/conf/omsagent.d に logmonitoring.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 エージェントのログ ファイルの監視を有効にするのに必要です。 以下のセクションでは、これらの各手順について詳しく説明します。
- 最新の Linux 管理パックをインポートします。
- 監視対象となっている各 Linux コンピューターに最新バージョンの Linux エージェントをインストールします。
- ログを収集する Fluentd 構成ファイルを作成します。
- Linux エージェントに構成ファイルをコピーします。
- サンプル管理パックを使用してルールとモニターを作成し、ログからイベントを収集してアラートを作成します。
最新バージョンの Linux エージェントをインストールします
最新バージョンの Linux エージェントは、ログ ファイルの監視強化に必要な Fluentd をサポートしています。 コマンド ラインを使用して UNIX および Linux にエージェントをインストールする内容に関する記事に、新しいエージェントの詳細とインストールの方法が記載されています。
Linux ログ ファイルの監視を構成する
Linux 管理パック バンドルには、最新の Operations Manager エージェント (Fluentd を使用) が含まれています。 Linux ログ ファイルの監視を構成するには、ユーザーは以下を実行する必要があります。
- 管理パックをインストールする標準の方法を使用して、最新の Linux 管理パックをインポートします。
- Linux サーバーに新しい Linux エージェントをインストールします。これは検出ウィザードを使って、または手動で行うことができます。
- Linux エージェントを管理するリソース プール内の各管理サーバーで OMED サービスを有効にします。
OMED サービスでは、Fluentd からイベントを収集して Operations Manager イベントに変換します。 ユーザーはカスタム管理パックをインポートする必要があります。これにより、Linux サーバーから受信したイベントに基づいてアラートを生成できます。
OMED サービスは、オペレーション コンソールから有効にするか、管理サーバー上またはゲートウェイ サーバー上で手動で有効にします。
オペレーション コンソールから
- オペレーション コンソールから、[監視][Operations Manager][管理サーバー][Management Servers State](管理サーバーの状態) の順に進みます。
- [Management Servers State](管理サーバーの状態) ウィンドウから管理サーバーを選択します。
- [タスク] ウィンドウで、[Health Service Tasks](ヘルス サービス タスク)[Enable System Center OMED Server](System Center OMED サーバーを有効にする) を選択します。
手動
- [ スタート] を選択し、[ 検索の開始 ] ボックスに 「services.msc 」と入力し、 Enter キーを押します。
- 詳細ウィンドウで、 サービス System Center Operations Manager External DataSource Service を右クリックし、[プロパティ] を選択 します。
- [ 全般 ] タブの [ スタートアップの種類] で、[ 自動] を選択し、[ OK] を選択します。
- 詳細ウィンドウで、サービスを右クリックし、[開始] を選択 します。
Fluentd 構成ファイルを作成する
構成ファイルで Fluentd の操作を構成します。 ログを監視するには、ソース ログ ファイル名やログ ファイルのパス、フィルターなどの情報を含む構成ファイルを作成して、収集するデータを定義する必要があります。
Fluentd のマスター構成ファイル omsagent.conf は /etc/opt/microsoft/omsagent/scom/conf/ にあります。 ログ ファイルの監視の構成は、直接このファイルに追加できますが、さまざまな設定をより適切に管理するには個別の構成ファイルを作成する必要があります。 次に、マスター ファイルで @include ディレクティブを使用して、カスタム ファイルを追加します。
たとえば、/etc/opt/microsoft/omsagent/scom/conf/omsagent.d に logmonitoring.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 | 省略可能。 取得するイベントのイベント数を表します。 このオプションを省略すると、モジュールは、そのコンピューターとマネージド エンティティに対して生成されたすべてのイベントを返します。 |
構成の概要
ログ ファイルの監視には、次の手順が必要です。 詳細については、次のセクションで説明します。
- 最新の System Center Operations Manager 2019 Linux 管理パックをインポートします。
- 監視対象となっている各 Linux コンピューターに最新バージョンの Linux エージェントをインストールします。
- 監視対象の各 Linux コンピューターに最新の OMSAgent をインストールします。
- ログを収集する Fluentd 構成ファイルを作成します。
- Linux エージェントに構成ファイルをコピーします。
- サンプル管理パックを使用してルールとモニターを作成し、ログからイベントを収集してアラートを作成します。
- 最新の System Center Operations Manager 2022 Linux 管理パックをインポートします。
- 監視対象となっている各 Linux コンピューターに最新バージョンの Linux エージェントをインストールします。
- 監視対象の各 Linux コンピューターに最新の OMSAgent をインストールします。
- ログを収集する Fluentd 構成ファイルを作成します。
- Linux エージェントに構成ファイルをコピーします。
- サンプル管理パックを使用してルールとモニターを作成し、ログからイベントを収集してアラートを作成します。
ログ監視管理パックをインストールする
Linux ログ ファイルの監視を有効にするには、 Microsoft.Linux.Log.Monitoring 管理パックをインストールします。
注意
OMS エージェントが構成されていて、コンソールから UNIX および LINUX エージェントをアンインストールしようとすると、OMS コンポーネントはエージェントからアンインストールされません。
Linux ログ ファイルの監視を構成する
Linux ログ ファイルの監視を構成するには、次の手順を実行します。
管理パックをインストールするための標準プロセスを使用して、 最新の System Center Operations Manager 2019 Linux 管理パックをインポートします。
新しい Linux エージェントを Linux サーバーに手動でインストールするか、[検出ウィザードを使用](/system-center/System Center Operations Manager/manage-deploy-crossplat-agent-console) を使用してインストールします。
監視する各 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 エージェントで次の手順を実行します。
管理パックをインストールするための標準プロセスを使用して、 最新の System Center Operations Manager 2022 Linux 管理パックをインポートします。
新しい Linux エージェントを Linux サーバーに手動でインストールするか、[検出ウィザードを使用](/system-center/System Center Operations Manager/manage-deploy-crossplat-agent-console) を使用してインストールします。
監視する各 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 エージェントで次の手順を実行します。
次のコマンドを使用して、次のパスにフォルダーを作成します。
# 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
上記の各フォルダーの所有権を に
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
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
上記の各ファイルの所有権を に設定します
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
ファイル
/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}
OMSAgent を再起動します。
/opt/microsoft/omsagent/bin/service_control restart
omsagent ログの状態を確認します。
tail -100 /var/opt/microsoft/omsagent/scom/log/omsagent.log
OMED サービスを有効にする
Linux エージェントを管理するリソース プール内の各管理サーバーで OMED サービスを有効にします。
OMED サービスでは、Fluentd からイベントを収集して Operations Manager イベントに変換します。 Linux サーバーから受け取ったイベントに基づいてアラートを生成するカスタム管理パックをインポートします。
OMED サービスは、オペレーション コンソールから有効にするか、管理サーバー上またはゲートウェイ サーバー上で手動で有効にできます。
- オペレーション コンソールから、[監視]、[Operations Manager]、[管理サーバー]、[Management Servers State](管理サーバーの状態) の順に進みます。
- [Management Servers State](管理サーバーの状態) から管理サーバーを選択します。
- [タスク] で、[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 つのオプションがあります。
- OMI エージェントから署名された証明書へのリンク。
- OMS エージェントのクライアント証明書を手動で生成します。
OMI エージェントから署名された証明書にリンクする手順、または OMS エージェントからクライアント証明書を手動で生成する手順については、必要なタブを選択します。
ファイルと
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
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.d
logmonitoring.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 | 省略可能。 取得するイベントのイベント数を表します。 このオプションを省略すると、モジュールはそのコンピューターとマネージド エンティティに対して生成されたすべてのイベントを返します |
次の手順
カスタムのログ ファイル管理パックから監視データを確認するためのカスタム ビューを作成する方法を「Operations Manager のビューの使用」で確認します。
カスタム ログ ファイル管理パックによって特定された問題を調査する方法については、「 アクティブなアラートと詳細の表示」を参照してください。
フィードバック
https://aka.ms/ContentUserFeedback」を参照してください。
以下は間もなく提供いたします。2024 年を通じて、コンテンツのフィードバック メカニズムとして GitHub の issue を段階的に廃止し、新しいフィードバック システムに置き換えます。 詳細については、「フィードバックの送信と表示