クラスター内のアプリケーション、コンテナー、およびインフラストラクチャコンポーネントは、大量の分散ログデータを継続的に生成するため、ログの収集と管理が複雑になります。Container Service for Kubernetes (ACK) は Simple Log Service (SLS) と統合されており、ログ管理を簡素化します。
SLS の機能と用語の詳細については、「Simple Log Service とは」および「用語」をご参照ください。
ログ収集コンポーネントの概要
ログ収集コンポーネントは SLS によって提供され、ACK クラスタからのログの検出と収集を自動化します。これらのコンポーネントを使用すると、ログ管理を簡素化できます。コンポーネントは、テキストログ、バイナリログ、HTTP ログなど、さまざまな種類のログをサポートしています。収集されたログは SLS に永続化できます。SLS を使用すると、ログをリアルタイムでクエリおよび分析して、問題を迅速に特定し、場所を特定できます。これにより、トラブルシューティングの効率が向上し、O&M コストが削減されます。次のログ収集コンポーネントがサポートされています。
LoongCollector ベースのデータ収集: LoongCollector は、Simple Log Service によって提供される新世代のログ収集エージェントです。LoongCollector は、Logtail のアップグレードバージョンです。LoongCollector は、Managed Service for Prometheus ベースのデータ収集や Extended Berkeley Packet Filter (eBPF) テクノロジーベースの非侵入型データ収集など、Application Real-Time Monitoring Service (ARMS) の特定の収集エージェントの機能を統合することが期待されています。
Logtail ベースのデータ収集: Logtail は、Simple Log Service によって提供されるログ収集エージェントです。Logtail を使用すると、Alibaba Cloud Elastic Compute Service (ECS) インスタンス、データセンター内のサーバー、サードパーティのクラウド サービス プロバイダーのサーバーなど、複数のデータソースからログを収集できます。Logtail は、ログファイルに基づく非侵入型ログ収集をサポートしています。アプリケーションコードを変更する必要はなく、ログ収集はアプリケーションの動作に影響しません。
ログ収集
このセクションでは、ログ収集の構成に使用できる 2 つの方法について説明します。
収集手順
ACK クラスタにログ収集コンポーネントをインストールして、さまざまな種類のデータを安全に収集し、保存と分析のために SLS に送信できます。これにより、ログ収集構成とログ管理が簡素化され、ログ収集効率が向上します。次の図は、収集手順を示しています。
収集手順には、次のステップが含まれます。
ログ収集コンポーネントをデプロイする
クラスタにログ収集コンポーネントをインストールすると、ACK は 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)。
ログ収集を構成する: ログ収集コンポーネントは、作成した収集構成を取得し、収集構成に基づいてログを収集します。
ログ収集構成を作成します。ACK コンソール、CRD、または環境変数を使用して、ログ収集構成を作成できます。詳細については、「DaemonSet モードで Kubernetes コンテナーからテキストログを収集する」、「DaemonSet モードで Kubernetes コンテナーから stdout および stderr を収集する (旧バージョン)」、および「サイドカーモードで Kubernetes コンテナーからテキストログを収集する」をご参照ください。
SLS にログを報告する: ログ収集コンポーネントは、ログをリアルタイムで SLS に送信します。
収集方法
Kubernetes クラスタでは、サイドカーモードまたは DaemonSet モードを使用してログを収集できます。各方法には、異なる収集手順と使用シナリオがあります。
DaemonSet ログ収集コンポーネントは、
kube-system名前空間で DaemonSet としてデプロイされます。各ノードのログコレクターポッドは、stdout およびテキストログを含む、ノードで実行されているすべてのポッドからログを収集します。詳細については、「DaemonSet モードで Kubernetes コンテナーからテキストログを収集する」をご参照ください。Sidecar
サイドカー 各ビジネスポッドでログコレクターコンテナーが実行されます。コレクターコンテナーとメインコンテナーは、ログの保存に使用される同じボリュームを共有します。詳細については、「サイドカーモードで Kubernetes コンテナーからテキストログを収集する」をご参照ください。
カテゴリ | DaemonSet モード | Sidecar モード |
使用シナリオ | クラスタには、明確なログの分類と単一の機能があります。
| 大規模なハイブリッドクラスター ポッドごとに異なるログ収集構成が必要な場合は、この方法を使用してログを収集できます。ただし、このモードの単一のポッドは大量のログを生成し、大量のリソースを消費します。 |
リソース使用量 | 各ノードでログコレクターポッドを実行します。 | 各ポッドでログコレクターコンテナーを実行します。 |
デプロイと O&M | DaemonSet のみメンテナンスする必要があります。 | 各ビジネスポッドにログコレクターコンテナーをデプロイする必要があります。 |
ログタイプ | stdout およびテキストログ。 | テキストログ。 |
サポートされているログタイプ
ACK クラスタでは、さまざまなソースからログデータを収集し、保存と分析のためにログデータを安全に SLS に送信できます。
ログタイプ | 説明 | 参照 |
アプリケーション (コンテナー) ログ | ACK クラスタ内のコンテナーからのログデータは、迅速に収集できます。ログデータには、stdout およびテキストファイルが含まれます。 |
|
コントロールプレーンコンポーネントログ | API サーバー、kube-scheduler、kube-controller-manager、cloud-controller-manager、Controlplane-Events、Application Load Balancer (ALB) Ingress コントローラーなどのコントロールプレーンコンポーネントからログが収集されます。ログは特定の Logstore に送信されます。このコンポーネントは、コントロールプレーンコンポーネントの実行状態の一元管理と分析を容易にします。これにより、問題の迅速なトラブルシューティング、コンポーネントのヘルス状態の監視、カスタムパラメーター構成の効果の検証に役立ちます。 各 Logstore は Kubernetes コントロールプレーンコンポーネントに対応しています。 | |
ネットワークコンポーネントログ |
| |
データプレーンコンポーネントログ | ボリュームプラグイン、Terway、Flannel、および自動スケーリングコンポーネントのログを収集できます。 |
制限
項目 | 説明 |
Kubernetes バージョン |
|
| |
制限の詳細については、「Logtail の制限」をご参照ください。 |
課金
ACK クラスタの SLS で発生するコストは、クラスタ管理料金と SLS 料金の合計です。
FAQ
プロジェクトから別のプロジェクトにログをコピーするにはどうすればよいですか?
logstore-a ログストアのアクセスログを project-a プロジェクトから logstore-b ログストアの project-b プロジェクトに複製できます。これにより、project-b プロジェクトのデータを一元的にクエリおよび分析できます。詳細については、「ログストアからデータを複製する」をご参照ください。
ログ収集ステータスが異常な場合はどうすればよいですか?
Logtail を使用して標準 Docker コンテナーまたは Kubernetes コンテナーからログを収集すると、エラーが発生する場合があります。エラーのトラブルシューティングと Logtail の実行状態の確認方法の詳細については、「コンテナーからログを収集するときにエラーが発生した場合はどうすればよいですか?」をご参照ください。
ログの損失、ログの削除、ログのコスト削減に関するよくある質問
ログの保存期間の変更とログ収集の無効化方法の詳細については、「Logstore に関するよくある質問」をご参照ください。
Logtail 関連の問題
Logtail の収集レイテンシ、履歴ログの収集方法、Logtail 構成の有効時間など、詳細については、「Logtail に関する FAQ」をご参照ください。
お問い合わせ
ACK についてご質問がある場合は、お問い合わせください。