Kubernetes の収集方法
このページでは、Kubernetes のログおよびメトリクスを収集する方法について説明します。これらの方法は、自己管理 Kubernetes 環境、または AWS EKS や GCP GKE などのコンテナ管理サービスによって管理される環境で使用できます。
ログおよびメトリクスのサポート
次のテーブルでは、それぞれの収集方法で収集できるものをまとめています。
収集方法 | ログ | メトリクス |
Kubernetes FluentD プラグイン | X | |
Heapster と Sumo コレクタ | X |
収集方法
以下のセクションでは、Kubernetes のログおよびメトリクスを収集する方法について説明します。
Kubernetes FluentD プラグイン
この方法では、Sumo のホスト型コレクタと HTTP ソースをセットアップし、Sumo の Kubernetes FluentD プラグインをそれぞれの Kubernetes クラスタにインストールします。プラグインはクラスタ内のデーモンセットとして実行され、Kubernetes オーケストレーション ログおよびアプリケーション ログをコンテナから HTTP ソースに送信します。Kubernetes ホストにコレクタをインストールしたり、何らかの方法で再設定したりする必要はありません。プラグインは、「Kubernetes FluentD プラグイン」で説明しているように、高度に設定可能です。
Helm を使用している場合は、Sumo Logic FluentD Helm チャートを使用して FluentD プラグインをインストールできます。
Heapster と Sumo のホスト型コレクタ
この方法では、Heapster と Sumo のホスト型コレクタおよび HTTP ソースをセットアップし、Graphite ソースを持つポッドとして実行して Kubernetes クラスタからメトリクスを収集します。その手順は、Sumo の Kubernetes アプリケーション向けドキュメントの「Heapster を使用した Kubernetes のメトリクスの収集」セクションで説明しています。Heapster と Sumo コレクタを Kubernetes クラスタ内で実行するため、Kubernetes ホストに対する変更は必要ありません。これにより、ポッド メトリクスが Kubernetes クラスタから Sumo Logic に送信されます。
プラットフォームに関する考慮事項
次のテーブルでは、さまざまな Kubernetes プラットフォームでサポートされる収集方法を示します。
プラットフォーム | Kubernetes FluentD プラグイン | Heapster と Sumo コレクタ |
Kubernetes (非管理対象) | X | X |
AWS EKS | X | X |
GCP GKE | X | X |
Azure AKS | X | X |
OpenShift | X* | X* |
Rancher 2.0 | X | X |
* OpenShift では、FluentD 用に追加の設定が必要です (「Kubernetes FluentD プラグイン」を参照)。Heapster のサポートが OpenShift のバージョンによって異なる点にも注意してください。
管理対象サービスを使用する場合は、以下の点に注意してください。
- 管理対象サービスでマスタのポッドをスケジュールできない場合、オーケストレーション ログを含めて、マスタからデータを収集することはできません。各ベンダでオーケストレーションの収集方法が異なる場合もあれば、そのような方法をサポートしていない場合もあります。
- GCP GKE には、StackDriver に書き込むコンポーネントがあります。上記の GCP GKE の収集方法に加えて、Sumo の Google Cloud Platform ソースを使用して GCP GKE を収集することもできます。
- AWS EKS では現在、オーケストレーション ログが表示されません。
- Sumo では Kubernetes アプリケーションをいくつか用意しており、次のセクションで示しています。アプリケーションをインストールするときは、使用する管理対象サービスをサポートしていることを確認してください。場合によって、管理対象サービス プロバイダに応じてアプリケーションを改変する必要がある場合があります。
Kubernetes 用 Sumo アプリケーション
Sumo では、Kubernetes 用に 3 つのアプリケーションを用意しています。
- Kubernetes と Amazon EKS
- ログには Kubernetes FluentD プラグインを使用します。
- メトリクスには Heapster と Sumo のホスト型コレクタを使用します。
- Google Kubernetes Engine
- ログには Google Stackdriver と Google Pub/Sub を使用します。