このトピックでは、KubernetesクラスターにLogtailコンポーネントをインストールする方法について説明します。
このタスクについて
Kubernetesクラスターからコンテナーログを収集するには、Logtailコンポーネントをインストールする必要があります。- alibaba-log-configurationという名前のConfigMapを作成します。 ConfigMapには、プロジェクトなどのLog Serviceの設定情報が含まれています。
- オプションです。 AliyunLogConfigという名前のカスタムリソース定義 (CRD) を作成します。
- オプションです。 alibaba-log-controllerという名前の配置コントローラーを作成します。 デプロイメントコントローラーは、AliyunLogConfig CRDの変更とLogtail設定の作成を監視するために使用されます。
- logtail-dsという名前のDaemonSetを作成して、ノードからログを収集します。
Alibaba Cloud Container Service for Kubernetes (ACK) クラスター
既存のACKクラスターにLogtailコンポーネントをインストールできます。 ACKクラスターの作成時にLogtailコンポーネントをインストールすることもできます。 ACKクラスターの作成時にLogtailコンポーネントをインストールするには、[Log Serviceの有効化] を選択する必要があります。
既存のACKクラスターにLogtailコンポーネントをインストールする
- ACKクラスターが専用KubernetesクラスターまたはマネージドKubernetesクラスターの場合、このセクションで説明されている手順に従って、Logtailコンポーネントをクラスターにインストールできます。
- ACKクラスターとLog Serviceが異なるAlibaba Cloudアカウントに属している場合、Log Serviceが属しているAlibaba CloudアカウントのIDをクラスターのユーザー識別子として設定する必要があります。 詳細については、「Alibaba CloudアカウントのIDをユーザー識別子として設定する」をご参照ください。
- ACK コンソールにログインします。
- 左側のナビゲーションウィンドウで、[クラスター] をクリックします。
- [クラスター] ページで、Logtailコンポーネントをインストールするクラスターを見つけてクリックします。
- 表示されるページの左側のナビゲーションウィンドウで、 を選択します。
- [ログとモニタリング] タブで、[logtail-ds] を見つけ、[インストール] をクリックします。 After logtail-dsはインストール、Log Service自動的に作成プロジェクト名前
k8s-log -${your_k8s_cluster_id}
、マシングループ名前k8s-group-${your_k8s_cluster_id}
、とLogstore名前設定操作ログで
。重要config-operation-log
Logstoreは削除しないでください。
ACKクラスターの作成時にLogtailコンポーネントをインストールする
- ACK コンソールにログインします。
- 左側のナビゲーションウィンドウで、[クラスター] をクリックします。
- [クラスター] ページで、[Kubernetesクラスターの作成] をクリックします。
- [コンポーネント設定] ステップで、[Log Serviceの有効化] を選択します。 説明 この例では、Log Serviceの有効化に必要な手順のみを示します。 ACKクラスターの作成方法の詳細については、「マネージド Kubernetes クラスターの作成」をご参照ください。
Log Serviceの有効化を選択した場合、Log Serviceプロジェクトを作成するように求められます。 Log Serviceでのログの管理方法の詳細については、「プロジェクト」をご参照ください。 次のいずれかの方法を使用して、プロジェクトを作成できます。
- プロジェクトの選択
既存のプロジェクトを選択して、収集されるコンテナログを管理できます。
- プロジェクトの作成
Log Serviceは、収集されたコンテナログを管理するために、
k8s-log-{ClusterID}
という名前のプロジェクトを自動的に作成します。ClusterID
は、作成されたACKクラスターの一意のIDを示します。
Logtailコンポーネントをインストールすると、k8s-group-${your_k8s_cluster_id}
という名前のマシングループとconfig-operation-log
という名前のLogstoreがプロジェクトに自動的に作成されます。重要config-operation-log
Logstoreは削除しないでください。 - プロジェクトの選択
自己管理型Kubernetesクラスター
- Log Service コンソールにログインします。
- 名前が
k8s-log-custom-
で始まるプロジェクトを作成します。例: k8s-log-custom-sd89ehdq。 詳細については、「プロジェクトの作成」をご参照ください。 - Kubernetesクラスターにログインします。
- 次のコマンドを実行して、Logtailおよび依存コンポーネントをインストールします。 重要
- コマンドを実行するマシンにkubectlコマンドラインツールがインストールされていることを確認します。
- alibaba-log-controllerはKubernetes 1.6以降でのみ使用できます。
- CRDを使用する必要がなくなった場合は、alibaba-cloud-log/templates/alicloud-log-config.yamlファイルを削除し、次のコマンドを再実行します。
の場合。/alicloud-log-k8s-custom-install.sh: 行111: /root/alibaba-cloud-log/templates/alicloud-log-crd.yaml: このようなファイルまたはディレクトリ
のエラーメッセージが表示されません。エラーは無視できます。
Logtailとコンポーネントがインストールされると、
k8s-group-${your_k8s_cluster_id}
という名前のマシングループとconfig-operation-log
という名前のLogstoreがプロジェクトに自動的に作成されます。
エラー
- コンテナイメージのバージョンを表示するにはどうすればよいですか? 次のいずれかのイメージリポジトリにアクセスして、コンテナイメージのバージョンを表示できます。
- 複数のKubernetesクラスターから同じLog Serviceプロジェクトにコンテナーログを収集する方法を教えてください。
- Alibaba Cloud ACKクラスター
複数のACKクラスターから同じLog Serviceプロジェクトにコンテナログを収集する場合は、ACKクラスターを作成するときに同じプロジェクトを選択する必要があります。
- 自己管理型Kubernetesクラスター
複数のセルフマネージドKubernetesクラスターから同じLog Serviceプロジェクトにコンテナーログを収集する場合は、各KubernetesクラスターにLogtailコンポーネントをインストールするときに指定した値と同じ値に {your-project-suffix} パラメーターを設定する必要があります。
説明 複数の自己管理Kubernetesクラスターから同じLog Serviceプロジェクトにコンテナーログを収集できるのは、Kubernetesクラスターが同じリージョンにある場合のみです。 - Alibaba Cloud ACKクラスター
- Logtailのログを表示するにはどうすればよいですか?
Logtailのログは、Logtailコンテナの /usr/local/ilogtail/ ディレクトリにあるilogtail.LOGおよびlogtail_plugin.LOGファイルに保存されます。
コンテナの標準出力は、この場合には無関係である。 次の標準出力を無視します。
umount役に立たないマウントポイントを開始, /shm$|/merged$|/mqueue $ umount: /logtail_host/var/lib/docker/overlay2/3fd0043af174cb0273c3c7869500fbe2bdb95d13b1e110172ef57fe840c8215 5/merged: アンマウントするにはスーパーユーザーである必要があります umount: /logtail_host/var/lib/docker/overlay2/d5b10aa19399992755de1f85d25009528daa749c1bf8c16edff44beab6e69718/merged: アンマウントするにはスーパーユーザーである必要があります umount: /logtail_host/var/lib/docker/overlay2/5c3125daddacedec29df72ad0c52fac800cd56c6e880dc4e8a640b1e16c2 2dbe/merged: アンマウントするにはスーパーユーザーである必要があります ...... xargs: umount: ステータス255で終了しました。中止 umount done 開始logtail ilogtailが実行中です logtailステータス: ilogtailが実行中です
- KubernetesクラスターでLogtailコンポーネントのステータスを表示するにはどうすればよいですか。 以下のコマンドを実行します。
kubectl get deploy alibaba-log-controller -n kube-system kubectl get ds logtail-ds -n kube-system
- alibaba-log-controllerの起動に失敗した場合はどうすればよいですか? 次の方法でalibaba-log-controllerがインストールされているかどうかを確認します。
- Kubernetesクラスターのマスターノードでインストールコマンドを実行します。
- インストールコマンドでKubernetesクラスターのIDを指定します。
上記の方法でalibaba-log-controllerがインストールされていない場合は、
kubectl delete -f deploy
コマンドを実行して、生成されたインストールテンプレートを削除します。 次に、インストールコマンドを再実行します。 - KubernetesクラスターでLogtail DaemonSetのステータスを表示するにはどうすればよいですか。
kubectl get ds -n kube-system
コマンドを実行し、Logtail DaemonSetのステータスを表示します。説明 Logtailコンテナが存在するデフォルトの名前空間はkube-systemです。 - Logtailのバージョン番号、IPアドレス、起動時間、ステータスを表示するにはどうすればよいですか。
- 次のコマンドを実行して、Logtailのステータスを表示します。
kubectl get po -n kube-system | grep logtail
次の出力が返されます。
名前準備ができているステータスの履歴書 logtail-ds-gb92k 1/1ランニング0 2h logtail-ds-wm7lw 1/1ランニング0 4d
- 次のコマンドを実行して、Logtailのバージョン番号とIPアドレスを表示します。
kubectl exec logtail-ds-gb92k -n kube-system cat /usr/local/ilogtail/app_info.json
次の出力が返されます。
{ "UUID": ""、 "hostname" : "logtail-ds-gb92k", "instance_id" : "0EBB2B0E-0A3B-11E8-B0CE-0A58AC140402_172.20.4.2_1517810940", "ip" : "192.0.2.0" 、 "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" : "2021-02-05 06:09:01" }
- 次のコマンドを実行して、Logtailのステータスを表示します。
- Logtailの操作ログを表示するにはどうすればよいですか?
Logtailの操作ログは、/usr/local/ilogtail/ ディレクトリのilogtail.LOGファイルに保存されます。 ログファイルがローテーションされると、生成されたファイルは圧縮され、ilogtail.LOG.x.gzとして保存されます。
例:kubectl exec logtail-ds-gb92k -n kube-system tail /usr/local/ilogtail/ilogtail.LOG
[2018-02-05 06:09:02.168693] [情報] [9] [build/release64/sls/ilogtail/LogtailPlugin.cpp:104] logtail plugin Resume:start [2018-02-05 06:09:02.168807] [情報] [9] [build/release64/sls/ilogtail/LogtailPlugin.cpp:106] logtail plugin Resume:success [2018-02-05 06:09:02.168822] [INFO] [9] [build/release64/sls/ilogtail/EventDispatcher.cpp:369] 既存のチェックポイントイベントの追加を開始、サイズ: 0 [2018-02-05 06:09:02.168827] [INFO] [9] [build/release64/sls/ilogtail/EventDispatcher.cpp:511] 既存のチェックポイントイベントを追加、サイズ: 0キャッシュサイズ: 0イベントサイズ: 0成功カウント: 0
- ポッドのLogtailを再起動するにはどうすればよいですか?
- Logtailを停止します。
次のコマンドでは、
logtail-ds-gb92k -n
はコンテナーを指定し、kube-system
は名前空間を指定します。 ビジネスシナリオに基づいてパラメーターを設定します。kubectl exec logtail-ds-gb92k -n kube-system /etc/init.d/ilogtaild stop
次の出力が返された場合、Logtailは停止します。kill process Name: ilogtail pid: 7 kill process Name: ilogtail pid: 9 成功を止める
- Logtailを起動します。
次のコマンドでは、
logtail-ds-gb92k -n
はコンテナーを指定し、kube-system
は名前空間を指定します。 ビジネスシナリオに基づいてパラメーターを設定します。kubectl exec logtail-ds-gb92k -n kube-system /etc/init.d/ilogtaild start
次の出力が返されると、Logtailが起動されます。ilogtailが実行されています
- Logtailを停止します。
- 制御プレーンコンポーネントのログを収集するにはどうすればよいですか?
- ACK管理クラスターから制御プレーンコンポーネントのログを収集するには、ACKコンソールでログ収集機能を有効にします。 詳細については、「t2020982.html#task_2020982」をご参照ください。
- 自己管理型KubernetesクラスターまたはACK専用クラスターから制御プレーンコンポーネントのログを収集する方法については、「コンテナ標準出力」をご参照ください。
次のタスク
コンテナログを収集するためのLogtail設定を作成します。- DaemonSet
- CRDを使用してコンテナログを収集する方法については、「CRD での Kubernetes ログ収集の設定」をご参照ください。
- Log Serviceコンソールを使用してコンテナーのstdoutログとstderrログを収集する方法については、「コンテナ標準出力」をご参照ください。
- Log Serviceコンソールを使用してコンテナテキストログを収集する方法については、「Log Service を使用した Kubernetes クラスターログの収集」をご参照ください。
- サイドカー
- CRDを使用してコンテナログを収集する方法については、「SidecarモードでCRDを使用してコンテナテキストログを収集する」をご参照ください。
- Log Serviceコンソールを使用してコンテナログを収集する方法については、「Log Serviceコンソールを使用してSidecarモードでコンテナテキストログを収集する」をご参照ください。