概要
このインテグレーションは、kubelet からコンテナメトリクスを収集して、以下のことができます。
- kubelet 統計を視覚化および監視できます。
- kubelet のフェイルオーバーとイベントの通知を受けることができます。
セットアップ
インストール
Kubelet チェックは Datadog Agent パッケージに含まれています。サーバーに追加でインストールする必要はありません。
構成
Agent のコンフィギュレーションディレクトリのルートにある conf.d/
フォルダーの kubelet.d/conf.yaml
ファイルを編集します。使用可能なすべてのコンフィギュレーションオプションについては、サンプル kubelet.d/conf.yaml を参照してください。
検証
Agent の status サブコマンドを実行し、Checks セクションで kubelet
を探します。
互換性
kubelet チェックは 2 つのモードで実行できます。
- prometheus モード (デフォルト) は、バージョン 1.7.6 以降の Kubernetes と互換性があります。
- cAdvisor モード (
cadvisor_port
オプションの設定により有効) は、バージョン 1.3 以降の Kubernetes と互換性があります。一貫したタグ付けとフィルタリングを行うには、Agent のバージョン 6.2 以降が必要です。
OpenShift <3.7 のサポート
OpenShift では、cAdvisor 4194 ポートはデフォルトで無効になっています。これを有効にするには、
node-config ファイルに次の行を追加する必要があります。
kubeletArguments:
cadvisor-port: ["4194"]
ポートをオープンできない場合は、次のように設定して、コンテナメトリクス収集の両方のソースを無効にします。
cadvisor_port
を 0
にmetrics_endpoint
を ""
に
この状態でも、このチェックは次の情報を収集できます。
- kubelet 健全性サービスチェック
- ポッド実行中/停止メトリクス
- ポッド制限およびリクエスト数
- ノード容量メトリクス
収集データ
サービスチェック
kubernetes.kubelet.check.ping
Returns CRITICAL
if the Kubelet doesn’t respond to Ping. OK, otherwise
Statuses: ok, critical
kubernetes.kubelet.check.docker
Returns CRITICAL
if the Docker service doesn’t run on the Kubelet. OK, otherwise
Statuses: ok, critical
kubernetes.kubelet.check.syncloop
Returns CRITICAL
if the syncloop health check is down. OK, otherwise
Statuses: ok, critical
kubernetes.kubelet.check
Returns CRITICAL
if the overall Kubelet health check is down. OK, otherwise
Statuses: ok, critical
コンテナの除外
収集するデータをデプロイされているコンテナのサブセットに制限するには、DD_CONTAINER_EXCLUDE
環境変数を設定します。その環境変数で指定されたコンテナからのメトリクスは含まれません。
ポッドレベルで報告されるネットワークメトリクスでは、他のコンテナが同じポッドに含まれることがあるため、コンテナを name
や image name
に基づいて除外することはできません。そのため、DD_CONTAINER_EXCLUDE
をネームスペースに適用すると、ポッドがそのネームスペースにある場合、ポッドレベルのメトリクスは報告されません。ただし、DD_CONTAINER_EXCLUDE
がコンテナ名またはイメージ名を参照している場合は、ポッド内の一部のコンテナに除外規則が適用されていても、ポッドレベルのメトリクスが報告されます。
トラブルシューティング
ご不明な点は、Datadog のサポートチームまでお問合せください。