すべてのプロダクト
Search
ドキュメントセンター

Container Service for Kubernetes:ロギングの概要

最終更新日:May 30, 2025

クラスター内のアプリケーション、コンテナー、およびインフラストラクチャコンポーネントは、大量の分散ログデータを継続的に生成するため、ログの収集と管理が複雑になります。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 に送信できます。これにより、ログ収集構成とログ管理が簡素化され、ログ収集効率が向上します。次の図は、収集手順を示しています。

image

収集手順には、次のステップが含まれます。

  1. ログ収集コンポーネントをデプロイする

    クラスタにログ収集コンポーネントをインストールすると、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)。

  2. ログ収集を構成する: ログ収集コンポーネントは、作成した収集構成を取得し、収集構成に基づいてログを収集します。

    ログ収集構成を作成します。ACK コンソール、CRD、または環境変数を使用して、ログ収集構成を作成できます。詳細については、「DaemonSet モードで Kubernetes コンテナーからテキストログを収集する」、「DaemonSet モードで Kubernetes コンテナーから stdout および stderr を収集する (旧バージョン)」、および「サイドカーモードで Kubernetes コンテナーからテキストログを収集する」をご参照ください。

  3. SLS にログを報告する: ログ収集コンポーネントは、ログをリアルタイムで SLS に送信します。

収集方法

Kubernetes クラスタでは、サイドカーモードまたは DaemonSet モードを使用してログを収集できます。各方法には、異なる収集手順と使用シナリオがあります。

カテゴリ

DaemonSet モード

Sidecar モード

使用シナリオ

クラスタには、明確なログの分類と単一の機能があります。

  • クラスターが単一のテナントに属し、単一の機能または少数のサービスを持つ。

  • 同じノード上のすべてのコンテナーに同じログ収集構成を使用したいと考えています。

  • stdout ストリームを収集したいと考えています。

  • リソース消費が少ない

大規模なハイブリッドクラスター

ポッドごとに異なるログ収集構成が必要な場合は、この方法を使用してログを収集できます。ただし、このモードの単一のポッドは大量のログを生成し、大量のリソースを消費します。

リソース使用量

各ノードでログコレクターポッドを実行します。

各ポッドでログコレクターコンテナーを実行します。

デプロイと O&M

DaemonSet のみメンテナンスする必要があります。

各ビジネスポッドにログコレクターコンテナーをデプロイする必要があります。

ログタイプ

stdout およびテキストログ。

テキストログ。

サポートされているログタイプ

ACK クラスタでは、さまざまなソースからログデータを収集し、保存と分析のためにログデータを安全に SLS に送信できます。

ログタイプ

説明

参照

アプリケーション (コンテナー) ログ

ACK クラスタ内のコンテナーからのログデータは、迅速に収集できます。ログデータには、stdout およびテキストファイルが含まれます。

コントロールプレーンコンポーネントログ

API サーバーkube-schedulerkube-controller-managercloud-controller-manager、Controlplane-Events、Application Load Balancer (ALB) Ingress コントローラーなどのコントロールプレーンコンポーネントからログが収集されます。ログは特定の Logstore に送信されます。このコンポーネントは、コントロールプレーンコンポーネントの実行状態の一元管理と分析を容易にします。これにより、問題の迅速なトラブルシューティング、コンポーネントのヘルス状態の監視、カスタムパラメーター構成の効果の検証に役立ちます。

各 Logstore は Kubernetes コントロールプレーンコンポーネントに対応しています。

ACK マネージドクラスターのコントロールプレーンコンポーネントのログを収集する

ネットワークコンポーネントログ

  • Ingress コンポーネントのアクセスログを収集して、アプリケーションのアクセスレイヤーでのトラフィックダイナミクスを監視できます。

  • CoreDNS ログを収集して、DNS 解決の遅延や異常なアクセスリクエストなどの問題を特定して解決できます。

データプレーンコンポーネントログ

ボリュームプラグインTerwayFlannel、および自動スケーリングコンポーネントのログを収集できます。

データプレーンコンポーネントログを収集する

制限

項目

説明

Kubernetes バージョン

  • DaemonSet モードでログを収集する場合は、Kubernetes 1.10.0 以降が必要です。HostToContainer マウント伝播がサポートされている必要があります。

  • カスタムリソース定義 (CRD) を使用してログを収集する場合は、Kubernetes 1.16.0 以降が必要であり、alibaba-log-controller コンポーネントがインストールされている必要があります。

    Kubernetes 1.7.0 以降で提供される apiextensions.k8s.io/v1beta1 API も CRD をサポートしています。ただし、ベータ版の API の安定性は、指定された Kubernetes バージョンによって異なります。

LoongCollector

  • loongcollector-ds: 各ノードで少なくとも 0.1 CPU コアと 256 MB のメモリを予約する必要があります。

  • loongcollector-operator: 各ノードで少なくとも 0.1 CPU コアと 128 MB のメモリを予約する必要があります。

logtail-ds

  • logtail-ds: 各ノードで少なくとも 0.1 コアと 256 MB のメモリを予約する必要があります。

  • alibaba-log-controller: 少なくとも 0.05 コアと 100 MB のメモリを予約する必要があります。

制限の詳細については、「Logtail の制限」をご参照ください。

課金

ACK クラスタの SLS で発生するコストは、クラスタ管理料金と SLS 料金の合計です。

  • ACK によって課金されます。クラスタ管理料金は、ACK によって課金されます。クラスタ管理料金は、ACK マネージド プロ クラスターs. クラスター管理料金は発生しませんに対してのみ課金されます。ACK マネージド ベーシック クラスターまたは ACK 専用クラスター詳細については、にはクラスタ管理料金は発生しません。詳細については、「課金概要」をご参照ください。

  • SLS 料金は、従量課金制で課金されます。Logstore 料金は SLS によって課金されます。詳細については、「課金概要」をご参照ください。

FAQ

プロジェクトから別のプロジェクトにログをコピーするにはどうすればよいですか?

logstore-a ログストアのアクセスログを project-a プロジェクトから logstore-b ログストアの project-b プロジェクトに複製できます。これにより、project-b プロジェクトのデータを一元的にクエリおよび分析できます。詳細については、「ログストアからデータを複製する」をご参照ください。

ログ収集ステータスが異常な場合はどうすればよいですか?

Logtail を使用して標準 Docker コンテナーまたは Kubernetes コンテナーからログを収集すると、エラーが発生する場合があります。エラーのトラブルシューティングと Logtail の実行状態の確認方法の詳細については、「コンテナーからログを収集するときにエラーが発生した場合はどうすればよいですか?」をご参照ください。

ログの損失、ログの削除、ログのコスト削減に関するよくある質問

ログの保存期間の変更とログ収集の無効化方法の詳細については、「Logstore に関するよくある質問」をご参照ください。

Logtail 関連の問題

Logtail の収集レイテンシ、履歴ログの収集方法、Logtail 構成の有効時間など、詳細については、「Logtail に関する FAQ」をご参照ください。

お問い合わせ

ACK についてご質問がある場合は、お問い合わせください。