Log Analytics の Syslog データ ソースSyslog data sources in Log Analytics

Syslog は、Linux に共通のイベント ログ プロトコルです。Syslog is an event logging protocol that is common to Linux. アプリケーションは、ローカル コンピューターへの保存または Syslog コレクターへの配信が可能なメッセージを送信します。Applications will send messages that may be stored on the local machine or delivered to a Syslog collector. OMS Agent for Linux がインストールされている場合は、エージェントにメッセージを転送するローカル Syslog デーモンが構成されます。When the OMS Agent for Linux is installed, it configures the local Syslog daemon to forward messages to the agent. エージェントは Log Analytics にメッセージを送信し、そこで対応するレコードが OMS リポジトリに作成されます。The agent then sends the message to Log Analytics where a corresponding record is created in the OMS repository.

注意

Log Analytics では、rsyslog または syslog-ng によって送信されたメッセージの収集がサポートされています。rsyslog は既定のデーモンです。Log Analytics supports collection of messages sent by rsyslog or syslog-ng, where rsyslog is the default daemon. syslog イベントの収集に関して、バージョン 5 の Red Hat Enterprise Linux、CentOS、Oracle Linux 版の既定の syslog デーモン (sysklog) はサポートされません。The default syslog daemon on version 5 of Red Hat Enterprise Linux, CentOS, and Oracle Linux version (sysklog) is not supported for syslog event collection. このバージョンの各種ディストリビューションから syslog データを収集するには、 rsyslog デーモン をインストールし、sysklog を置き換えるように構成する必要があります。To collect syslog data from this version of these distributions, the rsyslog daemon should be installed and configured to replace sysklog.

Syslog collection

Syslog の構成Configuring Syslog

OMS Agent for Linux は、構成で指定されているファシリティと重大度を持つイベントだけを収集します。The OMS Agent for Linux will only collect events with the facilities and severities that are specified in its configuration. Azure Portal を通じて、または Linux エージェントで構成ファイルを管理することによって、Syslog を構成できます。You can configure Syslog through the Azure portal or by managing configuration files on your Linux agents.

Azure Portal での Syslog の構成Configure Syslog in the Azure portal

Log Analytics の [詳細設定] の [データ] メニューで Syslog を構成します。Configure Syslog from the Data menu in Log Analytics Advanced Settings. この構成は、各 Linux エージェントの構成ファイルに配信されます。This configuration is delivered to the configuration file on each Linux agent.

新しいファシリティを追加するには、その名前を入力して、 + で Syslog を構成します。You can add a new facility by typing in its name and clicking +. 各ファシリティについて、選択した重大度のメッセージのみが収集されます。For each facility, only messages with the selected severities will be collected. 各ファシリティで収集する重大度のチェック ボックスをオンにします。Check the severities for the particular facility that you want to collect. メッセージをフィルター処理するための追加条件を指定することはできません。You cannot provide any additional criteria to filter messages.

Configure Syslog

既定では、すべての構成変更はすべてのエージェントに自動的にプッシュされます。By default, all configuration changes are automatically pushed to all agents. 各 Linux エージェントで Syslog を手動で構成する場合は、 [Apply below configuration to my Linux machines (Linux コンピューターに以下の構成を適用する)] チェック ボックスをオフにします。If you want to configure Syslog manually on each Linux agent, then uncheck the box Apply below configuration to my Linux machines.

Linux エージェントでの Syslog の構成Configure Syslog on Linux agent

Linux クライアントに OMS エージェントがインストールされている場合は、収集されるメッセージのファシリティと重大度を定義する既定の syslog 構成ファイルがインストールされます。When the OMS agent is installed on a Linux client, it installs a default syslog configuration file that defines the facility and severity of the messages that are collected. このファイルを修正して、構成を変更することができます。You can modify this file to change the configuration. クライアントにインストールされている Syslog デーモンによって、構成ファイルは異なります。The configuration file is different depending on the Syslog daemon that the client has installed.

注意

syslog 構成を編集した場合、変更を有効にするには、syslog デーモンを再起動する必要があります。If you edit the syslog configuration, you must restart the syslog daemon for the changes to take effect.

rsyslogrsyslog

rsyslog の構成ファイルは、 /etc/rsyslog.d/95-omsagent.confにあります。The configuration file for rsyslog is located at /etc/rsyslog.d/95-omsagent.conf. 既定の内容を以下に示します。Its default contents are shown below. これは、ローカル エージェントから送信された、すべてのファシリティの警告レベル以上の syslog メッセージを収集します。This collects syslog messages sent from the local agent for all facilities with a level of warning or higher.

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

ファシリティを削除するには、構成ファイルの該当セクションを削除します。You can remove a facility by removing its section of the configuration file. ファシリティのエントリを変更することで、特定のファシリティで収集される重大度を制限することができます。You can limit the severities that are collected for a particular facility by modifying that facility's entry. たとえば、ユーザー ファシリティを重大度がエラー以上のメッセージに制限するには、構成ファイルの該当行を次のように変更します。For example, to limit the user facility to messages with a severity of error or higher you would modify that line of the configuration file to the following:

user.error    @127.0.0.1:25224

syslog-ngsyslog-ng

syslog-ng の構成ファイルは、/etc/syslog-ng/syslog-ng.conf にあります。The configuration file for syslog-ng is location at /etc/syslog-ng/syslog-ng.conf. 既定の内容を以下に示します。Its default contents are shown below. これは、ローカル エージェントから送信された、すべてのファシリティのすべての重大度の syslog メッセージを収集します。This collects syslog messages sent from the local agent for all facilities and all severities.

#
# 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); };

ファシリティを削除するには、構成ファイルの該当セクションを削除します。You can remove a facility by removing its section of the configuration file. リストから重大度を削除することで、特定のファシリティで収集される重大度の制限を変更することができます。You can limit the severities that are collected for a particular facility by removing them from its list. たとえば、ユーザー ファシリティをアラートとクリティカルのメッセージだけに制限するには、構成ファイルの該当セクションを次のように変更します。For example, to limit the user facility to just alert and critical messages, you would modify that section of the configuration file to the following:

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

追加の Syslog ポートからデータを収集するCollecting data from additional Syslog ports

OMS エージェントは、ポート 25224 でローカル クライアント上の Syslog メッセージを待ち受けます。The OMS agent listens for Syslog messages on the local client on port 25224. エージェントをインストールすると、既定の syslog 構成が適用され、次の場所で見つかります。When the agent is installed, a default syslog configuration is applied and found in the following location:

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

2 つの構成ファイルを作成することでポート番号を変更できます: FluentD 構成ファイルと rsyslog または syslog-ng ファイル (インストールしている Syslog デーモンにより決まります)。You can change the port number by creating two configuration files: a FluentD config file and a rsyslog-or-syslog-ng file depending on the Syslog daemon you have installed.

  • FluentD 構成ファイルは /etc/opt/microsoft/omsagent/conf/omsagent.d にある新しいファイルです。port エントリの値をカスタム ポート番号に変更します。The FluentD config file should be a new file located in: /etc/opt/microsoft/omsagent/conf/omsagent.d and replace the value in the port entry with your custom port number.

      <source>
        type syslog
        port %SYSLOG_PORT%
        bind 127.0.0.1
        protocol_type udp
        tag oms.syslog
      </source>
      <filter oms.syslog.**>
        type filter_syslog
      </filter>
    
  • rsyslog の場合、/etc/rsyslog.d/ に新しい構成ファイルを作成し、値 %SYSLOG_PORT% をカスタム ポート番号に変更する必要があります。For rsyslog, you should create a new configuration file located in: /etc/rsyslog.d/ and replace the value %SYSLOG_PORT% with your custom port number.

    注意

    構成ファイル 95-omsagent.conf でこの値を変更すると、エージェントが既定の構成を適用したときに上書きされます。If you modify this value in the configuration file 95-omsagent.conf, it will be overwritten when the agent applies a default configuration.

      # 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 構成は下のサンプル構成をコピーして変更し、/etc/syslog-ng/ にある syslog-ng.conf 構成ファイルの終わりに変更したカスタム設定を追加する必要があります。The syslog-ng config should be modified by copying the example configuration shown below and adding the custom modified settings to the end of the syslog-ng.conf configuration file located in /etc/syslog-ng/. 既定のラベルである %WORKSPACE_ID%_oms または %WORKSPACE_ID_OMS使用しないでください。変更を区別するために、カスタム ラベルを定義してください。Do not use the default label %WORKSPACE_ID%_oms or %WORKSPACE_ID_OMS, define a custom label to help distinguish your changes.

    注意

    構成ファイルの既定値を変更すると、エージェントが既定の構成を適用したときに上書きされます。If you modify the default values in the configuration file, they will be overwritten when the agent applies a default configuration.

      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 と OMS エージェント サービスを再起動する必要があります。After completing the changes, the Syslog and the OMS agent service needs to be restarted to ensure the configuration changes take effect.

Syslog レコードのプロパティSyslog record properties

Syslog レコードの型は Syslog になり、次の表に示すプロパティがあります。Syslog records have a type of Syslog and have the properties in the following table.

プロパティProperty 説明Description
ComputerComputer イベントが収集されたコンピューター。Computer that the event was collected from.
FacilityFacility メッセージを生成したシステムの部分を定義します。Defines the part of the system that generated the message.
HostIPHostIP メッセージを送信するシステムの IP アドレスです。IP address of the system sending the message.
HostNameHostName メッセージを送信するシステムの名前です。Name of the system sending the message.
SeverityLevelSeverityLevel イベントの重大度レベルです。Severity level of the event.
SyslogMessageSyslogMessage メッセージのテキストです。Text of the message.
ProcessIDProcessID メッセージを生成したプロセスの ID です。ID of the process that generated the message.
EventTimeEventTime イベントが生成された日時です。Date and time that the event was generated.

Syslog レコードのログ クエリLog queries with Syslog records

次の表は、Syslog レコードを取得するログ クエリのさまざまな例をまとめたものです。The following table provides different examples of log queries that retrieve Syslog records.

クエリQuery 説明Description
syslogSyslog すべての Syslog です。All Syslogs.
Syslog | where SeverityLevel == "error"Syslog | where SeverityLevel == "error" 重大度がエラーであるすべての Syslog レコードです。All Syslog records with severity of error.
Syslog | summarize AggregatedValue = count() by ComputerSyslog | summarize AggregatedValue = count() by Computer コンピューターごとの Syslog レコードの数です。Count of Syslog records by computer.
Syslog | summarize AggregatedValue = count() by FacilitySyslog | summarize AggregatedValue = count() by Facility ファシリティごとの Syslog レコードの数です。Count of Syslog records by facility.

次の手順Next steps