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

- Logtail コンテナーをデプロイします。
- Logtail マシングループを設定します。
Log Service コンソールでカスタム ID を使用してマシングループを作成します。 その後、コンテナークラスターを拡張または縮小するために追加の操作および保守 (O&M) は必要ありません。
- サーバー側用の収集設定を作成します。
Log Service コンソールで収集設定を作成します。 すべての収集設定はサーバー側の設定です。 ローカル設定は必要ありません。
ステップ 1. Logtail コンテナーのデプロイ
- Logtail 画像を引き出します。
docker pull registry.cn-hangzhou.aliyuncs.com/log-service/logtail
- 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』をご参照ください。
フラグをスタートアップパラメーターに追加します。 詳細については、『Docker run reference』をご参照ください。--privileged
パラメーター 説明 ${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 コンテナーの起動パラメーター設定をカスタマイズできます。
- Logtail コンテナーーを起動には、
ALIYUN_LOGTAIL_USER_DEFINED_ID
、ALIYUN_LOGTAIL_USER_ID
、ALIYUN_LOGTAIL_CONFIG
という 3 つの環境変数があります。 - Docker のドメインソケットは
/var/run/docker.sock
にマウントされています。 - 標準コンテナーー出力、コンテナーーログ、ホストファイルを収集するには、 ルートディレクトリを Logtail コンテナーの
/logtail_host
にマウントします。 - 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 ディレクトリにマウントします。 - live restore 設定がご使用の Docker Engine に対して有効にされている場合、Docker Engine を再起動する前にcurl --unix-socket /var/run/docker.sock http:/x > /dev/null 2>&1 コマンドを実行して、Logtail に使用されているドメインが有効であることを検証します。
ステップ 2 . Logtail マシングループの設定
- Log Service を有効にして、プロジェクトとログストアを作成します。 詳細いついては、「準備」をご参照ください。
- Log Service コンソール内の [マシングループ] ページで IP アドレスが IDとなるマシングループの作成をクリックします。
- [カスタム ID] を [認識] ドロップダウンリストから選択します。 前のステップで [カスタム ID] フィールドで設定した
ALIYUN_LOGTAIL_USER_DEFINED_ID
の値を入力します。図 2. Logtail マシングループを設定します。
[確認]をクリックして、マシングループを作成します。 1分後、マシングループ ページの右側にある [ステータス] をクリックして、デプロイされた Logtail コンテナーのハートビートステータスを表示します。 詳細については、マシングループの管理 の [ステータスの表示] セクションをご参照ください。
ステップ 3. 収集の設定情報の作成
必要に応じてコンソールに Logtail 収集の設定情報を作成します。 詳細は、以下をご参照ください。
- コンテナーテキストログ (推奨)
- コンテナー標準アウトプット (推奨)
- ホストテキストファイル
デフォルトでは、ホストのルートディレクトリは Logtail コンテナーの
/logtail_host
ディレクトリにマウントされています。 設定パスの先頭に / logtail_host を付ける必要があります。 たとえば、ホストの/home/logs/app_log/
ディレクトリからデータを収集するには、設定ページでログパスを/logtail_host/home/logs/app_log/
に指定します。 - syslog
その他の操作
- 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