Logtail が標準コンテナーまたは Kubernetes コンテナーからログを収集できない場合は、このトピックの手順に従って問題をトラブルシューティングし、実行ステータスを確認してください。
マシングループのハートビートエラーの確認
マシングループのハートビートステータスを確認して、Logtail がコンテナー環境に正しくインストールされているかどうかを判断します。
マシングループのハートビートステータスを確認します。
Simple Log Service コンソールにログインします。
[プロジェクト] セクションで、目的のプロジェクトをクリックします。

ナビゲーションウィンドウで、 を選択します。
マシングループのリストで、対象のマシングループをクリックします。
[マシングループ設定] ページで、マシングループのステータスを表示し、ハートビートステータスが [OK] のノード数を記録します。
コンテナークラスター内のワーカーノードの数を確認します。
次のコマンドを実行して、クラスター内のワーカーノードの数を表示します。
kubectl get node | grep -v master次のような結果が返されます。
NAME STATUS ROLES AGE VERSION cn-hangzhou.i-bp17enxc2us3624wexh2 Ready <none> 238d v1.10.4 cn-hangzhou.i-bp1ad2b02jtqd1shi2ut Ready <none> 220d v1.10.4
ハートビートステータスが [OK] のノード数とコンテナークラスター内のワーカーノードの数を比較します。比較結果に基づいて問題をトラブルシューティングします。
マシングループ内のすべてのノードのハートビートステータスが [失敗] です。
標準 Docker コンテナーからログを収集する場合は、「Docker コンテナー (stdout およびファイル) からログを収集する」をご参照のうえ、
${your_region_name}、${your_aliyun_user_id}、および${your_machine_group_user_defined_id}が正しく指定されているか確認してください。Alibaba Cloud Kubernetes クラスターを使用している場合は、チケットを送信。
セルフマネージド Kubernetes クラスターを使用する場合は、「サイドカーを使用して Kubernetes コンテナーからテキストログを収集する」をご参照のうえ、
{regionId}、{aliuid}、{access-key-id}、および{access-key-secret}が正しく指定されているか確認してください。これらが誤って指定されている場合は、
helm del --purge alibaba-log-controllerコマンドを実行してインストールパッケージを削除し、再インストールしてください。
ハートビートステータスが [OK] のノード数が、クラスター内のワーカーノード数よりも少ないです。
DaemonSet が YAML ファイルを使用して手動でデプロイされているかどうかを確認します。
次のコマンドを実行します。結果が返された場合は、DaemonSet が YAML ファイルを使用して手動でデプロイされたことを意味します。
kubectl get po -n kube-system -l k8s-app=logtail${your_region_name}、${your_aliyun_user_id}、${your_machine_group_name} などのパラメーターを実際の値で構成します。
次のコマンドを実行してファイルを更新します。
kubectl apply -f ./logtail-daemonset.yaml
その他の場合は、チケットを送信。
コンテナーログ収集エラーの確認
Simple Log Service コンソールの [プレビュー] ページまたは Logstore クエリページでログが見つからない場合は、Simple Log Service がコンテナーログを収集していないことを示します。この場合、コンテナーのステータスを確認してから、次のチェックを実行します。
コンテナーファイルからログを収集する際は、次の点にご注意ください。
Logtail は増分ログのみを収集します。Logtail 構成の適用後にログファイルが更新されない場合、Logtail はそのファイルからログを収集しません。詳細については、「ログファイルの読み取り」をご参照ください。
Logtail は、デフォルトのコンテナーストレージを使用するか、ローカルパスにマウントされているファイルからのみログを収集できます。他のストレージメソッドはサポートされていません。
ログが収集された後、Logstore でログをクエリおよび分析するためのインデックスを作成する必要があります。詳細については、「インデックスの作成」をご参照ください。
マシングループのハートビートエラーを確認します。詳細については、「マシングループのハートビートエラーの確認」をご参照ください。
Logtail 構成が正しいかどうかを確認します。
Logtail 構成の IncludeLabel、ExcludeLabel、IncludeEnv、ExcludeEnv、およびその他の設定が要件を満たしているかどうかを確認します。
説明ラベルはコンテナーラベルであり、Docker inspect の出力にあるラベルであり、Kubernetes ラベルではありません。
IncludeLabel、ExcludeLabel、IncludeEnv、および ExcludeEnv の設定を一時的に削除して、ログを収集できるかどうかを確認できます。ログを収集できる場合は、これらのパラメーターの設定が正しくないことを示します。
その他の O&M 操作
Logtail コンテナーへのログイン
標準 Docker
ホストで次のコマンドを実行して、Logtail コンテナーを見つけます。
docker ps | grep logtail次のような結果が返されます。
223****6e registry.cn-hangzhou.aliyuncs.com/log-service/logtail "/usr/local/ilogta..." 8 days ago Up 8 days logtail-iba次のコマンドを実行して、Logtail コンテナーで bash シェルを開始します。
docker exec -it 223****6e bashコマンドの
223****6eはコンテナー ID です。実際の ID に置き換えてください。
Kubernetes
次のコマンドを実行して、Logtail ポッドを見つけます。
kubectl get po -n kube-system | grep logtail次のような結果が返されます。
logtail-ds-****d 1/1 Running 0 8d logtail-ds-****8 1/1 Running 0 8d次のコマンドを実行してポッドにログインします。
kubectl exec -it -n kube-system logtail-ds-****d -- bashコマンドの
logtail-ds-****dはポッド ID です。実際の ID に置き換えてください。
Logtail 実行ログの表示
Logtail ログは、Logtail コンテナーの /usr/local/ilogtail/ ディレクトリに保存されます。ログファイル名は ilogtail.LOG と logtail_plugin.LOG です。
Logtail コンテナーにログインします。詳細については、「Logtail コンテナーへのログイン」をご参照ください。
/usr/local/ilogtail/ ディレクトリに移動します。
cd /usr/local/ilogtaililogtail.LOG ファイルと logtail_plugin.LOG ファイルを表示します。
cat ilogtail.LOG cat logtail_plugin.LOG
Logtail コンテナーの標準出力 (stdout) の説明
Logtail コンテナーの標準出力は、トラブルシューティングに役立つ情報を提供しません。次の内容は無視してかまいません。
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 runningKubernetes クラスター内の Simple Log Service コンポーネントのステータスの表示
次のコマンドを実行して、Simple Log Service デプロイメントのステータスと情報を表示します。
kubectl get deploy -n kube-system | grep -E 'alibaba-log-controller|loongcollector-operator'次の結果が返されます。
NAME READY UP-TO-DATE AVAILABLE AGE
alibaba-log-controller 1/1 1 1 11dDaemonSet リソースのステータス情報を表示するには、次のコマンドを実行します。
kubectl get ds -n kube-system | grep -E 'logtail-ds|loongcollector-ds'以下の結果が返されます。
NAME DESIRED CURRENT READY UP-TO-DATE AVAILABLE NODE SELECTOR AGE
logtail-ds 2 2 2 2 2 **ux 11dLogtail のバージョン番号、IP アドレス、および起動時間の表示
ホストで、次のコマンドを実行して、Logtail のバージョン番号、IP アドレス、および起動時間を表示します。
この情報は、Logtail コンテナーの
/usr/local/ilogtail/app_info.jsonファイルに保存されます。kubectl exec logtail-ds-****k -n kube-system cat /usr/local/ilogtail/app_info.json次のような結果が返されます。
{ "UUID" : "", "hostname" : "logtail-****k", "instance_id" : "0EB****_172.20.4.2_1517810940", "ip" : "172.20.4.2", "logtail_version" : "0.16.2", "os" : "Linux; 3.10.0-693.2.2.el7.x86_64; #1 SMP Tue Sep 12 22:26:13 UTC 2017; x86_64", "update_time" : "2018-02-05 06:09:01" }
CRD によって作成された Logstore の偶発的な削除の処理
カスタムリソース定義 (CRD) によって自動的に作成された Logstore を削除すると、収集されたデータを回復することはできません。さらに、この Logstore の CRD 構成は無効になります。ログ収集エラーを防ぐには、次のいずれかのソリューションを使用します。
CRD 構成で別の Logstore を使用します。誤って削除された Logstore は使用しないでください。
alibaba-log-controller ポッドを再起動します。
次のコマンドを実行してポッドを見つけることができます。
kubectl get po -n kube-system | grep alibaba-log-controller