v0.45.1
The logging exporter is now deprecated , users should update the config to the debug exporter instead
Configuring ADOT in EKS Anywhere package spec
Example
For complete configuration examples and use cases, refer to ADOT with AMP and AMG.
Configurable parameters and default values under spec.config
| Parameter | Description | Default |
|---|---|---|
| General | ||
| hostNetwork | Indicates if the pod should run in the host networking namespace. | false |
| image.pullPolicy | Specifies image pull policy: IfNotPresent, Always, Never. |
"IfNotPresent" |
| mode | Specifies Collector deployment options: daemonset, deployment, or statefulset. |
"daemonset" |
| ports.[*].containerPort | Specifies containerPort used. | See footnote 1 |
| ports.[*].enabled | Indicates if a port is enabled. | See footnote 1 |
| ports.[*].hostPort | Specifies hostPort used. | See footnote 1 |
| ports.[*].protocol | Specifies protocol used. | See footnote 1 |
| ports.[*].servicePort | Specifies servicePort used. | See footnote 1 |
| resources.limits.cpu | Specifies CPU resource limits for containers. | 1 |
| resources.limits.memory | Specifies memory resource limits for containers. | "2Gi" |
| ServiceAccount | ||
| serviceAccount.create | Specifies whether a service account should be created. | true |
| serviceAccount.annotations | Annotations to add to the service account (e.g., eks.amazonaws.com/role-arn for IRSA). |
{} |
| serviceAccount.name | The name of the service account to use. If not set and create is true, a name is generated using the fullname template. | "" |
| ClusterRole | ||
| clusterRole.create | Specifies whether a clusterRole should be created. Some presets also trigger the creation of a cluster role. | false |
| clusterRole.annotations | Annotations to add to the clusterRole. Can be used in combination with presets. | {} |
| clusterRole.name | The name of the clusterRole to use. If not set, a name is generated using the fullname template. | "" |
| clusterRole.rules | A set of rules as documented in Kubernetes RBAC . Can be used in combination with presets to add additional rules. | [] |
| Presets | ||
| presets.logsCollection.enabled | Configures the collector to collect logs. Adds the filelog receiver to the logs pipeline and adds necessary volumes and volume mounts. Best used with mode = daemonset. | false |
| presets.logsCollection.includeCollectorLogs | Include ADOT collector’s own logs in collection. | false |
| presets.logsCollection.storeCheckpoints | Enables writing checkpoints in /var/lib/otelcol/ host directory. Changes collector’s user to root. | false |
| presets.hostMetrics.enabled | Configures the collector to collect host metrics. Adds the hostmetrics receiver to the metrics pipeline. Best used with mode = daemonset. | false |
| presets.kubernetesAttributes.enabled | Configures the Kubernetes Processor to add Kubernetes metadata. Adds k8sattributes processor to all pipelines and creates ClusterRole with minimum required RBAC rules. Best used with mode = daemonset. | false |
| presets.kubernetesAttributes.extractAllPodLabels | When enabled, the processor extracts all labels for an associated pod and adds them as resource attributes. | false |
| presets.kubernetesAttributes.extractAllPodAnnotations | When enabled, the processor extracts all annotations for an associated pod and adds them as resource attributes. | false |
| presets.kubeletMetrics.enabled | Configures the collector to collect node, pod, and container metrics from the API server on a kubelet. Adds kubeletstats receiver to the metrics pipeline and adds necessary ClusterRole rules. Best used with mode = daemonset. | false |
| presets.kubernetesEvents.enabled | Configures the collector to collect kubernetes events. Adds k8sobjects receiver to the logs pipeline. Best used with mode = deployment or statefulset. | false |
| presets.clusterMetrics.enabled | Configures the Kubernetes Cluster Receiver to collect cluster-level metrics. Adds k8s_cluster receiver to the metrics pipeline and adds necessary ClusterRole rules. Best used with mode = deployment or statefulset. | false |
| Config | ||
| config.config | Specifies Collector receiver, processor, exporter, and extensions configurations. Refer to aws-otel-collector for full details. Note EKS Anywhere ADOT package version matches the exact aws-otel-collector version. | See footnote 2 |
| config.config.receiver | Specifies how data gets in the Collector. Receivers can be either push or pull based, and support one or more data source. | See footnote 2 |
| config.config.processor | Specifies how processors are run on data between the stage of being received and being exported. Processors are optional though some are recommended. | See footnote 2 |
| config.config.exporters | Specifies how data gets sent to backends/destinations. Exporters can be either push or pull based, and support one or more data source. | See footnote 2 |
| config.config.extensions | Specifies tasks that do not involve processing telemetry data. Examples of extensions include health monitoring, service discovery, and data forwarding. Extensions are optional. | See footnote 2 |
| config.config.service | Specifies what components are enabled in the Collector based on the configuration found in the receivers, processors, exporters, and extensions sections. If a component is configured, but not defined within the service section, then it is not enabled. | See footnote 2 |
| Deployment mode only | ||
| replicaCount | Specifies replicaCount for pods. | 1 |
| service.type | Specifies service types: ClusterIP, NodePort, LoadBalancer, ExternalName. |
"ClusterIP" |
-
The default
portsenablesotlpandotlp-http. See below specification for details.↩︎apiVersion: packages.eks.amazonaws.com/v1alpha1 kind: Package ... spec: config: | ports: otlp: enabled: true containerPort: 4317 servicePort: 4317 hostPort: 4317 protocol: TCP otlp-http: enabled: true containerPort: 4318 servicePort: 4318 hostPort: 4318 protocol: TCP -
The default
config.configdeploys an ADOT Collector with the metrics pipeline, which includes otlp and prometheus receiver, and logging exporter. See below specification for details.↩︎apiVersion: packages.eks.amazonaws.com/v1alpha1 kind: Package ... spec: config: | config: receivers: otlp: protocols: grpc: endpoint: 0.0.0.0:4317 http: endpoint: 0.0.0.0:4318 prometheus: config: scrape_configs: - job_name: opentelemetry-collector scrape_interval: 10s static_configs: - targets: - ${MY_POD_IP}:8888 processors: batch: {} memory_limiter: null exporters: logging: loglevel: info extensions: health_check: {} memory_ballast: {} service: telemetry: metrics: address: 0.0.0.0:8888 extensions: - health_check - memory_ballast pipelines: metrics: exporters: - logging processors: - memory_limiter - batch receivers: - otlp - prometheus