kafka-connect-bigtable-sink/doc/performance/kubernetes/otlp/1_configmap.yaml (176 lines of code) (raw):
apiVersion: v1
data:
collector.yaml: |
# Copyright 2024 Google LLC
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
exporters:
googlecloud:
log:
default_log_name: opentelemetry-collector
user_agent: Google-Cloud-OTLP manifests:0.1.0 otel/opentelemetry-collector-contrib:0.118.0
googlemanagedprometheus:
user_agent: Google-Cloud-OTLP manifests:0.1.0 otel/opentelemetry-collector-contrib:0.118.0
debug:
verbosity: detailed
sampling_initial: 1000
sampling_thereafter: 1
extensions:
health_check:
endpoint: ${env:MY_POD_IP}:13133
processors:
filter/self-metrics:
metrics:
include:
match_type: strict
metric_names:
- otelcol_process_uptime
- otelcol_process_memory_rss
- otelcol_grpc_io_client_completed_rpcs
- otelcol_googlecloudmonitoring_point_count
batch:
send_batch_max_size: 200
send_batch_size: 200
timeout: 5s
k8sattributes:
extract:
metadata:
- k8s.namespace.name
- k8s.deployment.name
- k8s.statefulset.name
- k8s.daemonset.name
- k8s.cronjob.name
- k8s.job.name
- k8s.node.name
- k8s.pod.name
- k8s.pod.uid
- k8s.pod.start_time
passthrough: false
pod_association:
- sources:
- from: resource_attribute
name: k8s.pod.ip
- sources:
- from: resource_attribute
name: k8s.pod.uid
- sources:
- from: connection
memory_limiter:
check_interval: 1s
limit_percentage: 65
spike_limit_percentage: 20
metricstransform/self-metrics:
transforms:
- action: update
include: otelcol_process_uptime
operations:
- action: add_label
new_label: version
new_value: Google-Cloud-OTLP manifests:0.1.0 otel/opentelemetry-collector-contrib:0.118.0
resourcedetection:
detectors: [gcp]
timeout: 10s
transform/collision:
metric_statements:
- context: datapoint
statements:
- set(attributes["exported_location"], attributes["location"])
- delete_key(attributes, "location")
- set(attributes["exported_cluster"], attributes["cluster"])
- delete_key(attributes, "cluster")
- set(attributes["exported_namespace"], attributes["namespace"])
- delete_key(attributes, "namespace")
- set(attributes["exported_job"], attributes["job"])
- delete_key(attributes, "job")
- set(attributes["exported_instance"], attributes["instance"])
- delete_key(attributes, "instance")
- set(attributes["exported_project_id"], attributes["project_id"])
- delete_key(attributes, "project_id")
receivers:
otlp:
protocols:
grpc:
endpoint: ${env:MY_POD_IP}:4317
http:
cors:
allowed_origins:
- http://*
- https://*
endpoint: ${env:MY_POD_IP}:4318
otlp/debug:
protocols:
grpc:
endpoint: ${env:MY_POD_IP}:43170
otlp/self-metrics:
protocols:
grpc:
endpoint: ${env:MY_POD_IP}:14317
service:
extensions:
- health_check
pipelines:
logs:
exporters:
- googlecloud
processors:
- k8sattributes
- resourcedetection
- memory_limiter
- batch
receivers:
- otlp
metrics/otlp:
exporters:
- googlemanagedprometheus
processors:
- k8sattributes
- memory_limiter
- resourcedetection
- transform/collision
- batch
receivers:
- otlp
metrics/self-metrics:
exporters:
- googlemanagedprometheus
processors:
- filter/self-metrics
- metricstransform/self-metrics
- k8sattributes
- memory_limiter
- resourcedetection
- batch
receivers:
- otlp/self-metrics
traces:
exporters:
- googlecloud
processors:
- k8sattributes
- memory_limiter
- resourcedetection
- batch
receivers:
- otlp
traces/debug:
exporters:
- debug
processors:
- k8sattributes
- memory_limiter
- resourcedetection
- batch
receivers:
- otlp/debug
telemetry:
logs:
encoding: json
metrics:
readers:
- periodic:
exporter:
otlp:
protocol: grpc/protobuf
endpoint: ${env:MY_POD_IP}:14317
kind: ConfigMap
metadata:
creationTimestamp: null
name: collector-config
namespace: opentelemetry