次の方法で共有


Log Analytics エージェントを使用して Syslog データ ソースを収集する

注意事項

この記事では、サービス終了 (EOL) 状態の Linux ディストリビューションである CentOS について説明します。 適宜、使用と計画を検討してください。 詳細については、「CentOS のサポート終了に関するガイダンス」を参照してください。

Syslog は、Linux に共通のイベント ログ プロトコルです。 アプリケーションは、ローカル コンピューターに格納されるか、Syslog コレクターに配信される可能性のあるメッセージを送信します。 Linux 用 Log Analytics エージェントがインストールされると、エージェントにメッセージを転送するようにローカル Syslog デーモンが構成されます。 エージェントは、対応するレコードが作成された Azure Monitor にメッセージを送信します。

Important

従来の Log Analytics エージェントは、2024 年 8 月 31 日の時点で非推奨となっています。 Microsoft は Log Analytics エージェントのサポートを提供しなくなります。 Log Analytics エージェントを使用して Azure Monitor にデータを取り込む場合は、 ここで Azure Monitor エージェントに移行します

Azure Monitor では、rsyslog または syslog-ng によって送信されたメッセージの収集がサポートされています。rsyslog は既定のデーモンです。 Red Hat Enterprise Linux、CentOS、Oracle Linux バージョン (sysklog) のバージョン 5 の既定の Syslog デーモンは、Syslog イベント収集ではサポートされていません。 これらのディストリビューションのこのバージョンから Syslog データを収集するには、 rsyslog デーモン をインストールし、sysklog を置き換える構成を行う必要があります。

Syslog コレクションを示す図。

Syslog コレクターでは、次のファシリティがサポートされています。

  • カーン
  • ユーザー
  • メール
  • デーモン
  • auth
  • シスログ
  • lpr
  • news
  • uucp
  • cron(クロノ: 定期的な作業をスケジュールするプログラム)
  • authpriv
  • ftp
  • local0-local7

その他の機能については、Azure Monitor で カスタム ログ データ ソースを構成 します。

Syslog の構成

Linux 用 Log Analytics エージェントは、構成で指定されている機能と重大度を持つイベントのみを収集します。 Syslog は、Azure portal を使用するか、Linux エージェントで構成ファイルを管理することで構成できます。

Azure portal で Syslog を構成する

Log Analytics ワークスペースの [エージェント構成] メニュー から Syslog を構成します。 この構成は、各 Linux エージェントの構成ファイルに配信されます。

新しい施設を追加する場合は、[ ファシリティの追加] を選択します。 施設ごとに、選択した重大度のメッセージのみが収集されます。 収集したい特定の施設に対する重大度レベルを選択します。 メッセージをフィルター処理する他の条件を指定することはできません。

Syslog の構成を示すスクリーンショット。

既定では、すべての構成変更がすべてのエージェントに自動的にプッシュされます。 各 Linux エージェントで Syslog を手動で構成する場合は、[マシンに 以下の構成を適用する ] チェック ボックスをオフにします。

Linux エージェントで Syslog を構成する

Log Analytics エージェントが Linux クライアントにインストールされると、収集されるメッセージの機能と重大度を定義する既定の Syslog 構成ファイルがインストールされます。 このファイルを変更して構成を変更できます。 クライアントにインストールされている Syslog デーモンによって、構成ファイルは異なります。

Syslog 構成を編集した場合、変更を有効にするには、Syslog デーモンを再起動する必要があります。

rsyslog

rsyslog の構成ファイルは、 /etc/rsyslog.d/95-omsagent.confにあります。 既定の内容を次の例に示します。 この例では、警告レベル以上のすべての機能について、ローカル エージェントから送信された Syslog メッセージを収集します。

kern.warning       @127.0.0.1:25224
user.warning       @127.0.0.1:25224
daemon.warning     @127.0.0.1:25224
auth.warning       @127.0.0.1:25224
syslog.warning     @127.0.0.1:25224
uucp.warning       @127.0.0.1:25224
authpriv.warning   @127.0.0.1:25224
ftp.warning        @127.0.0.1:25224
cron.warning       @127.0.0.1:25224
local0.warning     @127.0.0.1:25224
local1.warning     @127.0.0.1:25224
local2.warning     @127.0.0.1:25224
local3.warning     @127.0.0.1:25224
local4.warning     @127.0.0.1:25224
local5.warning     @127.0.0.1:25224
local6.warning     @127.0.0.1:25224
local7.warning     @127.0.0.1:25224

構成ファイルのセクションを削除することで、ファシリティを削除できます。 特定の施設のエントリを変更することで、特定の施設に対して収集される重大度を制限できます。 たとえば、重大度がエラー以上のメッセージにユーザー機能を制限するには、構成ファイルのその行を次の例に変更します。

user.error    @127.0.0.1:25224

syslog-ng

syslog-ng の構成ファイルは、 /etc/syslog-ng/syslog-ng.confにあります。 この例では、既定の内容を示します。 この例では、ローカル エージェントから送信された、すべてのファシリティのすべての重大度の Syslog メッセージを収集します。

#
# Warnings (except iptables) in one file:
#
destination warn { file("/var/log/warn" fsync(yes)); };
log { source(src); filter(f_warn); destination(warn); };

#OMS_Destination
destination d_oms { udp("127.0.0.1" port(25224)); };

#OMS_facility = auth
filter f_auth_oms { level(alert,crit,debug,emerg,err,info,notice,warning) and facility(auth); };
log { source(src); filter(f_auth_oms); destination(d_oms); };

#OMS_facility = authpriv
filter f_authpriv_oms { level(alert,crit,debug,emerg,err,info,notice,warning) and facility(authpriv); };
log { source(src); filter(f_authpriv_oms); destination(d_oms); };

#OMS_facility = cron
filter f_cron_oms { level(alert,crit,debug,emerg,err,info,notice,warning) and facility(cron); };
log { source(src); filter(f_cron_oms); destination(d_oms); };

#OMS_facility = daemon
filter f_daemon_oms { level(alert,crit,debug,emerg,err,info,notice,warning) and facility(daemon); };
log { source(src); filter(f_daemon_oms); destination(d_oms); };

#OMS_facility = kern
filter f_kern_oms { level(alert,crit,debug,emerg,err,info,notice,warning) and facility(kern); };
log { source(src); filter(f_kern_oms); destination(d_oms); };

#OMS_facility = local0
filter f_local0_oms { level(alert,crit,debug,emerg,err,info,notice,warning) and facility(local0); };
log { source(src); filter(f_local0_oms); destination(d_oms); };

#OMS_facility = local1
filter f_local1_oms { level(alert,crit,debug,emerg,err,info,notice,warning) and facility(local1); };
log { source(src); filter(f_local1_oms); destination(d_oms); };

#OMS_facility = mail
filter f_mail_oms { level(alert,crit,debug,emerg,err,info,notice,warning) and facility(mail); };
log { source(src); filter(f_mail_oms); destination(d_oms); };

#OMS_facility = syslog
filter f_syslog_oms { level(alert,crit,debug,emerg,err,info,notice,warning) and facility(syslog); };
log { source(src); filter(f_syslog_oms); destination(d_oms); };

#OMS_facility = user
filter f_user_oms { level(alert,crit,debug,emerg,err,info,notice,warning) and facility(user); };
log { source(src); filter(f_user_oms); destination(d_oms); };

構成ファイルのセクションを削除することで、ファシリティを削除できます。 特定の機能に対して収集される重大度は、そのリストから削除することで制限できます。 たとえば、重要なメッセージのみを警告するようにユーザー機能を制限するには、次の例に示すように、構成ファイルのそのセクションを変更します。

#OMS_facility = user
filter f_user_oms { level(alert,crit) and facility(user); };
log { source(src); filter(f_user_oms); destination(d_oms); };

他の Syslog ポートからデータを収集する

Log Analytics エージェントは、ポート 25224 のローカル クライアントで Syslog メッセージをリッスンします。 エージェントがインストールされると、既定の Syslog 構成が適用され、次の場所にあります。

  • Rsyslog: /etc/rsyslog.d/95-omsagent.conf
  • Syslog-ng: /etc/syslog-ng/syslog-ng.conf

ポート番号を変更するには、インストールした Syslog デーモンに応じて、FluentD 構成ファイルと rsyslog または -syslog-ng ファイルの 2 つの構成ファイルを作成します。

  • FluentD 構成ファイルは、 /etc/opt/microsoft/omsagent/conf/omsagent.d にある新しいファイルで、 port エントリの値をカスタム ポート番号に置き換える必要があります。

    <source>
        type syslog
        port %SYSLOG_PORT%
        bind 127.0.0.1
        protocol_type udp
        tag oms.syslog
    </source>
    <filter oms.syslog.**>
        type filter_syslog
    
  • rsyslog の場合は、 /etc/rsyslog.d/ に新しい構成ファイルを作成し、 %SYSLOG_PORT% 値をカスタム ポート番号に置き換える必要があります。

    構成ファイル 95-omsagent.confでこの値を変更すると、エージェントが既定の構成を適用するときに上書きされます。

    # OMS Syslog collection for workspace %WORKSPACE_ID%
    kern.warning              @127.0.0.1:%SYSLOG_PORT%
    user.warning              @127.0.0.1:%SYSLOG_PORT%
    daemon.warning            @127.0.0.1:%SYSLOG_PORT%
    auth.warning              @127.0.0.1:%SYSLOG_PORT%
    
  • syslog-ng 構成を変更するには、次に示す構成例をコピーし、カスタム変更された設定を syslog-ng.conf にある/etc/syslog-ng/構成ファイルの末尾に追加します。 既定のラベル または%WORKSPACE_ID%_omsは使用%WORKSPACE_ID_OMS。 変更を区別するのに役立つカスタム ラベルを定義します。

    構成ファイルの既定値を変更すると、エージェントが既定の構成を適用するときに上書きされます。

    filter f_custom_filter { level(warning) and facility(auth; };
    destination d_custom_dest { udp("127.0.0.1" port(%SYSLOG_PORT%)); };
    log { source(s_src); filter(f_custom_filter); destination(d_custom_dest); };
    

変更が完了したら、Syslog と Log Analytics エージェント サービスを再起動して、構成の変更を確実に有効にします。

Syslog レコードのプロパティ

Syslog レコードには Syslog の種類があり、次の表に示すプロパティがあります。

プロパティ Description
コンピューター イベントが収集された元のコンピューター。
施設 メッセージを生成したシステムの部分を定義します。
ホストIP メッセージを送信するシステムの IP アドレス。
ホストネーム メッセージを送信するシステムの名前。
深刻度レベル イベントの重要度レベル。
シスログメッセージ メッセージのテキスト。
ProcessID メッセージを生成したプロセスの ID です。
EventTime イベントが生成された日時です。

Syslog レコードを使用したログ クエリ

次の表は、Syslog レコードを取得するログ クエリのさまざまな例をまとめたものです。

Query Description
Syslog すべての Syslog
Syslog | where SeverityLevel == "error" エラーの重大度を持つすべての Syslog レコード
Syslog | summarize AggregatedValue = count() by Computer コンピューターごとの Syslog レコードの数
Syslog | summarize AggregatedValue = count() by Facility ファシリティごとの Syslog レコードの数

次のステップ