Advanced customization for automatic discovery and instrumtenation in Kubernetes 🔗
Learn how to customize Splunk automatic discovery and instrumentation for advanced scenarios.
高度なカスタマイズにより、以下のタスクを達成することができます:
注釈
Linux の高度なカスタマイズオプションについては、Advanced customization for automatic discovery in Linux を参照してください。
Change instrumentation version 🔗
デフォルトでは、Splunk Distribution of OpenTelemetry Collector は、関連するインストルメンテーションライブラリの最新バージョンを使用します。インストルメンテーションライブラリのバージョンを変更するには、以下の手順に従ってください:
values.yaml
ファイルを開きます。インストルメンテーション言語セクションで、
tag
の値を希望のバージョンに合わせて変更します。以下の例では、Javaインストルメンテーションバージョンをv1.27.0
に変更しています。clusterName: myCluster splunkObservability: realm: <splunk-realm> accessToken: <splunk-access-token> environment: prd certmanager: enabled: true operator: enabled: true instrumentation: spec: java: repository: ghcr.io/signalfx/splunk-otel-java/splunk-otel-java tag: v1.27.0
Reinstall the Splunk OTel Collector chart with the following command. Replace <CURRENT_VERSION> with the current version of your splunk-otel-collector-chart.
helm upgrade splunk-otel-collector splunk-otel-collector-chart/splunk-otel-collector --version <CURRENT_VERSION> -f values.yaml
注釈
values.yaml
ファイルに java
フィールドがない場合は、バージョンを変更する前に、フィールドと repository
値を追加する必要があります。リポジトリの値は常に ghcr.io/signalfx/splunk-otel-java/splunk-otel-java
です。
各言語の旧バージョンの詳細については、以下のページをご覧ください:
Java: Javaエージェントの互換性と要件
Node.js: Splunk OTel JS の互換性と要件
Override default instrumentation settings 🔗
You can override default automatic discovery settings to use features such as AlwaysOn profiling and runtime metrics.
Configure AlwaysOn Profiling 🔗
Kubernetes で AlwaysOn プロファイリングを設定するには、Helm チャートの values.yaml ファイルを編集します。
言語のプロファイリングを有効にするには、以下の手順に従ってください:
values.yaml ファイルを開きます。
In the
instrumentation.spec.<language>.env
section, add theSPLUNK_PROFILER_ENABLED="true"
,SPLUNK_PROFILER_MEMORY_ENABLED="true"
, andSPLUNK_PROFILER_CALL_STACK_INTERVAL
environment variables. For example, the following values.yaml file configures AlwaysOn Profiling to sample call stacks from a 5000 millisecond interval:operator: enabled: true instrumentation: spec: nodejs: env: # Activates AlwaysOn Profiling for Node.js - name: SPLUNK_PROFILER_ENABLED value: "true" - name: SPLUNK_PROFILER_MEMORY_ENABLED value: "true" # Samples call stacks from a 5000 millisecond interval. # If excluded, samples from a 10000 millisecond interval by default. - name: SPLUNK_PROFILER_CALL_STACK_INTERVAL value: 5000
Reinstall the Splunk OTel Collector chart with the following command. Replace <CURRENT_VERSION> with the current version of your splunk-otel-collector-chart.
helm upgrade splunk-otel-collector splunk-otel-collector-chart/splunk-otel-collector --version <CURRENT_VERSION> -f values.yaml
Activate runtime metrics collection (Java and Node.js only) 🔗
You can activate runtime metrics collection for Java and Node.js applications running in your Kubernetes environment.
Follow these steps to activate runtime metrics collection:
values.yaml ファイルを開きます。
In the
instrumentation.spec.<language>.env
section, add theSPLUNK_METRICS_ENABLED=true
environment variable. For example, the following values.yaml file activates runtime metrics collection for Java applications:operator: enabled: true instrumentation: spec: java: env: # Activates runtime metrics collection for Java - name: SPLUNK_METRICS_ENABLED value: "true"
instrumentation.spec.env
セクションで、以下の環境変数と値を追加して、Collector がランタイムメトリクスを送信するエンドポイントを設定します:operator: enabled: true instrumentation: spec: env: - name: SPLUNK_OTEL_AGENT valueFrom: fieldRef: apiVersion: v1 fieldPath: status.hostIP - name: SPLUNK_METRICS_ENDPOINT value: http://$(SPLUNK_OTEL_AGENT):9943/v2/datapoint
Reinstall the Splunk OTel Collector chart with the following command. Replace <CURRENT_VERSION> with the current version of your splunk-otel-collector-chart.
helm upgrade splunk-otel-collector splunk-otel-collector-chart/splunk-otel-collector --version <CURRENT_VERSION> -f values.yaml
Use automatic discovery with gateway mode 🔗
The Splunk OTel Collector chart uses the agent mode by default. Activating gateway mode deploys an instance of the OpenTelemetry Collector in a separate container, and this instance collects data from the entire cluster.
ゲートウェイモードについて詳細については、データ転送(ゲートウェイ)モード を参照してください。
ゲートウェイのエンドポイントにデータを送信するには、以下の手順に従ってください:
values.yaml ファイルを開きます。
Set the
instrumentation.spec.exporter.endpoint
value to the gateway endpoint. For example:clusterName: myCluster splunkObservability: realm: <splunk-realm> accessToken: <splunk-access-token> environment: prd certmanager: enabled: true operator: enabled: true instrumentation: spec: exporter: endpoint: <gateway-endpoint>
Reinstall the Splunk OTel Collector chart with the following command. Replace <CURRENT_VERSION> with the current version of your splunk-otel-collector-chart.
helm upgrade splunk-otel-collector splunk-otel-collector-chart/splunk-otel-collector --version <CURRENT_VERSION> -f values.yaml
values.yaml ファイルで agent.enabled: false
と gateway.enabled: true
を設定することで、デプロイされたゲートウェイのエンドポイントに自動的にデータを送信することもできます。例:
clusterName: myCluster
splunkObservability:
realm: <splunk-realm>
accessToken: <splunk-access-token>
environment: prd
certmanager:
enabled: true
operator:
enabled: true
agent:
enabled: false
gateway:
enabled: true
Using this configuration, automatic discovery automatically sends data to a running gateway endpoint.
追加設定 🔗
There are many other settings you can customize in automatic instrumentation.
各言語で変更できる設定のリストについては、以下のリソースを参照してください:
言語 |
リソース |
---|---|
Java |
|
Node.js |
Splunk Observability Cloud 用の Splunk Distribution of OTel JS を設定する |
Kubernetes の values.yaml で変更できる設定の完全なリストについては、https://github.com/signalfx/splunk-otel-collector-chart/blob/main/helm-charts/splunk-otel-collector/values.yaml を参照してください。