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

設定プロセス

図 1. 設定プロセス


  1. Logtail コンテナをデプロイします。
  2. Logtail コンテナを構成します。

    ログサービスコンソールで、ユーザー定義の ID を持つマシングループを作成します。 その後、コンテナークラスターを拡張または縮小するために追加の操作および保守(O&M)は必要ありません。

  3. コンソールにコレクション設定を作成します。

    ログサービスコンソールでコレクション構成を作成します。 すべてのコレクション構成はサーバー側用です。 ローカル設定は必要ありません。

ステップ 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_name}の 3 つのパラメータを置き換えてください。

    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 1468249Bug 1441737およびissue 34538 をご参照ください。
    • Logtail に privileged 権限を与え、起動パラメータに ---privileged を追加します。 詳細は、docker run command をご参照ください。
    パラメータ 説明
    ${your_region_name} リージョン名。 作成したログサービスプロジェクトが存在するリージョンに置き換えます。 リージョン名については、Logtail の Linux へのインストール で使われているリージョン名をご参照ください。
    リージョン名をリストから直接コピーすることをお勧めします。
    $ {your_aliyun_user_id} ユーザ ID。メインの Alibaba Cloud アカウントの ID で置き換えてください。 String 型の Alibaba Cloud メインアカウントの ID に置き換えてください。 ID の確認方法については、Alibaba Cloud ECS インスタンス以外または他のアカウントの ECS インスタンスからログを収集する の 2.1 をご参照ください。
    ${your_machine_group_user_defined_id} クラスタマシングループのユーザー定義の ID。 ユーザー定義の ID がまだ有効になっていない場合は、マシングループにユーザー定義 ID を設定するの該当する手順に従って userdefined-id を有効にします。
    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_ID、および ALIYUN_LOGTAIL_CONFIG という 3 つの環境変数があります。
  2. Docker のドメインソケットは /var/run/docker.sock にマウントされています。
  3. 他のコンテナまたはホストファイルからログを収集する場合、ルートディレクトリは Logtail コンテナの / logtail_host ディレクトリにマウントされます。
  4. Logtail ログ /usr/local/ilogtail/ilogtail.LOG にはパラメータ無効:uuid=none というエラーログがある場合、ホストマシンで product_uuid ファイルを作成し、有効な UUID(例:169E98C9-ABC0 -4A92-B1D2-AA6239C0D261)を入力して、Logtail コンテナの /sys/class/dmi/id/product_uuid パスにマウントします。

ステップ 2. マシングループを構成する

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


[確認]をクリックして、マシングループを作成します。 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 実行ログは、/usr/local/ilogtail/ ディレクトリに格納されます。 ファイル名は、ilogtail.LOG です。 rotation ファイルは圧縮され、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
    コンテナの stdout は参照になりません。次の stdout の出力は無視してください。
    
    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