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 を追加します:

YAML
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 パイプラインにレシーバーを含めます。例:

YAML
service:
  pipelines:
    metrics:
      receivers: [k8s_cluster]

metadata_exporters を同期する

metadata_exporters を Kubernetes クラスターレシーバーが収集したメタデータと同期するメタデータエクスポータのリストとして使用します。例:

YAML
receivers:
  k8s_cluster:
    auth_type: serviceAccount
    metadata_exporters:
    - signalfx

このリストで指定されているエクスポータは、次のインターフェイスを実装する必要があります。エクスポータがインターフェイスを実装していない場合、起動が失敗します。

YAML
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_readyk8s.node.condition_memory_pressure を出力します:

YAML
# ...
k8s_cluster:
  node_conditions_to_report:
    - Ready
    - MemoryPressure
# ...

値は、対応する ConditionConditionStatusTrue の場合は 1False の場合は 0Unknown の場合は -1 です。詳細については、Kubernetes のドキュメントで「Conditions」を検索してください。

設定

次の表に、レシーバーの設定オプションを示します:

同梱

https://raw.githubusercontent.com/splunk/collector-config-tools/main/cfg-metadata/receiver/k8s_cluster.yaml

メトリクス

以下のメトリクス、リソース属性、および属性が使用できます。

注: SignalFx エクスポータは、デフォルトでいくつかの利用可能なメトリクスを除外します。デフォルトのメトリクスフィルタの詳細については、「List of metrics excluded by default」を参照してください。Collector が Kubernetes メトリクスを処理する方法を確認するには、「Collected metrics and dimensions for Kubernetes」を参照してください。

同梱

https://raw.githubusercontent.com/splunk/collector-config-tools/main/metric-metadata/k8sclusterreceiver.yaml

特定のメトリクスをアクティブまたは非アクティブにする

各メトリクスの metrics セクションの enabled フィールドを設定することで、特定のメトリクスをアクティブまたは非アクティブにできます。例:

YAML
receivers:
  samplereceiver:
    metrics:
      metric-one:
        enabled: true
      metric-two:
        enabled: false

以下は、アクティブ化されたメトリクスを持つホスト・メトリクス・レシーバーの構成例です:

YAML
receivers:
  hostmetrics:
    scrapers:
      process:
        metrics:
          process.cpu.utilization:
            enabled: true
注: 非アクティブ化されたメトリックは Splunk Observability Cloud に送信されません。
請求
  • MTS ベースのサブスクリプションの場合、すべてのメトリックがメトリックの使用にカウントされます。

  • ホストベースのプランを使用している場合、このドキュメントでアクティブ(アクティブ:はい)としてリストされているメトリックはデフォルトと見なされ、無料で含まれています。

詳細については、「Infrastructure Monitoringのサブスクリプション使用状況(ホストとメトリクスのプラン)」を参照してください。

トラブルシューティング

If you are a Splunk Observability Cloud customer and are not able to see your data in Splunk Observability Cloud, you can get help in the following ways.

Available to Splunk Observability Cloud customers

Available to prospective customers and free trial users

  • Ask a question and get answers through community support at Splunk Answers.

  • Join the Splunk community #observability Slack channel to communicate with customers, partners, and Splunk employees worldwide.