apiVersion: opentelemetry.io/v1alpha1 kind: OpenTelemetryCollector metadata: name: adot namespace: other spec: image: public.ecr.aws/aws-observability/aws-otel-collector:v0.21.0 mode: deployment serviceAccount: adot-collector config: | receivers: prometheus: config: global: scrape_interval: 60s scrape_timeout: 15s external_labels: cluster: ${EKS_CLUSTER_NAME} account_id: ${AWS_ACCOUNT_ID} region: ${AWS_REGION} scrape_configs: - job_name: 'kubernetes-kubelet' scrape_interval: 60s scrape_timeout: 15s scheme: https tls_config: ca_file: /var/run/secrets/kubernetes.io/serviceaccount/ca.crt insecure_skip_verify: true bearer_token_file: /var/run/secrets/kubernetes.io/serviceaccount/token kubernetes_sd_configs: - role: node relabel_configs: - action: labelmap regex: __meta_kubernetes_node_label_(.+) - target_label: __address__ replacement: kubernetes.default.svc.cluster.local:443 - source_labels: [__meta_kubernetes_node_name] regex: (.+) target_label: __metrics_path__ replacement: /api/v1/nodes/$${1}/proxy/metrics - job_name: 'kubelet' scheme: https tls_config: ca_file: /var/run/secrets/kubernetes.io/serviceaccount/ca.crt insecure_skip_verify: true bearer_token_file: /var/run/secrets/kubernetes.io/serviceaccount/token kubernetes_sd_configs: - role: node relabel_configs: - action: labelmap regex: __meta_kubernetes_node_label_(.+) - target_label: __address__ replacement: kubernetes.default.svc.cluster.local:443 - source_labels: [__meta_kubernetes_node_name] regex: (.+) target_label: __metrics_path__ replacement: /api/v1/nodes/$${1}/proxy/metrics/cadvisor - job_name: 'kubernetes-pods' honor_labels: true kubernetes_sd_configs: - role: pod relabel_configs: - source_labels: [__meta_kubernetes_pod_annotation_prometheus_io_scrape] action: keep regex: true - source_labels: [__meta_kubernetes_pod_annotation_prometheus_io_scrape_slow] action: drop regex: true - source_labels: [__meta_kubernetes_pod_annotation_prometheus_io_scheme] action: replace regex: (https?) target_label: __scheme__ - source_labels: [__meta_kubernetes_pod_annotation_prometheus_io_path] action: replace target_label: __metrics_path__ regex: (.+) - action: labelmap regex: __meta_kubernetes_pod_annotation_prometheus_io_param_(.+) replacement: __param_$1 - action: labelmap regex: __meta_kubernetes_pod_label_(.+) - source_labels: [__meta_kubernetes_namespace] action: replace target_label: namespace - source_labels: [__meta_kubernetes_pod_name] action: replace target_label: pod - source_labels: [__meta_kubernetes_pod_phase] regex: Pending|Succeeded|Failed|Completed action: drop exporters: prometheusremotewrite: endpoint: ${AMP_ENDPOINT}api/v1/remote_write auth: authenticator: sigv4auth logging: loglevel: info extensions: sigv4auth: region: ${AWS_REGION} service: aps health_check: pprof: endpoint: :1888 zpages: endpoint: :55679 service: extensions: [pprof, zpages, health_check, sigv4auth] pipelines: metrics: receivers: [prometheus] exporters: [logging, prometheusremotewrite] env: - name: EKS_CLUSTER_NAME value: $(EKS_CLUSTER_NAME) - name: AWS_REGION value: $(AWS_REGION) - name: AWS_ACCOUNT_ID value: $(AWS_ACCOUNT_ID) - name: AMP_ENDPOINT value: $(AMP_ENDPOINT)