# # OpenTelemetry Collector configuration # Replace the variables REGION and WORKSPACE per your target environment # Metrics pipeline with AWS Remote Write Exporter sending metrics to Amazon Managed Prometheus # --- apiVersion: opentelemetry.io/v1alpha1 kind: OpenTelemetryCollector metadata: name: observability namespace: aws-otel-eks spec: mode: deployment resources: limits: cpu: 100m memory: 200Mi requests: cpu: 100m memory: 200Mi serviceAccount: aws-otel-collector config: receivers: otlp: protocols: grpc: endpoint: 0.0.0.0:4317 http: endpoint: 0.0.0.0:4318 processors: batch/metrics: timeout: 60s exporters: prometheusremotewrite: endpoint: "https://aps-workspaces..amazonaws.com/workspaces//api/v1/remote_write" auth: authenticator: sigv4auth extensions: sigv4auth: region: "" service: "aps" service: extensions: [sigv4auth] pipelines: metrics: receivers: [otlp] processors: [batch/metrics] exporters: [prometheusremotewrite] minReplicas: 2 maxReplicas: 10 autoscaler: behavior: scaleUp: stabilizationWindowSeconds: 10 scaleDown: stabilizationWindowSeconds: 15 targetCPUUtilization: 70 --- apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRole metadata: name: otel-prometheus-role rules: - apiGroups: - "" resources: - nodes - nodes/proxy - services - endpoints - pods verbs: - get - list - watch - apiGroups: - extensions resources: - ingresses verbs: - get - list - watch - nonResourceURLs: - /metrics verbs: - get --- apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRoleBinding metadata: name: otel-prometheus-role-binding roleRef: apiGroup: rbac.authorization.k8s.io kind: ClusterRole name: otel-prometheus-role subjects: - kind: ServiceAccount name: aws-otel-collector namespace: aws-otel-eks