Kubernetesクラスターレシーバー
Kubernetesクラスターレシーバーは、Splunk Distribution of OpenTelemetry Collectorが、そのモニタリングAPIを通じてKubernetesからクラスターメトリクスを収集することを可能にします。
Kubernetes クラスターレシーバーは、Kubernetes API サーバーを使用してクラスターメトリクスを収集します。このレシーバーの単一インスタンスを使用して、Kubernetes クラスター全体をモニタリングできます。サポートされているパイプラインのタイプは metrics です。コンテナ、Pod、ノード、名前空間、クラスターなど、他の Kubernetes 要素をフィルタリングするには、代わりにフィルタープロセッサを使用します。詳細については 、「フィルタープロセッサ」を参照してください。さまざまなタイプのパイプラインについて詳しくは「パイプラインでデータを処理する」を参照してください。
Kubernetes バージョン 1.21 以降は、Kubernetes ナビゲーターと互換性があります。それ以下のバージョンの Kubernetes の使用はこのレシーバーではサポートされておらず、ナビゲーターにすべてのクラスターが表示されない可能性があります。
kubernetes-cluster Smart Agent モニターに代わるものです。はじめに
デフォルトでは、Splunk OpenTelemetry Collectors の Helm チャートで Kubernetes クラスターレシーバーがすでに有効になっています。デフォルトの「Collected metrics and dimensions for Kubernetes」を含め、詳細については、「Helm で Collector for Kubernetes を設定する」を参照してください。
Collectorの設定でKubernetesクラスターレシーバーを手動で有効にするには、次の例に示すように、設定ファイルの receiversセクションに k8s_cluster を追加します:
receivers:
k8s_cluster:
auth_type: kubeConfig
collection_interval: 30s
node_conditions_to_report: ["Ready", "MemoryPressure"]
allocatable_types_to_report: ["cpu","memory"]
metadata_exporters: [signalfx]
設定を完了するには、構成ファイルの service セクションの metrics パイプラインにレシーバーを含めます。例:
service:
pipelines:
metrics:
receivers: [k8s_cluster]
metadata_exporters を同期する
metadata_exporters を Kubernetes クラスターレシーバーが収集したメタデータと同期するメタデータエクスポータのリストとして使用します。例:
receivers:
k8s_cluster:
auth_type: serviceAccount
metadata_exporters:
- signalfx
このリストで指定されているエクスポータは、次のインターフェイスを実装する必要があります。エクスポータがインターフェイスを実装していない場合、起動が失敗します。
type MetadataExporter interface {
ConsumeMetadata(metadata []*MetadataUpdate) error
}
type MetadataUpdate struct {
ResourceIDKey string
ResourceID ResourceID
MetadataDelta
}
type MetadataDelta struct {
MetadataToAdd map[string]string
MetadataToRemove map[string]string
MetadataToUpdate map[string]string
}
node_conditions_to_report を設定する
以下のコンフィギュレーションを使用すると、k8s_cluster のレシーバーは、コンフィギュレーション内の各条件について、2つのメトリクス、k8s.node.condition_ready と k8s.node.condition_memory_pressure を出力します:
# ...
k8s_cluster:
node_conditions_to_report:
- Ready
- MemoryPressure
# ...
値は、対応する Condition の ConditionStatus が True の場合は 1、False の場合は 0、Unknown の場合は -1 です。詳細については、Kubernetes のドキュメントで「Conditions」を検索してください。
設定
次の表に、レシーバーの設定オプションを示します:
同梱
https://raw.githubusercontent.com/splunk/collector-config-tools/main/cfg-metadata/receiver/k8s_cluster.yaml
メトリクス
以下のメトリクス、リソース属性、および属性が使用できます。
同梱
https://raw.githubusercontent.com/splunk/collector-config-tools/main/metric-metadata/k8sclusterreceiver.yaml
特定のメトリクスをアクティブまたは非アクティブにする
各メトリクスの metrics セクションの enabled フィールドを設定することで、特定のメトリクスをアクティブまたは非アクティブにできます。例:
receivers:
samplereceiver:
metrics:
metric-one:
enabled: true
metric-two:
enabled: false
以下は、アクティブ化されたメトリクスを持つホスト・メトリクス・レシーバーの構成例です:
receivers:
hostmetrics:
scrapers:
process:
metrics:
process.cpu.utilization:
enabled: true
-
MTS ベースのサブスクリプションの場合、すべてのメトリックがメトリックの使用にカウントされます。
-
ホストベースのプランを使用している場合、このドキュメントでアクティブ(アクティブ:はい)としてリストされているメトリックはデフォルトと見なされ、無料で含まれています。
詳細については、「Infrastructure Monitoringのサブスクリプション使用状況(ホストとメトリクスのプラン)」を参照してください。
トラブルシューティング
__ ___ ___ _ ______ _____________ _____ ________ ___ ___ ___ ____ __ ___ ____ ____ __ ______ _____________ ______ ___ ___ ___ ____ __ ___ _________ _____
_________ __ ______ _____________ _____ _________
-
______ _ ____ __ ___ ______ _______ _______
-
_______ ______ ________
_________ __ ___________ _________ ___ ____ _____ _____
-
___ _ ________ ___ ___ _______ _______ _________ _______ __ ______ ________
-
____ ___ ______ ______________ ____ _____ _____ _______ __ ___________ ____ __________ _________ ___ ______ _________ __________ __ _____ ___ ____ _______