クラスター内のアプリケーション、コンテナー、およびインフラストラクチャコンポーネントは、大量の分散ログデータを継続的に生成するため、ログの収集と管理が複雑になります。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 を使用するプロセスについて説明します。
Logtail コンテナーをデプロイします。詳細については、「ACK クラスタに Logtail コンポーネントをインストールする」をご参照ください。
Logtail をインストールすると、AliyunLogConfig CRD が作成され、alibaba-log-controller コンポーネントがデフォルトでインストールされ、AliyunLogConfig CRD が Simple Log Service の収集構成に関連付けられます。
Logtail は構成に基づいてデータを収集します。Logtail は収集構成を取得して使用します。
Logtail をインストールした後、収集構成を作成する必要があります。コンソール、CRD 構成、および環境変数を使用してログを収集できます。詳細については、「ACK クラスタでのテキストログ収集のための Logtail DaemonSet デプロイメント」、「DaemonSet モードで Kubernetes コンテナーから stdout と stderr を収集する (旧バージョン)」、および「Sidecar モードで Kubernetes コンテナーからテキストログを収集する」をご参照ください。
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-scheduler、kube-controller-manager、cloud-controller-manager、Controlplane-Events、ALB Ingress コントローラーなどのコントロールプレーンコンポーネントからログが収集されます。ログは特定の Logstore に送信されます。このコンポーネントは、コントロールプレーンコンポーネントの実行状態の一元管理と分析を容易にします。これにより、問題の迅速なトラブルシューティング、コンポーネントのヘルス状態の監視、カスタムパラメーター構成の効果の検証を行うことができます。 各 Logstore は Kubernetes コントロールプレーンコンポーネントに対応しています。 | |
ネットワークコンポーネントログ |
| |
システムコンポーネントログ | ダッシュボード、ネットワークプラグイン、ストレージプラグインなどのコンポーネントのログ収集がサポートされています。 |
制限
項目 | 説明 |
Kubernetes バージョン |
|
|
Logtail の制限の詳細については、「Logtail の制限」をご参照ください。
課金
ACK クラスターで Simple Log Service を使用して発生するコストは、クラスター管理料金と Simple Log Service 料金の合計です。
よくある質問
プロジェクトから別のプロジェクトにログをコピーするにはどうすればよいですか?
project-a
プロジェクトの logstore-a
Logstore から project-b
プロジェクトの logstore-b
Logstore にアクセスログを複製して、project-b
プロジェクトのデータを一元的にクエリおよび分析できます。詳細については、「Logstore からデータを複製する」をご参照ください。
ログ収集ステータスが異常な場合はどうすればよいですか?
Logtail を使用して標準 Docker コンテナーまたは Kubernetes コンテナーからログを収集すると、エラーが発生する場合があります。エラーのトラブルシューティングと Logtail の実行状態の確認方法の詳細については、「コンテナーからログを収集するときにエラーが発生した場合はどうすればよいですか?」をご参照ください。
ログの損失、ログの削除、ログのコスト削減に関するよくある質問
ログの保存期間の変更とログ収集の無効化方法の詳細については、「Logstore に関するよくある質問」をご参照ください。
Logtail 関連の問題
Logtail の収集レイテンシ、履歴ログの収集方法、Logtail 構成の有効時間など、詳細については、「Logtail に関するよくある質問」をご参照ください。
お問い合わせ
ACK についてご質問がある場合は、「お問い合わせ」をご参照ください。