Kubernetesイベント

Kubernetes イベントモニターには、この Splunk Observability Cloud インテグレーションを使用してください。メリット、インストール、設定、メトリクスを参照してください

Splunk Distribution of OpenTelemetry Collector は、Smart Agent レシーバを kubernetes-events モニタータイプで使用して、Kubernetes イベントをリッスンします。このインテグレーションはマネージャノード上で実行されている Kubernetes API を呼び出し、Kubernetes イベントを OpenTelemetry パイプラインを通して Infrastructure Monitoring イベントとして Splunk Observability Cloud に送信します。

開始後、Kubernetes イベントモニタータイプは、Kubernetes がまだ永続化されているすべてのイベントと、新しいイベントを送信します。様々なエージェントが、どのインスタンスがイベントをリードし、送信するかを決定します。 alwaysClusterReportertrue に設定されている場合、すべてのノードが同じデータを送信し、マネージャノードへの追加のクエリはありません。

このモニタータイプは、Kubernetes、Linux、Windowsで利用できます。

メリット

これらの機能にアクセスできるようにインテグレーションを設定します:

  • イベントを表示します。独自のカスタムダッシュボードを作成することができ、ほとんどのモニターは組み込みのダッシュボードも提供しています。ダッシュボードの詳細については、「Splunk Observability Cloudでダッシュボードを表示する」を参照してください。

  • Infrastructure Monitoring に表示される環境内の物理サーバー、仮想マシン、AWS インスタンス、およびその他リソースのデータ駆動型の視覚化を表示します。ナビゲータの詳細については、「Splunk Infrastructure Monitoring でナビゲーターを使用する」を参照してください。

インストール

このインテグレーションを導入するには、以下の手順に従ってください:

  1. Splunk Distribution of the OpenTelemetry Collector をホストまたはコンテナプラットフォームにデプロイします:

  2. [設定] セクションの説明に従ってインテグレーションを設定します。

  3. Splunk Distribution of OpenTelemetry Collector を再起動します。

Helmありでデプロイする

Helmチャートでこのモニターを有効にするには、helm installコマンドにこの引数を含めます:

YAML
-set splunkObservability.infrastructureMonitoringEventsEnabled='true'

Helmなしでデプロイする

Helmなしでデプロイするには、OTelコンフィギュレーションに以下を含めます:

YAML
processors:
  resource/add_event_k8s:
    attributes:
      - action: insert
        key: kubernetes_cluster
        value: CHANGEME

receivers:
  smartagent/kubernetes-events:
   type: kubernetes-events
   alwaysClusterReporter: true

service:
  pipelines:
    logs/events:
      exporters:
        - signalfx
      processors:
        - memory_limiter
        - batch
        - resourcedetection
        - resource/add_event_k8s
      receivers:
        - smartagent/kubernetes-events

設定

Smart Agent モニターとCollector のインテグレーションを使用するには、以下の手順に従います:

  1. Smart Agent レシーバーを設定ファイルに含めます。

  2. レシーバーセクションおよびパイプラインセクションの両方で、Collector 構成にモニタータイプを追加します。

このインテグレーションを有効にするには、Collector構成に以下を追加します:

YAML
receivers:
   smartagent/kubernetes-events:
   type: kubernetes-events
   ... # Additional config

次に、設定ファイルの service.pipelines.metrics.receivers セクションにモニターを追加します:

YAML
services:
  logs/events:
    receivers:
      - smartagent/kubernetes-events

最後に、送信するイベントを設定します。以下のコマンドで、クラスターで発生しているイベントの種類を確認できます。

YAML
kubectl get events -o yaml --all-namespaces

すべてのイベントを送信するには、values.yamlで _sendAllEvents オプションを true に設定し、whitelistedEvents オプションを削除します。

出力から、Reason(Started、Created、Scheduled)と Kind(Pod、ReplicaSet、Deployment...)を組み合わせて、送信するイベントを選択します。
  • 許可したい各イベントルールに対して、単一の reason と involveObjectKind を個別に指定します。

  • イベントは、whitelistedEvents 設定オプションに、送信したいイベントのリストとして配置されます。

  • イベント名は理由名と一致します。

コンフィギュレーション設定

オプション

必須

タイプ

説明

kubernetesAPI

いいえ

object (see below)

Kubernetes APIクライアントの設定。

whitelistedEvents

いいえ

list of objects (see below)

イベントを送信するイベントタイプのリスト。これらの項目に一致する

イベントのみ送信されます。

alwaysClusterReporter

いいえ

bool

このエージェントインスタンスから常にイベントを送信するか、あるいは

1 つのエージェントインスタンスからのみ送信するためのリーダー選出をするかどうか。デフォルトは false です。

ネストされた kubernetesAPI コンフィグ・オブジェクトには以下のフィールドがあります:

オプション

必須

タイプ

説明

authType

いいえ

string

K8s APIサーバーの認証を行います:- 認証なしは none

- tls は、手動で指定した TLS クライアント証明書を使用する(非推奨)。- serviceAccount は、 エージェントポッドに提供された標準サービスアカウントトークンを使用する 。- kubeConfig は、~/.kube/config のクレデンシャルを使用する。デフォルトは serviceAccount です。

skipVerify

いいえ

bool

APIサーバー。からのTLS証明書の検証をスキップするかどうか。

されています。」ほとんど必要ありません。デフォルトは false

clientCertPath

いいえ

string

ポッドのファイルシステム上にある TLS クライアント証明書へのパス

( tls 認証を使用する場合)。

clientKeyPath

いいえ

string

ポッドのファイルシステム上のTLSクライアント鍵へのパス

( tls 認証を使用する場合)。

caCertPath

いいえ

string

APIサーバーTLS証明書を検証する際に使用するCA証明書へのパス。

TLS 証明書。通常、この証明書は K8s によってサービスアカウントトークンと一緒に提供され、自動的にピックアップされるため、指定する必要はほとんどありません。

ネストされた whitelistedEvents コンフィギュレーション・オブジェクトには以下のフィールドがあります:

オプション

必須

タイプ

reason

いいえ

string

involvedObjectKind

いいえ

string

YAML設定の例:

YAML
receivers:
   smartagent/kubernetes-events:
     type: kubernetes-events
     whitelistedEvents:
       - reason: Created
         involvedObjectKind: Pod
       - reason: SuccessfulCreate
         involvedObjectKind: ReplicaSet

トラブルシューティング

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.