Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -95,3 +95,21 @@ Allow the release namespace to be overridden for multi-namespace deployments in
{{- .Values.adotCollector.sidecar.namespace -}}
{{- end -}}
{{- end -}}

{{/*
Create a custom receivers list.
*/}}
{{- define "receivers_list"}}
receivers :
- {{- if .Values.adotCollector.daemonSet.amp.enabled }} {{ .Values.adotCollector.daemonSet.amp.receivers.receiver }} {{- end }}
- {{- if .Values.adotCollector.daemonSet.cloudwatch.enabled }} {{ .Values.adotCollector.daemonSet.cloudwatch.receivers.receiver }} {{- end }}
{{- end }}

{{/*
Create a custom exporters list.
*/}}
{{- define "exporters_list"}}
exporters:
- {{- if .Values.adotCollector.daemonSet.amp.enabled }} {{ .Values.adotCollector.daemonSet.amp.exporters.exporter }} {{- end }}
- {{- if .Values.adotCollector.daemonSet.cloudwatch.enabled }} {{ .Values.adotCollector.daemonSet.cloudwatch.exporters.exporter }} {{- end }}
{{- end }}
Original file line number Diff line number Diff line change
@@ -1,4 +1,7 @@
{{- if .Values.adotCollector.daemonSet.enabled }}



# ConfigMap for ADOT Collector as a DaemonSet with the specified configurations, including configured values from values.yaml.
apiVersion: v1
kind: ConfigMap
Expand All @@ -8,57 +11,61 @@ metadata:
labels:
app: {{ .Values.adotCollector.daemonSet.configMap.app }}
component: {{ .Values.adotCollector.daemonSet.configMap.component }}
{{- include "adotCollector.daemonSet.labels" . | indent 4 }}
data:
adot-config: |
extensions:
health_check: {{ .Values.adotCollector.daemonSet.extensions.healthCheck }}
receivers:
{{- if .Values.adotCollector.daemonSet.cloudwatch.enabled }}
awscontainerinsightreceiver:
collection_interval: {{ .Values.adotCollector.daemonSet.cwreceivers.collectionInterval }}
container_orchestrator: {{ .Values.adotCollector.daemonSet.cwreceivers.containerOrchestrator }}
add_service_as_attribute: {{ .Values.adotCollector.daemonSet.cwreceivers.addServiceAsAttribute }}
prefer_full_pod_name: {{ .Values.adotCollector.daemonSet.cwreceivers.preferFullPodName }}
collection_interval: {{ .Values.adotCollector.daemonSet.cloudwatch.receivers.collectionInterval }}
container_orchestrator: {{ .Values.adotCollector.daemonSet.cloudwatch.receivers.containerOrchestrator }}
add_service_as_attribute: {{ .Values.adotCollector.daemonSet.cloudwatch.receivers.addServiceAsAttribute }}
prefer_full_pod_name: {{ .Values.adotCollector.daemonSet.cloudwatch.receivers.preferFullPodName }}
{{- end }}
{{- if .Values.adotCollector.daemonSet.amp.enabled }}
prometheus:
config:
global:
scrape_interval: {{ .Values.adotCollector.daemonSet.ampreceivers.scrapeInterval }}
scrape_timeout: {{ .Values.adotCollector.daemonSet.ampreceivers.scrapeTimeout }}
scrape_interval: {{ .Values.adotCollector.daemonSet.amp.receivers.scrapeInterval }}
scrape_timeout: {{ .Values.adotCollector.daemonSet.amp.receivers.scrapeTimeout }}
scrape_configs:
{{ .Values.adotCollector.daemonSet.ampreceivers.scrapeConfigs | nindent 12 }}
{{ .Values.adotCollector.daemonSet.amp.receivers.scrapeConfigs | nindent 10 }}
{{- end }}
processors:
batch/metrics:
timeout: {{ .Values.adotCollector.daemonSet.processors.timeout }}
exporters:
{{- if .Values.adotCollector.daemonSet.cloudwatch.enabled }}
awsemf:
namespace: {{ .Values.adotCollector.daemonSet.cwexporters.namespace }}
namespace: {{ .Values.adotCollector.daemonSet.cloudwatch.exporters.namespace }}
log_group_name: '/aws/containerinsights/{{ .Values.clusterName }}/performance'
log_stream_name: {{ .Values.adotCollector.daemonSet.cwexporters.logStreamName }}
log_stream_name: {{ .Values.adotCollector.daemonSet.cloudwatch.exporters.logStreamName }}
resource_to_telemetry_conversion:
enabled: {{ .Values.adotCollector.daemonSet.cwexporters.enabled }}
dimension_rollup_option: {{ .Values.adotCollector.daemonSet.cwexporters.dimensionRollupOption }}
parse_json_encoded_attr_values: {{- range .Values.adotCollector.daemonSet.cwexporters.parseJsonEncodedAttrValues }}
enabled: {{ .Values.adotCollector.daemonSet.cloudwatch.exporters.enabled }}
dimension_rollup_option: {{ .Values.adotCollector.daemonSet.cloudwatch.exporters.dimensionRollupOption }}
parse_json_encoded_attr_values: {{- range .Values.adotCollector.daemonSet.cloudwatch.exporters.parseJsonEncodedAttrValues }}
- {{.}}{{- end }}
metric_declarations:
{{ .Values.adotCollector.daemonSet.metricDeclarations | nindent 10 }}
{{ .Values.adotCollector.daemonSet.cloudwatch.metricDeclarations | nindent 8 }}
{{- end }}
{{- if .Values.adotCollector.daemonSet.amp.enabled }}
awsprometheusremotewrite:
namespace: {{ .Values.adotCollector.daemonSet.ampexporters.namespace }}
endpoint: {{ .Values.adotCollector.daemonSet.ampexporters.endpoint }}
namespace: {{ .Values.adotCollector.daemonSet.amp.exporters.namespace }}
endpoint: {{ .Values.adotCollector.daemonSet.amp.exporters.endpoint }}
resource_to_telemetry_conversion:
enabled: {{ .Values.adotCollector.daemonSet.ampexporters.resourcetotel }}
enabled: {{ .Values.adotCollector.daemonSet.amp.exporters.resourcetotel }}
aws_auth:
region: {{ .Values.adotCollector.daemonSet.ampexporters.region }}
region: {{ .Values.adotCollector.daemonSet.amp.exporters.region }}
service: aps
{{- end }}
service:
pipelines:
metrics:
receivers: {{- range .Values.adotCollector.daemonSet.service.metrics.receivers }}
- {{.}} {{- end }}
{{- template "receivers_list"}}
processors: {{- range .Values.adotCollector.daemonSet.service.metrics.processors }}
- {{.}} {{- end }}
exporters: {{- range .Values.adotCollector.daemonSet.service.metrics.exporters }}
- {{.}} {{- end }}
{{- template "exporters_list"}}
extensions: {{- range .Values.adotCollector.daemonSet.service.extensions }}
- {{.}} {{- end }}
{{- end }}
{{- end }}
235 changes: 119 additions & 116 deletions charts/adot-exporter-for-eks-on-ec2/values.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -4,11 +4,6 @@ global:
namespaceOverride: ""
awsRegion: ""
clusterName: ""

# -- Additional labels to add into metadata
additionalLabels: {}
# app: adot

serviceAccount:
create: true
annotations: {}
Expand Down Expand Up @@ -282,124 +277,132 @@ adotCollector:
mountPath: "/conf"
extensions:
healthCheck: ""
cwreceivers:
collectionInterval: ""
containerOrchestrator: ""
addServiceAsAttribute: ""
preferFullPodName: ""
processors:
timeout: 60s
cwexporters:
namespace: "ContainerInsights"
logGroupName: ""
logStreamName: "InputNodeName"
cloudwatch:
enabled: false
receivers:
receiver: "awscontainerinsightreceiver"
collectionInterval: ""
containerOrchestrator: ""
addServiceAsAttribute: ""
preferFullPodName: ""
exporters:
exporter: "awsemf"
namespace: "ContainerInsights"
logGroupName: ""
logStreamName: "InputNodeName"
enabled: true
dimensionRollupOption: "NoDimensionRollup"
parseJsonEncodedAttrValues: ["Sources", "kubernetes"]
metricDeclarations: |
# node metrics
- dimensions: [[NodeName, InstanceId, ClusterName]]
metric_name_selectors:
- node_cpu_utilization
- node_memory_utilization
- node_network_total_bytes
- node_cpu_reserved_capacity
- node_memory_reserved_capacity
- node_number_of_running_pods
- node_number_of_running_containers
- dimensions: [[ClusterName]]
metric_name_selectors:
- node_cpu_utilization
- node_memory_utilization
- node_network_total_bytes
- node_cpu_reserved_capacity
- node_memory_reserved_capacity
- node_number_of_running_pods
- node_number_of_running_containers
- node_cpu_usage_total
- node_cpu_limit
- node_memory_working_set
- node_memory_limit
# pod metrics
- dimensions: [[PodName, Namespace, ClusterName], [Service, Namespace, ClusterName], [Namespace, ClusterName], [ClusterName]]
metric_name_selectors:
- pod_cpu_utilization
- pod_memory_utilization
- pod_network_rx_bytes
- pod_network_tx_bytes
- pod_cpu_utilization_over_pod_limit
- pod_memory_utilization_over_pod_limit
- dimensions: [[PodName, Namespace, ClusterName], [ClusterName]]
metric_name_selectors:
- pod_cpu_reserved_capacity
- pod_memory_reserved_capacity
- dimensions: [[PodName, Namespace, ClusterName]]
metric_name_selectors:
- pod_number_of_container_restarts
# cluster metrics
- dimensions: [[ClusterName]]
metric_name_selectors:
- cluster_node_count
- cluster_failed_node_count
# service metrics
- dimensions: [[Service, Namespace, ClusterName], [ClusterName]]
metric_name_selectors:
- service_number_of_running_pods
# node fs metrics
- dimensions: [[NodeName, InstanceId, ClusterName], [ClusterName]]
metric_name_selectors:
- node_filesystem_utilization
# namespace metrics
- dimensions: [[Namespace, ClusterName], [ClusterName]]
metric_name_selectors:
- namespace_number_of_running_pods
amp:
enabled: true
dimensionRollupOption: "NoDimensionRollup"
parseJsonEncodedAttrValues: ["Sources", "kubernetes"]
metricDeclarations: |
# node metrics
- dimensions: [[NodeName, InstanceId, ClusterName]]
metric_name_selectors:
- node_cpu_utilization
- node_memory_utilization
- node_network_total_bytes
- node_cpu_reserved_capacity
- node_memory_reserved_capacity
- node_number_of_running_pods
- node_number_of_running_containers
- dimensions: [[ClusterName]]
metric_name_selectors:
- node_cpu_utilization
- node_memory_utilization
- node_network_total_bytes
- node_cpu_reserved_capacity
- node_memory_reserved_capacity
- node_number_of_running_pods
- node_number_of_running_containers
- node_cpu_usage_total
- node_cpu_limit
- node_memory_working_set
- node_memory_limit
# pod metrics
- dimensions: [[PodName, Namespace, ClusterName], [Service, Namespace, ClusterName], [Namespace, ClusterName], [ClusterName]]
metric_name_selectors:
- pod_cpu_utilization
- pod_memory_utilization
- pod_network_rx_bytes
- pod_network_tx_bytes
- pod_cpu_utilization_over_pod_limit
- pod_memory_utilization_over_pod_limit
- dimensions: [[PodName, Namespace, ClusterName], [ClusterName]]
metric_name_selectors:
- pod_cpu_reserved_capacity
- pod_memory_reserved_capacity
- dimensions: [[PodName, Namespace, ClusterName]]
metric_name_selectors:
- pod_number_of_container_restarts
# cluster metrics
- dimensions: [[ClusterName]]
metric_name_selectors:
- cluster_node_count
- cluster_failed_node_count
# service metrics
- dimensions: [[Service, Namespace, ClusterName], [ClusterName]]
metric_name_selectors:
- service_number_of_running_pods
# node fs metrics
- dimensions: [[NodeName, InstanceId, ClusterName], [ClusterName]]
metric_name_selectors:
- node_filesystem_utilization
# namespace metrics
- dimensions: [[Namespace, ClusterName], [ClusterName]]
metric_name_selectors:
- namespace_number_of_running_pods
ampreceivers:
scrapeInterval: 15s
scrapeTimeout: 10s
scrapeConfigs: |
- job_name: 'k8s_metrics_scrape'
sample_limit: 10000
metrics_path: /metrics
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_path]
action: replace
regex: (.+)
target_label: __metrics_path__
- source_labels: [__address__, __meta_kubernetes_pod_annotation_prometheus_io_port]
action: replace
regex: ([^:]+)(?::\d+)?;(\d+)
replacement: $$1:$$2
target_label: __address__
- action: labelmap
regex: __meta_kubernetes_pod_label_(.+)
- source_labels: [__meta_kubernetes_pod_node_name]
action: keep
regex: ${K8S_NODE_NAME}
- source_labels: [__meta_kubernetes_namespace]
action: replace
target_label: K8S_NAMESPACE
- source_labels: [__meta_kubernetes_pod_name]
action: replace
target_label: K8S_POD_NAME
- source_labels: [__meta_kubernetes_pod_container_name]
action: replace
target_label: EKS_Container
receivers:
receiver: "prometheus"
scrapeInterval: 15s
scrapeTimeout: 10s
scrapeConfigs: |
- job_name: 'k8s_metrics_scrape'
sample_limit: 10000
metrics_path: /metrics
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_path]
action: replace
regex: (.+)
target_label: __metrics_path__
- source_labels: [__address__, __meta_kubernetes_pod_annotation_prometheus_io_port]
action: replace
regex: ([^:]+)(?::\d+)?;(\d+)
replacement: $$1:$$2
target_label: __address__
- action: labelmap
regex: __meta_kubernetes_pod_label_(.+)
- source_labels: [__meta_kubernetes_pod_node_name]
action: keep
regex: ${K8S_NODE_NAME}
- source_labels: [__meta_kubernetes_namespace]
action: replace
target_label: K8S_NAMESPACE
- source_labels: [__meta_kubernetes_pod_name]
action: replace
target_label: K8S_POD_NAME
- source_labels: [__meta_kubernetes_pod_container_name]
action: replace
target_label: EKS_Container

ampexporters:
namespaces: ""
endpoint: ""
resourcetotel: false
region: ""
exporters:
exporter: "awsprometheusremotewrite"
namespaces: "prom-metrics"
endpoint: "https://aps-workspaces.us-west-2.amazonaws.com/workspaces/ws-14af7922-16ed-4d74-989a-123208a0f903/api/v1/remote_write"
resourcetotel: false
region: "us-west-2"
service:
metrics:
receivers: ["prometheus"]
receivers: []
processors: ["batch/metrics"]
exporters: ["awsprometheusremotewrite"]
exporters: []
extensions: ["health_check"]

sidecar:
Expand Down