Logtail は、標準の Docker ログを収集し、収集したログをコンテナー関連メタデータ情報とまとめて Log Service にアップロードすることをサポートしています。

設定プロセス

図 1. 設定プロセス
  1. Logtail コンテナーをデプロイします。
  2. Logtail マシングループを設定します。

    Log Service コンソールでカスタム ID を使用してマシングループを作成します。 その後、コンテナークラスターを拡張または縮小するために追加の操作および保守 (O&M) は必要ありません。

  3. サーバー側用の収集設定を作成します。

    Log Service コンソールで収集設定を作成します。 すべての収集設定はサーバー側の設定です。 ローカル設定は必要ありません。

ステップ 1. Logtail コンテナーのデプロイ

  1. Logtail 画像を引き出します。
    docker pull registry.cn-hangzhou.aliyuncs.com/log-service/logtail
  2. Logtail コンテナーを開始します。

    スタートアップテンプレートに ${your_region_name}${your_aliyun_user_id}${your_machine_group_user_defined_id} パラメーターを設定します。

    docker run-d -v /:/logtail_host:ro -v /var/run/docker.sock:/var/run/docker.sock --env 
    ALIYUN_LOGTAIL_CONFIG=/etc/ilogtail/conf/${your_region_name}/ilogtail_config.json 
    --env ALIYUN_LOGTAIL_USER_ID=${your_aliyun_user_id} --env
     ALIYUN_LOGTAIL_USER_DEFINED_ID=${your_machine_group_user_defined_id} registry.cn-hangzhou.aliyuncs.com/log-service/logtail
    パラメーターを設定する前に、次のいずれかの操作を実行してください。 操作を実行しない場合、別のコンテナーを削除した際に container text file busy エラーが発生する可能性があります。
    • CentOS 7.4 以降では、fs.may_detach_mounts を 1 に設定します。 詳細については、『bug 1468249』、『bug 1441737 』、および『issue 34538』をご参照ください。
    • --privileged フラグをスタートアップパラメーターに追加します。 詳細については、『Docker run reference』をご参照ください。
    パラメーター 説明
    ${your_region_name} Log Service プロジェクトが配置されている地域です。 ネットワークの種類に応じて適切な値に設定します。 有効値:
    • インターネットの場合、region-internet 形式でリージョンを指定します。 たとえば、中国 (杭州) リージョンの値は cn-hangzhou-internet です。
    • Alibaba Cloud 内部ネットワークの場合、region 形式でリージョンを指定します。 たとえば、中国 (杭州) リージョンの値は cn-hangzhou です。

    各地域のインストールパラメーターの詳細については、「表1 Logtailインストールパラメーター」をご参照ください。 プロジェクトの地域に応じてこのパラメーターを設定します。

    ${your_aliyun_user_id} ユーザー ID。 このパラメーターを、文字列タイプの Alibaba Cloud アカウントの ID に設定します。 ID の表示方法の詳細については、「Alibaba Cloud ECS インスタンス以外または他のアカウントの ECS インスタンスからログを収集する」の手順 1 をご参照ください。
    ${your_machine_group_user_defined_id} クラスターマシングループのカスタム ID。 カスタム ID の設定方法の詳細については、「マシングループ識別 ID の作成」の手順 1 をご参照ください。
    docker run -d -v /:/logtail_host:ro -v /var/run/docker.sock:/var/run/docker.sock 
    --env ALIYUN_LOGTAIL_CONFIG=/etc/ilogtail/conf/cn_hangzhou/ilogtail_config.json --env
     ALIYUN_LOGTAIL_USER_ID=1654218******--env ALIYUN_LOGTAIL_USER_DEFINED_ID=log-docker-demo registry.cn-hangzhou.aliyuncs.com/log-service/logtail

次の条件が満たされている場合は、Logtail コンテナーの起動パラメーター設定をカスタマイズできます。

  1. Logtail コンテナーーを起動には、ALIYUN_LOGTAIL_USER_DEFINED_IDALIYUN_LOGTAIL_USER_IDALIYUN_LOGTAIL_CONFIG という 3 つの環境変数があります。
  2. Docker のドメインソケットは /var/run/docker.sock にマウントされています。
  3. 標準コンテナーー出力、コンテナーーログ、ホストファイルを収集するには、 ルートディレクトリを Logtail コンテナーの /logtail_host にマウントします。
  4. Logtail ログファイル /usr/local/ilogtail/ilogtail.LOG にエラーログ The parameter is invalid : uuid=none がある場合、ホストに product_uuid ファイルを作成します。 有効な UUID (例:169E98C9-ABC0-4A92-B1D2-AA6239C0D261) をファイルに書き込んで、ファイルを Logtail コンテナーーの /sys/class/dmi/id/product_uuid ディレクトリにマウントします。
  5. live restore 設定がご使用の Docker Engine に対して有効にされている場合、Docker Engine を再起動する前にcurl --unix-socket /var/run/docker.sock http:/x > /dev/null 2>&1 コマンドを実行して、Logtail に使用されているドメインが有効であることを検証します。

ステップ 2 . Logtail マシングループの設定

  1. Log Service を有効にして、プロジェクトとログストアを作成します。 詳細いついては、「準備」をご参照ください。
  2. Log Service コンソール内の [マシングループ] ページで IP アドレスが IDとなるマシングループの作成をクリックします。
  3. [カスタム ID] を [認識] ドロップダウンリストから選択します。 前のステップで [カスタム ID] フィールドで設定した ALIYUN_LOGTAIL_USER_DEFINED_ID の値を入力します。
    図 2. Logtail マシングループを設定します。

[確認]をクリックして、マシングループを作成します。 1分後、マ​​シングループ ページの右側にある [ステータス] をクリックして、デプロイされた Logtail コンテナーのハートビートステータスを表示します。 詳細については、マシングループの管理[ステータスの表示] セクションをご参照ください。

ステップ 3. 収集の設定情報の作成

必要に応じてコンソールに Logtail 収集の設定情報を作成します。 詳細は、以下をご参照ください。

その他の操作

  • Logtail コンテナーの動作状態の確認

    docker exec ${logtail_container_id} /etc/init.d/ilogtaild status コマンドを実行して Logtail の実行状況を確認できます。

  • バージョン番号、IP、および Logtail の起動時間の表示

    docker exec ${logtail_container_id} cat /usr/local/ilogtail/app_info.json コマンドを実行して、Logtail に関する関連情報を表示できます。

  • Logtail の操作ログの表示

    Logtail 操作ログは /usr/local/ilogtail/ ディレクトリの ilogtail.LOG ファイルに格納されます。 ローテンション処理および圧縮されると、ファイルは ilogtail.LOG.x.gz として格納されます。

    例:
    [root@iZbp17enxc2us3624wexh2Z ilogtail]# docker exec a287de895e40 tail -n 5 /usr/local/ilogtail/ilogtail.LOG
    [2018-02-06 08:13:35.721864]    [INFO]    [8]    [build/release64/sls/ilogtail/LogtailPlugin.cpp:104]    logtail plugin Resume:start
    [2018-02-06 08:13:35.722135]    [INFO]    [8]    [build/release64/sls/ilogtail/LogtailPlugin.cpp:106]    logtail plugin Resume:success
    [2018-02-06 08:13:35.722149]    [INFO]    [8]    [build/release64/sls/ilogtail/EventDispatcher.cpp:369]    start add existed check point events, size:0
    [2018-02-06 08:13:35.722155]    [INFO]    [8]    [build/release64/sls/ilogtail/EventDispatcher.cpp:511]    add existed check point events, size:0    cache size:0    event size:0    success count:0
    [2018-02-06 08:13:39.725417]    [INFO]    [8]    [build/release64/sls/ilogtail/ConfigManager.cpp:3776]    check container path update flag:0    size:1
    コンテナーの標準出力は参照用ではありません。 次の標準出力を無視します。
    
    start umount useless mount points, /shm$|/merged$|/mqueue$
    umount: /logtail_host/var/lib/docker/overlay2/3fd0043af174cb0273c3c7869500fbe2bdb95d13b1e110172ef57fe840c82155/merged: must be superuser to unmount
    umount: /logtail_host/var/lib/docker/overlay2/d5b10aa19399992755de1f85d25009528daa749c1bf8c16edff44beab6e69718/merged: must be superuser to unmount
    umount: /logtail_host/var/lib/docker/overlay2/5c3125daddacedec29df72ad0c52fac800cd56c6e880dc4e8a640b1e16c22dbe/merged: must be superuser to unmount
    ......
    xargs: umount: exited with status 255; aborting
    umount done
    start logtail
    ilogtail is running
    logtail status:
    ilogtail is running
  • Logtail の再起動

    次のサンプルコードは、Logtail を再起動する方法を示しています。

    [root@iZbp17enxc2us3624wexh2Z ilogtail]# docker exec a287de895e40 /etc/init.d/ilogtaild stop
    kill process Name: ilogtail pid: 7
    kill process Name: ilogtail pid: 8
    stop success
    [root@iZbp17enxc2us3624wexh2Z ilogtail]# docker exec a287de895e40 /etc/init.d/ilogtaild start
    ilogtail is running