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

Container Service for Kubernetes:ログの概要

最終更新日:Apr 02, 2025

クラスター内のアプリケーション、コンテナー、およびインフラストラクチャコンポーネントは、大量の分散ログデータを継続的に生成するため、ログの収集と管理が複雑になります。Container Service for Kubernetes(ACK)クラスターは、ログ管理を簡素化するために Simple Log Service と統合されています。

説明

Simple Log Service の機能と用語をよく理解するには、「用語」をご参照ください。

ログ収集コンポーネントの概要

Logtail コンポーネントは、Kubernetes ログを収集するために Simple Log Service によって提供されるエージェントです。このコンポーネントを ACK コンソールにインストールして、テキストログ、バイナリログ、HTTP データなど、複数のタイプのログを効率的に収集できます。このコンポーネントは、標準コンテナー、Kubernetes クラスター、およびその他のコンテナー クラスターのログデータ収集をサポートしています。使いやすさ、統合の利便性、リソース効率、およびコスト管理を向上させる場合は、Logtail を使用してログを収集することをお勧めします。

Logtail とオープンソースコンポーネントの違いの詳細については、「ログ収集エージェントの違い」をご参照ください。

ログ収集

次のセクションでは、ログ収集の方法とプロセスについて説明します。

収集プロセス

ACK クラスターでは、Logtail はさまざまなデータを安全に収集して Simple Log Service に送信し、保存と分析を行うためのブリッジとして機能します。この方法により、ログ収集管理が簡素化され、柔軟性と効率性が向上します。次の図は、Logtail を使用してログを収集するプロセスとアーキテクチャを示しています。

次のセクションでは、Logtail を使用するプロセスについて説明します。

  1. Logtail コンテナーをデプロイします。詳細については、「ACK クラスタに Logtail コンポーネントをインストールする」をご参照ください。

    Logtail をインストールすると、AliyunLogConfig CRD が作成され、alibaba-log-controller コンポーネントがデフォルトでインストールされ、AliyunLogConfig CRD が Simple Log Service の収集構成に関連付けられます。

  2. Logtail は構成に基づいてデータを収集します。Logtail は収集構成を取得して使用します。

    Logtail をインストールした後、収集構成を作成する必要があります。コンソール、CRD 構成、および環境変数を使用してログを収集できます。詳細については、「ACK クラスタでのテキストログ収集のための Logtail DaemonSet デプロイメント」、「DaemonSet モードで Kubernetes コンテナーから stdout と stderr を収集する (旧バージョン)」、および「Sidecar モードで Kubernetes コンテナーからテキストログを収集する」をご参照ください。

  3. Logtail は収集されたログデータをリアルタイムで Simple Log Service にアップロードします。

収集方法

Kubernetes クラスターでは、Sidecar モードまたは DaemonSet モードを使用してログを収集できます。各方法には、異なる収集プロセスとユースケースがあります。

  • DaemonSet モード: Logtail は kube-system 名前空間にインストールされます。DaemonSet の名前は logtail-ds です。各ノードの Logtail は、ノードで実行されているすべてのポッドから、標準出力やファイルなどのデータを収集します。詳細については、「ACK クラスタでのテキストログ収集のための Logtail DaemonSet デプロイメント」をご参照ください。

  • Sidecar モード: プライマリコンテナーに加えて、ノードは Logtail の Sidecar コンテナーを実行します。ビジネスポッドに Logtail コンテナーを手動で作成する必要があります。Logtail コンテナーとプライマリコンテナーはログボリュームを共有します。仮想ノードを使用する場合は、Sidecar モードを使用します。詳細については、「Sidecar モードで Kubernetes コンテナーからテキストログを収集する」をご参照ください。

カテゴリ

DaemonSet モード

Sidecar モード

シナリオ

クラスターのログ分類が明確で、単一の機能を持つ。

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

  • 同じノード上のコンテナーに同じログ収集構成を使用する。

  • 標準出力ストリームを収集する。

  • リソース消費が少ない

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

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

リソース使用量

各ノードで Logtail コンテナーを実行する。

各ポッドで Logtail コンテナーを実行する。

デプロイと O&M

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

ログを収集する必要がある各ポッドに Logtail コンテナーをデプロイする必要がある。

ログタイプ

標準出力とテキストログ。

テキストログ。

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

ACK クラスターでは、さまざまなソースからログデータを収集し、ログデータを Simple Log Service に安全に送信して保存および分析できます。

ログタイプ

説明

参照

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

ACK クラスターのコンテナーからのログデータを迅速に収集できます。ログデータには、標準出力とテキストファイルが含まれます。

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

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

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

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

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

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

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

システムコンポーネントログ

ダッシュボードネットワークプラグインストレージプラグインなどのコンポーネントのログ収集がサポートされています。

システムコンポーネントのログファイルを収集する

制限

項目

説明

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 バージョンによって異なります。

logtail-ds

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

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

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

課金

ACK クラスターで Simple Log Service を使用して発生するコストは、クラスター管理料金と Simple Log Service 料金の合計です。

  • クラスター管理料金は、ACK によって課金されます。ACK によって課金されます。ACK Pro マネージドクラスターs. クラスター管理料金は発生しませんACK Basic クラスターs または ACK 専用クラスター詳細については、「s」をご参照ください。請求

  • Logstore の料金は Simple Log Service によって課金され、従量課金制で課金されます。

    Logstore の課金方法の詳細については、「課金の概要」をご参照ください。

よくある質問

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

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

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

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

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

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

Logtail 関連の問題

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

お問い合わせ

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