クラスター内のアプリケーション、コンテナ、およびインフラストラクチャコンポーネントは、大量の散在したログデータを継続的に生成するため、ログの収集と管理が複雑になります。Container Service for Kubernetes (ACK) は Simple Log Service (SLS) と統合されており、ログ管理プロセスを簡素化するソリューションを提供します。
SLS の機能と用語の詳細については、「Simple Log Service とは」および「用語集」をご参照ください。
ログ収集コンポーネントの概要
ログ収集コンポーネントは SLS と深く統合されており、自動検出を使用してコンテナログ管理を簡素化します。これらのコンポーネントは、テキストログ、バイナリロギング、HTTP データなど、さまざまな形式をサポートしています。ログデータは、永続ストレージのために SLS に直接保存できます。SLS のリアルタイム分析およびクエリ機能を使用して、問題を迅速に特定して切り分け、トラブルシューティングの効率を向上させ、O&M コストを削減できます。以下のログ収集コンポーネントがサポートされています。
LoongCollector (旧 Logtail): Logtail は、Simple Log Service が提供するログ収集エージェントです。Logtail を使用すると、Alibaba Cloud Elastic Compute Service (ECS) インスタンス、自己管理型 IDC、または他のクラウドプロバイダーのサーバーなどのサーバーからログを収集できます。Logtail は、アプリケーションコードを変更することなくファイルからログを収集するため、アプリケーションは中断なく実行されます。LoongCollector は、Simple Log Service の次世代収集エージェントです。Logtail のアップグレード版として、下位互換性を持ち、パフォーマンスが向上しています。
Logtail ベースのデータ収集: Logtail は、Simple Log Service が提供するログ収集エージェントです。Logtail を使用すると、Alibaba Cloud Elastic Compute Service (ECS) インスタンス、データセンター内のサーバー、サードパーティのクラウドサービスプロバイダーのサーバーなど、複数のデータソースからログを収集できます。Logtail は、ログファイルに基づく非侵入型のログ収集をサポートしています。アプリケーションコードを変更する必要はなく、ログ収集がアプリケーションの運用に影響を与えることもありません。
ログ収集の原則
このセクションでは、2 つのログ収集方式とその手順について説明します。
収集手順
ACK クラスターでは、ログ収集コンポーネントをデプロイして、さまざまな種類のログデータを SLS に安全に送信し、保存および分析することができます。この方法により、設定と管理が簡素化され、効率が向上します。基本的な手順は次のとおりです。
全体の手順は次のとおりです。
ログ収集コンポーネントをデプロイします。
クラスターにログ収集コンポーネントをインストールすると、AliyunLogConfig CRD が作成され、ログ収集コンポーネントに基づいてリソースがデプロイされます。これにより、ACK クラスター内の AliyunLogConfig が SLS の収集設定に関連付けられます。
LoongCollector コンポーネント: loongcollector-ds (DaemonSet)、loongcollector-operator (Deployment)、alibaba-log-configuration (ConfigMap)
Logtail コンポーネント: logtail-ds (DaemonSet)、alibaba-log-controller (Deployment)、alibaba-log-configuration (ConfigMap)
データ収集を設定します。収集設定を作成します。ログ収集コンポーネントはこの設定に基づいて動作します。
コンソール、CRD 設定、または環境変数を使用してログ収集を設定できます。詳細については、「ACK クラスターからコンテナログを収集する」、「DaemonSet モード (旧バージョン) で Kubernetes コンテナから stdout と stderr を収集する」、および「Sidecar モードで Kubernetes コンテナからテキストログを収集する」をご参照ください。
ログを SLS に報告します。ログ収集コンポーネントはログデータをリアルタイムで SLS にアップロードします。
収集方式
Kubernetes クラスターには、Sidecar と DaemonSet の 2 つのログ収集方式があります。これらの方式は手順が異なり、それぞれ異なるシナリオに適しています。
DaemonSet: ログ収集コンポーネントは
kube-system名前空間にデプロイされ、DaemonSet として実行されます。各ノードのログ収集 Pod は、そのノード上のすべての Pod から、標準出力やファイルなどのデータを収集します。詳細については、「ACK クラスターからコンテナログを収集する」をご参照ください。Sidecar
各アプリケーション Pod は、メインコンテナとログボリュームを共有するログ収集コンテナを実行します。詳細については、「Sidecar モードで Kubernetes コンテナからテキストログを収集する」をご参照ください。
分類 | DaemonSet 方式 | Sidecar 方式 |
シナリオ | ログが明確に分類され、機能が比較的単純なクラスターに適しています。
| 大規模なハイブリッドクラスターに適しています。 この方式は、Pod ごとに異なるログ収集設定が必要な場合に役立ちます。ただし、この方式では Pod あたりのログ量が大きくなり、大量のリソースを消費する可能性があります。 |
リソース使用量 | 各ノードで 1 つのログ収集 Pod が実行されます。 | 各 Pod で 1 つのログ収集コンテナが実行されます。 |
デプロイと O&M | DaemonSet のみを維持する必要があります。 | ログ収集が必要な各 Pod にログ収集コンテナをデプロイする必要があります。 |
収集されるログタイプ | 標準出力とテキストログ。 | テキストログ。 |
サポートされるログタイプ
ACK クラスターでは、さまざまなソースからログデータを収集し、SLS に安全に送信して保存および分析することができます。
ログタイプ | 説明 | 参考 |
アプリケーション (コンテナ) ログ | ACK クラスターからコンテナの標準出力やコンテナ内のテキストファイルなど、コンテナログを迅速に収集できます。 |
|
コントロールプレーンコンポーネントのログ | API Server、kube-scheduler、kube-controller-manager、cloud-controller-manager、Controlplane-Events、ALB Ingress Controller などのコントロールプレーンコンポーネントからログを収集できます。収集されたログは指定された Logstore に送信されます。これにより、コントロールプレーンコンポーネントの実行状態の一元管理と分析が容易になります。また、問題の迅速なトラブルシューティング、コンポーネントの健全性の監視、カスタムパラメータ設定の効果の検証にも役立ちます。 各 SLS Logstore は、Kubernetes コントロールプレーンコンポーネントに対応しています。 | |
ネットワークコンポーネントのログ |
| |
データプレーンコンポーネントのログ | ストレージプラグイン、Terway ネットワーク、Flannel ネットワーク、Auto Scaling などのプラグインのログを収集できます。 |
制限事項
制限事項 | 説明 |
クラスターバージョン |
|
| |
実際の使用量は、収集レート、監視対象のディレクトリとファイルの数、および送信ブロックの程度によって異なります。実際の使用量が制限の 80% 未満であることを確認してください。 制限事項の詳細については、「Logtail の制限事項」をご参照ください。 |
課金
ACK クラスターで SLS を使用する際に発生する費用は、クラスター管理料金と SLS 料金の合計です。
よくある質問
あるプロジェクトから別のプロジェクトにログをコピーする方法
project-a の logstore-a からアクセスログを、新しく作成した project-b の logstore-b にコピーし、project-b で一元的にクエリと分析を行うには、「Logstore データの複製」をご参照ください。
ログ収集のステータスが異常な場合の対処法
Logtail を使用してコンテナ (標準コンテナや Kubernetes コンテナなど) からログを収集する際に収集ステータスが異常な場合は、「コンテナログ収集の異常をトラブルシューティングする方法」の指示に従って、問題のトラブルシューティング、実行状態の確認、およびその他の O&M 操作を実行できます。
ログの損失、削除、ストレージコストの削減に関するよくある質問
ログの保存期間の変更方法やログ収集を無効にする方法については、「Logstore 関連の問題」をご参照ください。
Logtail 関連の問題
Logtail のログ収集の遅延、履歴ログの収集方法、Logtail の設定変更が有効になるまでの時間については、「Logtail の基本的な問題」をご参照ください。