すべてのプロダクト
Search
ドキュメントセンター

Simple Log Service:Linux システムからの syslog 収集

最終更新日:May 08, 2026

このトピックでは、Simple Log Service コンソールで Logtail 構成を作成し、syslog を収集する方法について説明します。

仕組み

实现原理

Linux サーバーでは、rsyslog などの syslog エージェントを使用して、ローカルの syslog データを指定されたサーバー IP アドレスおよびポートに転送できます。Logtail は指定されたアドレスとポートでリッスンし、TCP または UDP 経由で転送された syslog データを受信します。その後、指定された syslog プロトコルに基づいてデータを解析し、facilitytag(プログラム)、severitycontent などのフィールドをログから抽出します。

Simple Log Service は、RFC3164 および RFC5424 で定義されている syslog プロトコルをサポートしています。

前提条件

操作手順

このトピックでは、ECS インスタンスから syslog を収集する方法を例示します。

  1. Simple Log Service コンソールにログインします。

  2. データのインポート セクションで、カスタムデータプラグイン を選択します。

  3. プロジェクトと Logstore を選択し、[次へ] をクリックします。

  4. マシングループを作成します。

    • 既存のマシングループがある場合は、[既存のマシングループを使用] をクリックします。

    • マシングループが存在しない場合は、以下の手順に従ってマシングループを作成します。ここでは、Elastic Compute Service (ECS) インスタンスを使用します。

      1. ECS インスタンス タブで、[手動でインスタンスを選択] を選択し、使用する ECS インスタンスを選択して、[作成] をクリックします。

        詳細については、「ECS インスタンスへの Logtail のインストール」をご参照ください。

        重要

        ご利用のサーバーが Simple Log Service とは異なる Alibaba Cloud アカウントに属する ECS インスタンス、データセンター内のサーバー、またはサードパーティのクラウド サービス プロバイダーのサーバーである場合、そのサーバーに手動で Logtail をインストールする必要があります。詳細については、「Linux サーバーへの Logtail のインストール」または「Windows サーバーへの Logtail のインストール」をご参照ください。Logtail を手動でインストールした後は、サーバーのユーザー識別子を設定する必要があります。詳細については、「ユーザー識別子の設定」をご参照ください。

      2. 設定を確認したら、[OK] をクリックします。

      3. Logtail のインストール後、[インストール完了] をクリックします。

      4. マシングループの作成 ステップで、[名前] パラメーターを設定し、[次へ] をクリックします。

        Simple Log Service では、IP アドレスベースのマシングループとカスタム識別子ベースのマシングループを作成できます。詳細については、「IP アドレスベースのマシングループの作成」および「カスタム識別子ベースのマシングループの作成」をご参照ください。

  5. 適用済みサーバーグループ セクションにマシングループが表示されていることを確認し、[次へ] をクリックします。

    重要

    マシングループを作成直後に適用すると、マシングループのハートビートステータスが FAIL になる場合があります。これは、マシングループが Simple Log Service に接続されていないために発生します。この問題を解決するには、[自動再試行] をクリックしてください。問題が解決しない場合は、「Logtail でハートビート接続が検出されない場合はどうすればよいですか?」をご参照ください。

  6. データソースの設定 タブで、設定名 を設定し、次のスクリプトを プラグイン設定 テキストボックスに貼り付け、次へ をクリックします。

    {
         "inputs": [
             {
                 "type": "service_syslog",
                 "detail": {
                     "Address": "tcp://0.0.0.0:9000",
                     "ParseProtocol": "rfc3164"
                 }
             },
             {
                 "type": "service_syslog",
                 "detail": {
                     "Address": "udp://0.0.0.0:9001",
                     "ParseProtocol": "rfc3164"
                 }
             }
         ]
     }

    次の表は、スクリプト内のパラメーターについて説明しています。

    パラメーター

    タイプ

    必須

    説明

    type

    string

    はい

    データソースタイプは service_syslog に設定します。

    Address

    string

    いいえ

    Logtail のリッスンプロトコル、IP アドレス、およびポートです。Logtail はこの構成に基づいてログデータをリッスンおよび収集します。形式は [tcp/udp]://[ip]:[port] です。このパラメーターを構成しない場合、Logtail はデフォルト値 tcp://127.0.0.1:9999 を使用し、ローカルホストから転送されたログのみを受信できます。

    説明
    • Logtail 構成のリッスンプロトコル、アドレス、ポート番号は、rsyslog 設定ファイルの転送ルールと一致している必要があります。

    • Logtail がインストールされているサーバーに複数のログ受信可能な IP アドレスがある場合、アドレスを 0.0.0.0 に設定できます。この設定により、Logtail はサーバーのすべての IP アドレスでリッスンします。

    ParseProtocol

    string

    いいえ

    Logtail がログを解析するために使用するプロトコルです。デフォルト値は空文字列で、これはログが解析されないことを意味します。有効な値は次のとおりです。

    • 空文字列:ログは解析されません。

    • rfc3164:Logtail は RFC3164 プロトコルを使用してログを解析します。

    • rfc5424:Logtail は RFC5424 プロトコルを使用してログを解析します。

    • auto:Logtail はログ内容に基づいてプロトコルを自動選択します。

    IgnoreParseFailure

    boolean

    いいえ

    解析に失敗した場合の動作を指定します。このパラメーターを構成しない場合、デフォルト値は true となり、解析を中止して content フィールドに直接格納します。false に設定すると、解析に失敗したログは破棄されます。

  7. クエリと分析の設定 タブで、自動インデックスの生成 をクリックします。この時点でデータは収集されていません。次へ をクリックして Logtail 構成を完了します。

  8. syslog を収集する ECS インスタンスにログインし、rsyslog 転送を構成します。

    1. syslog サーバーで rsyslog 設定ファイル /etc/rsyslog.conf を変更し、ファイルの末尾に転送ルールを追加します。

      転送ルールを追加すると、rsyslog は syslog を指定された IP アドレスおよびポートに転送します。

      • ローカルサーバーから syslog を収集する場合は、転送アドレスを 127.0.0.1 に設定し、Logtail 構成で設定したポートと同じポートを使用します。

      • 別のサーバーから syslog を収集する場合は、転送アドレスを他のサーバーのパブリック IP アドレスに設定し、Logtail 構成で設定したポートと同じポートを使用します。

      たとえば、次の構成はすべてのログを TCP 経由で 127.0.0.1:9000 に転送します。設定ファイルの詳細については、RSyslog ドキュメントをご参照ください。

      *.* @@127.0.0.1:9000
    2. 次のコマンドを実行して rsyslog を再起動し、転送ルールを適用します。

      sudo service rsyslog restart
  9. Simple Log Service コンソールを開き、対象の Logstore で収集された syslog データを確認します。詳細については、「クエリと分析のクイックスタート」をご参照ください。構成が完了したら、Simple Log Service コンソールにログインし、sys-logs Logstore に移動して、生ログ タブで収集された syslog ログを確認します。各ログには、_content__facility__hostname__priority__program__severity_ などのインデックスフィールドが含まれています。これらのフィールドを使用して、syslog データが正常に収集されたことを確認できます。

ログフィールド

フィールド

説明

_hostname_

ホスト名。ログにホスト名が含まれていない場合、Logtail は現在のホストのホスト名を使用します。

_program_

syslog プロトコルの tag フィールド。

_priority_

syslog プロトコルの priority フィールド。

_facility_

syslog プロトコルの facility フィールド。

_severity_

syslog プロトコルの severity フィールド。

_unixtimestamp_

ログのタイムスタンプ。

_content_

ログの内容。解析に失敗した場合、このフィールドには生ログの全内容が含まれます。

_ip_

現在のホストの IP アドレス。

_client_ip_

ログを送信するクライアントの IP アドレス。

使用例

Nginx ログ

Nginx は、アクセスログを syslog プロトコルを使用して特定の IP アドレスおよびポートに転送することをサポートしています。サーバーの Nginx アクセスログを含むすべてのデータを syslog 形式で Simple Log Service に一元的に送信したい場合は、データを収集するための Logtail 構成を作成できます。

  1. Logtail 構成を作成します。詳細については、このトピックの「操作手順」セクションをご参照ください。

    次のコードは、プラグイン設定 スクリプトの例を示しています。

    {
         "inputs": [
             {
                 "type": "service_syslog",
                 "detail": {
                     "Address": "udp://127.0.0.1:9001",
                     "ParseProtocol": "rfc3164"
                 }
             }
         ]
     }
  2. Nginx の転送ルールを追加します。

    1. Nginx サーバーで nginx.conf ファイルに転送ルールを追加します。詳細については、Nginx 公式ドキュメントをご参照ください。

      たとえば、設定ファイルに次の内容を追加します。

      server {
          ...
      
          # この行を追加します。
          access_log syslog:server=127.0.0.1:9001,facility=local7,tag=nginx,severity=info combined;
      
          ...
      }
                                      
    2. 次のコマンドを実行して Nginx サービスを再起動し、構成を適用します。

      sudo service nginx restart

ファイアウォールログ

ファイアウォールは通常、アクセスログを syslog プロトコルを使用して特定の IP アドレスおよびポートに転送することをサポートしています。たとえば、Security Information and Event Management (SIEM) ソリューションを構築するために、ファイアウォールログを syslog 形式で Simple Log Service に送信したい場合は、ログを収集するための Logtail 構成を作成できます。

  1. Logtail 構成を作成します。詳細については、このトピックの「操作手順」セクションをご参照ください。

    次のコードは、プラグイン設定 スクリプトの例を示しています。

    {
         "inputs": [
             {
                 "type": "service_syslog",
                 "detail": {
                     "Address": "udp://0.0.0.0:9001",
                     "ParseProtocol": "rfc3164"
                 }
             }
         ]
     }
  2. ファイアウォールのドキュメントに従って転送ルールを追加します。次の例では、Logtail が配置されているサーバーの IP アドレスが 10.20.30.40 であると仮定します。Palo Alto Networks ファイアウォールの管理インターフェイスで、Server Profiles > Syslog に移動し、Syslog Server Profile を作成します。[Name] フィールドに、syslog などの名前を入力します。[Servers] タブで [Add] をクリックしてサーバーレコードを追加します。[Syslog Server] に Simple Log Service システムの IP アドレス(例:10.20.30.40)、[Transport]UDP[Port]9001[Format]BSD(rfc3164 に対応)、[Facility]LOG_USER を設定し、[OK] をクリックします。

トラブルシューティング

Logtail を使用してデータを収集した後、プレビューまたはクエリページにデータが表示されない場合は、logger コマンドを使用してデータをローカルの Logtail インスタンスに送信できます。これにより、問題が書き込み側、ネットワーク、または Logtail のいずれにあるかを判断できます。

ローカルの Logtail インスタンスがデータを受信できる場合は、問題は書き込み側またはネットワークにある可能性があります。

logger -n localhost -P 9000 -T "This is a TCP syslog message"
logger -n localhost -P 9001 -d "This is a UDP syslog message"

トラブルシューティングの詳細については、「Logtail ログ収集エラーのトラブルシューティング」をご参照ください。