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

Simple Log Service:Syslog プロトコルを使用したログのアップロード

最終更新日:Mar 26, 2026

syslog-ng を使用してログを収集し、Syslog プロトコル経由で Simple Log Service にアップロードできます。本トピックでは、Syslog プロトコルを使用して Simple Log Service にログをアップロードする方法について説明します。

制限事項

  • Syslog プロトコルは、RFC 5424 に準拠している必要があります。その他の Syslog プロトコルの場合は、Linux サーバーからの syslog の収集 を推奨します。

  • 単一ログの最大サイズは 64 KB です。

  • データ伝送のセキュリティを確保するため、データは Transport Layer Security (TLS) 1.2 を使用した TCP 経由で送信する必要があります。

構成

重要

VPN やルーターなどのオンプレミスデバイスでは、TLS プロトコルや RFC 5424 形式に対応していない場合が多くあります。このようなデバイスからのデータ収集には、Logtail の syslog プラグインの使用を推奨します。詳細については、「Linux サーバーからの syslog の収集」をご参照ください。

Syslog プロトコルを使用してログをアップロードする場合、ログアップロードアドレスを ProjectName.endpoint:SyslogPort の形式で構成する必要があります。例: test-project-1.cn-hangzhou-intranet.log.aliyuncs.com:10009。Simple Log Service プロジェクトが配置されているリージョンに応じて、適切なエンドポイントを選択してください。詳細については、「エンドポイント」をご参照ください。Syslog ポートは 10009 です。また、STRUCTURED-DATA フィールドに Simple Log Service のプロジェクト、Logstore、および AccessKey 情報を設定する必要があります。

パラメーター

説明

STRUCTURED-DATA

logservice に設定します。

logservice

project

Simple Log Service プロジェクトの名前です。事前にプロジェクトを作成してください。詳細については、「プロジェクトの管理」をご参照ください。

test-project-1

logstore

Simple Log Service Logstore の名前です。事前に Logstore を作成してください。詳細については、「Logstore の作成」をご参照ください。

test-logstore-1

access-key-id

AccessKey ID です。RAM ユーザーの AccessKey ID の使用を推奨します。詳細については、「権限」をご参照ください。

LTAI****************

access-key-secret

AccessKey シークレットです。RAM ユーザーの AccessKey シークレットの使用を推奨します。詳細については、「権限」をご参照ください。

yourAccessKeySecret

例 1:syslog-ng を使用したログの収集

syslog-ng は、UNIX および UNIX ライクシステム向けの Syslog プロトコルのオープンソース実装です。sudo yum install syslog-ng コマンドまたは sudo apt-get install syslog-ng コマンドを実行して、syslog-ng をインストールできます。

説明

Linux サーバーにはデフォルトで rsyslog がインストールされています。rsyslog と syslog-ng は互換性がなく、同時に実行できません。syslog-ng を使用するには、まず rsyslog をアンインストールする必要があります。

  1. syslog-ng 構成ファイルを開きます。

    構成ファイルは通常、/etc/syslog-ng/syslog-ng.conf に配置されています。

  2. syslog-ng 構成ファイルの末尾に、以下の構成を追加します。

    ### Syslog-ng Logging Config for LogService ### 
    template LogServiceFormat { 
        template("<${PRI}>1 ${ISODATE} ${HOST:--} ${PROGRAM:--} ${PID:--} ${MSGID:--} [logservice project=\"test-project-1\" logstore=\"test-logstore-1\" access-key-id=\"<yourAccessKeyId>\" access-key-secret=\"<yourAccessKeySecret>\"] $MSG\n"); template_escape(no); 
    }; 
    destination d_logservice{ 
         tcp("test-project-1.cn-hangzhou.log.aliyuncs.com" port(10009) 
         tls(peer-verify(required-untrusted)) 
         template(LogServiceFormat)); 
    }; 
    log { 
         source(s_sys); # default use s_sys 
         destination(d_logservice); 
    }; 
    ### END Syslog-ng Logging Config for LogService ###
  3. syslog-ng を再起動します。

    sudo /etc/init.d/syslog-ng restartsudo service syslog-ng restart、または sudo systemctl restart syslog-ng コマンドを実行して、syslog-ng を再起動します。

  4. logger コマンドを使用してテストログを生成します。

    たとえば、logger hello world! コマンドを実行してログを生成します。

サンプルログ

ログがアップロードされた後は、Simple Log Service コンソールでログを表示するために、インデックスを作成および構成する必要があります。詳細については、「インデックスの作成」をご参照ください。

ログフィールドの詳細については、「RFC 5424」をご参照ください。

重要

AccessKey 情報の漏洩を防ぐため、Simple Log Service ではデフォルトで logservice フィールドが削除されます。

日志样例

フィールド名

説明

__source__

元のログの hostname フィールドです。

__topic__

syslog-forwarder に設定されます。

__facility__

ログを生成するデバイスやモジュールなど、ファシリティ情報を示します。

__program__

プロセス名です。

__severity__

ログの重大度レベルです。

__priority__

ログの優先度です。

__unixtimestamp__

元のログのタイムスタンプ(ナノ秒単位)です。

content

元のログの msg フィールドです。

よくある質問とトラブルシューティング

  • ログアップロードのテスト

    Netcat を使用してログアップロードをテストできます。これにより、ネットワーク接続の確認および AccessKey によるアップロード権限の有無を検証できます。

    1. テストに使用するサーバーにログインします。

    2. 次のコマンドを実行して Netcat をインストールします。

      sudo yum install nmap-ncat
    3. 次のコマンドを実行して Simple Log Service に接続します。

      ncat --ssl <yourProject>.<yourEndpoint> 10009

      例:

      ncat --ssl test-project-1.cn-hangzhou.log.aliyuncs.com 10009
    4. Netcat は切断を自動検出しません。ncat コマンドを実行してから 30 秒以内に、送信したいログを入力して Enter キーを押します。

      <34>1 2019-03-28T03:00:15.003Z mymachine.example.com su - ID47 [logservice project="<yourProject>" logstore="<yourLogstore>" access-key-id="<yourAccessKeyID>" access-key-secret="<yourAccessKeySecret>"] this is a test message

      例:

      <34>1 2019-03-28T03:00:15.003Z mymachine.example.com su - ID47 [logservice project="trace-doc-test" logstore="doc-test-001-logs" access-key-id="<yourAccessKeyID>" access-key-secret="<yourAccessKeySecret>"] this is a test message
    5. ログが正常にアップロードされたことを確認するため、Simple Log Service コンソールでログをプレビューします。

      詳細については、「ログのプレビュー」をご参照ください。

      ncat_output

  • 収集エラーの診断

    ログアップロードが失敗した場合、収集エラーを診断することで詳細なエラーメッセージを確認できます。詳細については、「Logtail 収集エラーの表示」をご参照ください。