--- # -- Name override # @section -- General settings nameOverride: "" # -- Full name override # @section -- General settings fullnameOverride: "" global: # -- The specific platform for this cluster. Will enable compatibility for some platforms. Supported options: (empty) or "openshift". # @section -- Global Settings platform: "" # -- The Kubernetes service. Change this if your cluster DNS is configured differently than the default. # @section -- Global Settings kubernetesAPIService: "" # -- How frequently to scrape metrics. # @section -- Global Settings scrapeInterval: 60s # -- Sets the max_cache_size for every prometheus.relabel component. ([docs](https://grafana.com/docs/alloy/latest/reference/components/prometheus/prometheus.relabel/#arguments)) # This should be at least 2x-5x your largest scrape target or samples appended rate. # @section -- Global Settings maxCacheSize: 100000 alloyModules: # -- The source of the Alloy modules. The valid options are "configMap" or "git" # @section -- Global Settings source: git # -- If using git, the branch of the git repository to use. # @section -- Global Settings branch: main controlPlane: # -- enable all Kubernetes Control Plane metrics sources. This includes api-server, kube-scheduler, # kube-controller-manager, and KubeDNS. # @section -- Control Plane enabled: false # # Built-in metrics sources # # Kubelet metrics gather information about Kubernetes information on each node. kubelet: # -- Scrape metrics from kubelet. # @section -- Kubelet enabled: true # -- How to access the Kubelet to get metrics, either "direct" (use node IP) or "proxy" (uses API Server) # @section -- Kubelet nodeAddressFormat: direct # -- The value for the job label. # @section -- Kubelet jobLabel: "integrations/kubernetes/kubelet" # -- Rule blocks to be added to the discovery.relabel component for the Kubelet. # These relabeling rules are applied pre-scrape against the targets from service discovery. # Before the scrape, any remaining target labels that start with `__` (i.e. `__meta_kubernetes*`) are dropped. # ([docs](https://grafana.com/docs/alloy/latest/reference/components/discovery/discovery.relabel/#rule-block)) # @section -- Kubelet extraDiscoveryRules: "" # -- Rule blocks to be added to the prometheus.relabel component for Kubelet metrics. # These relabeling rules are applied post-scrape against the metrics returned from the scraped target, no `__meta*` labels are present. # ([docs](https://grafana.com/docs/alloy/latest/reference/components/prometheus/prometheus.relabel/#rule-block)) # @section -- Kubelet extraMetricProcessingRules: "" # Adjustments to the scraped metrics to filter the amount of data sent to storage. metricsTuning: # -- Filter the list of metrics from the Kubelet to the minimal set required for Kubernetes Monitoring. # @section -- Kubelet useDefaultAllowList: true # -- Metrics to keep. Can use regular expressions. # @section -- Kubelet includeMetrics: [] # -- Metrics to drop. Can use regular expressions. # @section -- Kubelet excludeMetrics: [] # -- Sets the max_cache_size for the Kubelet prometheus.relabel component. # This should be at least 2x-5x your largest scrape target or samples appended rate. # ([docs](https://grafana.com/docs/alloy/latest/reference/components/prometheus/prometheus.relabel/#arguments)) # Overrides global.maxCacheSize # @default -- `100000` # @section -- Kubelet maxCacheSize: # -- How frequently to scrape Kubelet metrics. # @default -- `60s` # @section -- Kubelet scrapeInterval: "" # Kubelet Resource metrics gather information about resource information on each node. kubeletResource: # -- Scrape resource metrics from the Kubelet. # @section -- Kubelet Resources enabled: true # -- How to access the Kubelet to get resource metrics, either "direct" (use node IP) or "proxy" (uses API Server) # @section -- Kubelet Resources nodeAddressFormat: direct # -- The value for the job label. # @section -- Kubelet Resources jobLabel: "integrations/kubernetes/resources" # -- Rule blocks to be added to the discovery.relabel component for Kubelet resources. # These relabeling rules are applied pre-scrape against the targets from service discovery. # Before the scrape, any remaining target labels that start with `__` (i.e. `__meta_kubernetes*`) are dropped. # ([docs](https://grafana.com/docs/alloy/latest/reference/components/discovery/discovery.relabel/#rule-block)) # @section -- Kubelet Resources extraDiscoveryRules: "" # -- Rule blocks to be added to the prometheus.relabel component for Kubelet resource metrics. # These relabeling rules are applied post-scrape against the metrics returned from the scraped target, no `__meta*` labels are present. # ([docs](https://grafana.com/docs/alloy/latest/reference/components/prometheus/prometheus.relabel/#rule-block)) # @section -- Kubelet Resources extraMetricProcessingRules: "" # Adjustments to the scraped metrics to filter the amount of data sent to storage. metricsTuning: # -- Filter the list of resource metrics from the Kubelet to the minimal set required for Kubernetes Monitoring. # @section -- Kubelet Resources useDefaultAllowList: true # -- Metrics to keep. Can use regular expressions. # @section -- Kubelet Resources includeMetrics: [] # -- Metrics to drop. Can use regular expressions. # @section -- Kubelet Resources excludeMetrics: [] # -- Sets the max_cache_size for prometheus.relabel components. # This should be at least 2x-5x your largest scrape target or samples appended rate. # ([docs](https://grafana.com/docs/alloy/latest/reference/components/prometheus/prometheus.relabel/#arguments)) # Overrides global.maxCacheSize # @default -- `100000` # @section -- Kubelet Resources maxCacheSize: # -- How frequently to scrape Kubelet resource metrics. # @default -- `60s` # @section -- Kubelet Resources scrapeInterval: "" # Kubelet Probe metrics gather information about liveness and readiness probe information. kubeletProbes: # -- Scrape probe metrics from the Kubelet. # @section -- Kubelet Probes enabled: false # -- How to access the Kubelet to get probe metrics, either "direct" (use node IP) or "proxy" (uses API Server) # @section -- Kubelet Probes nodeAddressFormat: direct # -- The value for the job label. # @section -- Kubelet Probes jobLabel: "integrations/kubernetes/probes" # -- Rule blocks to be added to the discovery.relabel component for Kubelet probes. # These relabeling rules are applied pre-scrape against the targets from service discovery. # Before the scrape, any remaining target labels that start with `__` (i.e. `__meta_kubernetes*`) are dropped. # ([docs](https://grafana.com/docs/alloy/latest/reference/components/discovery/discovery.relabel/#rule-block)) # @section -- Kubelet Probes extraDiscoveryRules: "" # -- Rule blocks to be added to the prometheus.relabel component for Kubelet probe metrics. # These relabeling rules are applied post-scrape against the metrics returned from the scraped target, no `__meta*` labels are present. # ([docs](https://grafana.com/docs/alloy/latest/reference/components/prometheus/prometheus.relabel/#rule-block)) # @section -- Kubelet Probes extraMetricProcessingRules: "" # Adjustments to the scraped metrics to filter the amount of data sent to storage. metricsTuning: # -- Filter the list of probe metrics from the Kubelet to the minimal set required for Kubernetes Monitoring. # @section -- Kubelet Probes useDefaultAllowList: true # -- Metrics to keep. Can use regular expressions. # @section -- Kubelet Probes includeMetrics: [] # -- Metrics to drop. Can use regular expressions. # @section -- Kubelet Probes excludeMetrics: [] # -- Sets the max_cache_size for prometheus.relabel components. # This should be at least 2x-5x your largest scrape target or samples appended rate. # ([docs](https://grafana.com/docs/alloy/latest/reference/components/prometheus/prometheus.relabel/#arguments)) # Overrides global.maxCacheSize # @default -- `100000` # @section -- Kubelet Probes maxCacheSize: # -- How frequently to scrape Kubelet probe metrics. # @default -- `60s` # @section -- Kubelet Probes scrapeInterval: "" # cAdvisor metrics gather information about containers on each node. cadvisor: # -- Scrape metrics from cAdvisor. # @section -- cAdvisor enabled: true # -- How to access cAdvisor to get metrics, either "direct" (use node IP) or "proxy" (uses API Server) # @section -- cAdvisor nodeAddressFormat: direct # -- The value for the job label. # @section -- cAdvisor jobLabel: "integrations/kubernetes/cadvisor" # -- Rule blocks to be added to the discovery.relabel component for cAdvisor. # These relabeling rules are applied pre-scrape against the targets from service discovery. # Before the scrape, any remaining target labels that start with `__` (i.e. `__meta_kubernetes*`) are dropped. # ([docs](https://grafana.com/docs/alloy/latest/reference/components/discovery/discovery.relabel/#rule-block)) # @section -- cAdvisor extraDiscoveryRules: "" # -- Rule blocks to be added to the prometheus.relabel component for cAdvisor metrics. # These relabeling rules are applied post-scrape against the metrics returned from the scraped target, no `__meta*` labels are present. # ([docs](https://grafana.com/docs/alloy/latest/reference/components/prometheus/prometheus.relabel/#rule-block)) # @section -- cAdvisor extraMetricProcessingRules: "" # Adjustments to the scraped metrics to filter the amount of data sent to storage. metricsTuning: # -- Filter the list of metrics from cAdvisor to the minimal set required for Kubernetes Monitoring. # @section -- cAdvisor useDefaultAllowList: true # -- Metrics to keep. Can use regular expressions. # @section -- cAdvisor includeMetrics: [] # -- Metrics to drop. Can use regular expressions. # @section -- cAdvisor excludeMetrics: [] # -- Drop metrics that have an empty container label # @section -- cAdvisor dropEmptyContainerLabels: true # -- Drop metrics that have an empty image label # @section -- cAdvisor dropEmptyImageLabels: true # -- Normalize labels to the same value for the given metric and label pairs # @section -- cAdvisor normalizeUnnecessaryLabels: - metric: "machine_memory_bytes" labels: ["boot_id", "system_uuid"] # -- Only keep filesystem metrics that use the following physical devices # @section -- cAdvisor keepPhysicalFilesystemDevices: ["mmcblk.p.+", "nvme.+", "rbd.+", "sd.+", "vd.+", "xvd.+", "dasd.+"] # -- Only keep network metrics that use the following physical devices # @section -- cAdvisor keepPhysicalNetworkDevices: ["en[ospx][0-9].*", "wlan[0-9].*", "eth[0-9].*"] # -- For metrics with a `namespace` label, only keep those that are in this list. # @section -- cAdvisor includeNamespaces: [] # -- For metrics with a `namespace` label, drop those that are in this list. # @section -- cAdvisor excludeNamespaces: [] # -- How frequently to scrape cAdvisor metrics. # @default -- `60s` # @section -- cadvisor scrapeInterval: "" # -- Sets the max_cache_size for the cAdvisor prometheus.relabel component. # This should be at least 2x-5x your largest scrape target or samples appended rate. # ([docs](https://grafana.com/docs/alloy/latest/reference/components/prometheus/prometheus.relabel/#arguments)) # Overrides global.maxCacheSize # @default -- `100000` # @section -- cAdvisor maxCacheSize: # API Server metrics gather information about the Kubernetes API Server. apiServer: # -- (bool) Scrape metrics from the API Server. # @default -- `false` # @section -- API Server enabled: # -- The value for the job label. # @section -- API Server jobLabel: "integrations/kubernetes/kube-apiserver" # -- Rule blocks to be added to the discovery.relabel component for the API Server. # These relabeling rules are applied pre-scrape against the targets from service discovery. # Before the scrape, any remaining target labels that start with `__` (i.e. `__meta_kubernetes*`) are dropped. # ([docs](https://grafana.com/docs/alloy/latest/reference/components/discovery/discovery.relabel/#rule-block)) # @section -- API Server extraDiscoveryRules: "" # -- How frequently to scrape metrics from the API Server # Overrides metrics.scrapeInterval # @default -- 60s # @section -- API Server scrapeInterval: "" # -- Rule blocks to be added to the prometheus.relabel component for the API Server. # These relabeling rules are applied post-scrape against the metrics returned from the scraped target, no `__meta*` labels are present. # ([docs](https://grafana.com/docs/alloy/latest/reference/components/prometheus/prometheus.relabel/#rule-block)) # @section -- API Server extraMetricProcessingRules: "" # Adjustments to the scraped metrics to filter the amount of data sent to storage. metricsTuning: # -- Metrics to keep. Can use regular expressions. An empty list means keep all. # @section -- API Server includeMetrics: [] # -- Metrics to drop. Can use regular expressions. # @section -- API Server excludeMetrics: [] # -- Sets the max_cache_size for the API Server prometheus.relabel component. # This should be at least 2x-5x your largest scrape target or samples appended rate. # ([docs](https://grafana.com/docs/alloy/latest/reference/components/prometheus/prometheus.relabel/#arguments)) # Overrides metrics.maxCacheSize # @raw # @section -- API Server maxCacheSize: # Metrics from the Kube Controller Manager kubeControllerManager: # -- (bool) Scrape metrics from the Kube Controller Manager # @default -- `false` # @section -- Kube Controller Manager enabled: # -- The value for the job label. # @section -- Kube Controller Manager jobLabel: "kube-controller-manager" # -- Selector label. # @section -- Kube Controller Manager selectorLabel: "component=kube-controller-manager" # -- Port number used by the Kube Controller Manager, set by `--secure-port.` # @section -- Kube Controller Manager port: 10257 # -- How frequently to scrape metrics from the Kube Controller Manager # @section -- Kube Controller Manager # Overrides metrics.scrapeInterval # @default -- 60s scrapeInterval: "" # -- Rule blocks to be added to the discovery.relabel component for the Kube Controller Manager. # These relabeling rules are applied pre-scrape against the targets from service discovery. # Before the scrape, any remaining target labels that start with `__` (i.e. `__meta_kubernetes*`) are dropped. # ([docs](https://grafana.com/docs/alloy/latest/reference/components/discovery/discovery.relabel/#rule-block)) # @section -- Kube Controller Manager extraDiscoveryRules: "" # -- Rule blocks to be added to the prometheus.relabel component for the Kube Controller Manager. # These relabeling rules are applied post-scrape against the metrics returned from the scraped target, no `__meta*` labels are present. # ([docs](https://grafana.com/docs/alloy/latest/reference/components/prometheus/prometheus.relabel/#rule-block)) # @section -- Kube Controller Manager extraMetricProcessingRules: "" # Adjustments to the scraped metrics to filter the amount of data sent to storage. metricsTuning: # -- Metrics to keep. Can use regular expressions. An empty list means keep all. # @section -- Kube Controller Manager includeMetrics: [] # -- Metrics to drop. Can use regular expressions. # @section -- Kube Controller Manager excludeMetrics: [] # -- Sets the max_cache_size for the Kube Controller Manager prometheus.relabel component. # This should be at least 2x-5x your largest scrape target or samples appended rate. # ([docs](https://grafana.com/docs/alloy/latest/reference/components/prometheus/prometheus.relabel/#arguments)) # Overrides metrics.maxCacheSize # @raw # @section -- Kube Controller Manager maxCacheSize: # Metrics from the KubeDNS kubeDNS: # -- (bool) Scrape metrics from KubeDNS # @default -- `false` # @section -- KubeDNS enabled: # -- The value for the job label. # @section -- KubeDNS jobLabel: "integrations/kubernetes/kube-dns" # -- How frequently to scrape metrics from KubeDNS # Overrides metrics.scrapeInterval # @default -- 60s # @section -- KubeDNS scrapeInterval: "" # -- Rule blocks to be added to the discovery.relabel component for KubeDNS. # These relabeling rules are applied pre-scrape against the targets from service discovery. # Before the scrape, any remaining target labels that start with `__` (i.e. `__meta_kubernetes*`) are dropped. # ([docs](https://grafana.com/docs/alloy/latest/reference/components/discovery/discovery.relabel/#rule-block)) # @section -- KubeDNS extraDiscoveryRules: "" # -- Rule blocks to be added to the prometheus.relabel component for KubeDNS. # These relabeling rules are applied post-scrape against the metrics returned from the scraped target, no `__meta*` labels are present. # ([docs](https://grafana.com/docs/alloy/latest/reference/components/prometheus/prometheus.relabel/#rule-block)) # @section -- KubeDNS extraMetricProcessingRules: "" # Adjustments to the scraped metrics to filter the amount of data sent to storage. metricsTuning: # -- Metrics to keep. Can use regular expressions. An empty list means keep all. # @section -- KubeDNS includeMetrics: [] # -- Metrics to drop. Can use regular expressions. # @section -- KubeDNS excludeMetrics: [] # -- Sets the max_cache_size for the KubeDNS prometheus.relabel component. # This should be at least 2x-5x your largest scrape target or samples appended rate. # ([docs](https://grafana.com/docs/alloy/latest/reference/components/prometheus/prometheus.relabel/#arguments)) # Overrides metrics.maxCacheSize # @raw # @section -- KubeDNS maxCacheSize: # Metrics from the Kube Proxy kubeProxy: # -- (bool) Scrape metrics from the Kube Proxy # @default -- `false` # @section -- Kube Proxy enabled: # -- The value for the job label. # @section -- Kube Proxy jobLabel: "integrations/kubernetes/kube-proxy" # -- Selector label. # @section -- Kube Proxy selectorLabel: "k8s-app=kube-proxy" # -- Port number used by the Kube Proxy, set in `--metrics-bind-address`. # @section -- Kube Proxy port: 10249 # -- How frequently to scrape metrics from the Kube Proxy # Overrides metrics.scrapeInterval # @default -- 60s # @section -- Kube Proxy scrapeInterval: "" # -- Rule blocks to be added to the discovery.relabel component for the Kube Proxy. # These relabeling rules are applied pre-scrape against the targets from service discovery. # Before the scrape, any remaining target labels that start with `__` (i.e. `__meta_kubernetes*`) are dropped. # ([docs](https://grafana.com/docs/alloy/latest/reference/components/discovery/discovery.relabel/#rule-block)) # @section -- Kube Proxy extraDiscoveryRules: "" # -- Rule blocks to be added to the prometheus.relabel component for the Kube Proxy. # These relabeling rules are applied post-scrape against the metrics returned from the scraped target, no `__meta*` labels are present. # ([docs](https://grafana.com/docs/alloy/latest/reference/components/prometheus/prometheus.relabel/#rule-block)) # @section -- Kube Proxy extraMetricProcessingRules: "" # Adjustments to the scraped metrics to filter the amount of data sent to storage. metricsTuning: # -- Metrics to keep. Can use regular expressions. An empty list means keep all. # @section -- Kube Proxy includeMetrics: [] # -- Metrics to drop. Can use regular expressions. # @section -- Kube Proxy excludeMetrics: [] # -- Sets the max_cache_size for the Kube Proxy prometheus.relabel component. # This should be at least 2x-5x your largest scrape target or samples appended rate. # ([docs](https://grafana.com/docs/alloy/latest/reference/components/prometheus/prometheus.relabel/#arguments)) # Overrides metrics.maxCacheSize # @raw # @section -- Kube Proxy maxCacheSize: # Metrics from the Kube Scheduler kubeScheduler: # -- (bool) Scrape metrics from the Kube Scheduler # @default -- `false` # @section -- Kube Scheduler enabled: # -- The value for the job label. # @section -- Kube Scheduler jobLabel: "kube-scheduler" # -- Selector label. # @section -- Kube Scheduler selectorLabel: "component=kube-scheduler" # -- Port number used by the Kube Scheduler, set by `--secure-port`. # @section -- Kube Scheduler port: 10259 # -- How frequently to scrape metrics from the Kube Scheduler # Overrides metrics.scrapeInterval # @default -- 60s # @section -- Kube Scheduler scrapeInterval: "" # -- Rule blocks to be added to the discovery.relabel component for the Kube Scheduler. # These relabeling rules are applied pre-scrape against the targets from service discovery. # Before the scrape, any remaining target labels that start with `__` (i.e. `__meta_kubernetes*`) are dropped. # ([docs](https://grafana.com/docs/alloy/latest/reference/components/discovery/discovery.relabel/#rule-block)) # @section -- Kube Scheduler extraDiscoveryRules: "" # -- Rule blocks to be added to the prometheus.relabel component for the Kube Scheduler. # These relabeling rules are applied post-scrape against the metrics returned from the scraped target, no `__meta*` labels are present. # ([docs](https://grafana.com/docs/alloy/latest/reference/components/prometheus/prometheus.relabel/#rule-block)) # @section -- Kube Scheduler extraMetricProcessingRules: "" # Adjustments to the scraped metrics to filter the amount of data sent to storage. metricsTuning: # -- Metrics to keep. Can use regular expressions. An empty list means keep all. # @section -- Kube Scheduler includeMetrics: [] # -- Metrics to drop. Can use regular expressions. # @section -- Kube Scheduler excludeMetrics: [] # -- Sets the max_cache_size for the Kube Scheduler prometheus.relabel component. # This should be at least 2x-5x your largest scrape target or samples appended rate. # ([docs](https://grafana.com/docs/alloy/latest/reference/components/prometheus/prometheus.relabel/#arguments)) # Overrides metrics.maxCacheSize # @raw # @section -- Kube Scheduler maxCacheSize: # # Metric sources from additional systems # # kube-state-metrics metrics gather information about Kubernetes resources. kube-state-metrics: # -- Scrape metrics from kube-state-metrics. # @section -- kube-state-metrics enabled: true # -- How to discover the kube-state-metrics service. Either `endpoints` or `pod`. # @section -- kube-state-metrics discoveryType: endpoints # -- Labels used to select the kube-state-metrics service. # @section -- kube-state-metrics labelMatchers: app.kubernetes.io/name: kube-state-metrics # -- Namespace to locate kube-state-metrics pods. If `deploy` is set to `true`, this will automatically be set to the # namespace where this Helm chart is deployed. # @section -- kube-state-metrics namespace: "" # -- List (or comma-separated string) of namespaces to be enabled for collecting resources. By default, all namespaces # are collected. Requires kube-state-metrics to be deployed by this chart. # @section -- kube-state-metrics namespaces: [] # -- List (or comma-separated string) of namespaces to be excluded from collecting resources. If namespaces and # namespaces denylist are both set, only namespaces that are excluded in namespaces denylist will be used. # Requires kube-state-metrics to be deployed by this chart. # @section -- kube-state-metrics namespacesDenylist: [] # -- Rule blocks to be added to the discovery.relabel component for kube-state-metrics. # These relabeling rules are applied pre-scrape against the targets from service discovery. # Before the scrape, any remaining target labels that start with __ (i.e. __meta_kubernetes*) are dropped. # ([docs](https://grafana.com/docs/alloy/latest/reference/components/discovery/discovery.relabel/#rule-block)) # @section -- kube-state-metrics extraDiscoveryRules: "" # -- The value for the job label. # @section -- kube-state-metrics jobLabel: "integrations/kubernetes/kube-state-metrics" # -- Rule blocks to be added to the prometheus.relabel component for kube-state-metrics metrics. # These relabeling rules are applied post-scrape against the metrics returned from the scraped target, no `__meta*` labels are present. # ([docs](https://grafana.com/docs/alloy/latest/reference/components/prometheus/prometheus.relabel/#rule-block)) # @section -- kube-state-metrics extraMetricProcessingRules: "" # Adjustments to the scraped metrics to filter the amount of data sent to storage. metricsTuning: # -- Filter the list of metrics from Kube State Metrics to a useful, minimal set. # @section -- kube-state-metrics useDefaultAllowList: true # -- Metrics to keep. Can use regular expressions. # @section -- kube-state-metrics includeMetrics: [] # -- Metrics to drop. Can use regular expressions. # @section -- kube-state-metrics excludeMetrics: [] # -- How frequently to scrape kube-state-metrics metrics. # @default -- `60s` # @section -- kube-state-metrics scrapeInterval: "" # kube-state-metrics service settings service: # -- The scrape scheme used by kube-state-metrics. # @section -- kube-state-metrics scheme: http # -- The port name used by kube-state-metrics. # @section -- kube-state-metrics portName: http # -- The bearer token file to use when scraping metrics from kube-state-metrics. # @section -- kube-state-metrics bearerTokenFile: "" # -- Sets the max_cache_size for the kube-state-metrics prometheus.relabel component. # This should be at least 2x-5x your largest scrape target or samples appended rate. # ([docs](https://grafana.com/docs/alloy/latest/reference/components/prometheus/prometheus.relabel/#arguments)) # Overrides global.maxCacheSize # @default -- `100000` # @section -- kube-state-metrics maxCacheSize: # -- Deploy kube-state-metrics. Set to false if your cluster already has kube-state-metrics deployed. # @section -- kube-state-metrics deploy: true # -- `kube__labels` metrics to generate. # The default is to include a useful set for Node labels. # @section -- kube-state-metrics metricLabelsAllowlist: - nodes=[agentpool,alpha.eksctl.io/cluster-name,alpha.eksctl.io/nodegroup-name,beta.kubernetes.io/instance-type,cloud.google.com/gke-nodepool,cluster-name,ec2.amazonaws.com/Name,ec2.amazonaws.com/aws-autoscaling-groupName,ec2.amazonaws.com/aws-autoscaling-group-name,ec2.amazonaws.com/name,eks.amazonaws.com/nodegroup,k8s.io/cloud-provider-aws,karpenter.sh/nodepool,kubernetes.azure.com/cluster,kubernetes.io/arch,kubernetes.io/hostname,kubernetes.io/os,node.kubernetes.io/instance-type,topology.kubernetes.io/region,topology.kubernetes.io/zone] # @ignored nodeSelector: kubernetes.io/os: linux # @ignored podAnnotations: k8s.grafana.com/logs.job: integrations/kubernetes/kube-state-metrics # @ignored - Enable the release label releaseLabel: true # @ignored - Disable autosharding autosharding: enabled: false # @ignored - Recreate on update, eliminates the potential for duplicate metrics updateStrategy: Recreate # @ignored - Disable prometheus.io/scrape annotation prometheusScrape: false # Node Exporter metrics gathers hardware information about Linux nodes. node-exporter: # -- Scrape metrics from Node Exporter. # @section -- Node Exporter enabled: true # -- Labels used to select the Node Exporter pods. # @section -- Node Exporter labelMatchers: app.kubernetes.io/name: node-exporter # -- Namespace to locate Node Exporter pods. If `deploy` is set to `true`, this will automatically be set to the # namespace where this Helm chart is deployed. # @section -- Node Exporter namespace: "" # -- Rule blocks to be added to the discovery.relabel component for Node Exporter. # These relabeling rules are applied pre-scrape against the targets from service discovery. # Before the scrape, any remaining target labels that start with __ (i.e. __meta_kubernetes*) are dropped. # ([docs](https://grafana.com/docs/alloy/latest/reference/components/discovery/discovery.relabel/#rule-block)) # @section -- Node Exporter extraDiscoveryRules: "" # -- The value for the job label. # @section -- Node Exporter jobLabel: "integrations/node_exporter" # -- Rule blocks to be added to the prometheus.relabel component for Node Exporter metrics. # These relabeling rules are applied post-scrape against the metrics returned from the scraped target, no `__meta*` labels are present. # ([docs](https://grafana.com/docs/alloy/latest/reference/components/prometheus/prometheus.relabel/#rule-block)) # @section -- Node Exporter extraMetricProcessingRules: "" # Adjustments to the scraped metrics to filter the amount of data sent to storage. metricsTuning: # -- Filter the list of metrics from Node Exporter to the minimal set required for Kubernetes Monitoring. # @section -- Node Exporter useDefaultAllowList: true # -- Filter the list of metrics from Node Exporter to the minimal set required for Kubernetes Monitoring as well as the Node Exporter integration. # @section -- Node Exporter useIntegrationAllowList: false # -- Metrics to keep. Can use regular expressions. # @section -- Node Exporter includeMetrics: [] # -- Metrics to drop. Can use regular expressions. # @section -- Node Exporter excludeMetrics: [] # -- Drop metrics for the given filesystem types # @section -- Node Exporter dropMetricsForFilesystem: [ramfs, tmpfs] # -- How frequently to scrape Node Exporter metrics. # @default -- `60s` # @section -- Node Exporter scrapeInterval: "" # Node Exporter service settings service: # -- The scrape scheme used by Node Exporter. # @section -- Node Exporter scheme: http # -- The port name used by Node Exporter. # @section -- Node Exporter portName: metrics # Disable the prometheus.io/scrape annotation # @ignored annotations: prometheus.io/scrape: "false" # -- The bearer token file to use when scraping metrics from Node Exporter. # @section -- Node Exporter bearerTokenFile: "" # -- Sets the max_cache_size for the Node Exporter prometheus.relabel component. # This should be at least 2x-5x your largest scrape target or samples appended rate. # ([docs](https://grafana.com/docs/alloy/latest/reference/components/prometheus/prometheus.relabel/#arguments)) # Overrides global.maxCacheSize # @default -- `100000` # @section -- Node Exporter maxCacheSize: # -- Deploy Node Exporter. Set to false if your cluster already has Node Exporter deployed. # @section -- Node Exporter deploy: true # @ignored nodeSelector: kubernetes.io/os: linux # @ignored affinity: nodeAffinity: requiredDuringSchedulingIgnoredDuringExecution: nodeSelectorTerms: - matchExpressions: - key: eks.amazonaws.com/compute-type operator: NotIn values: [fargate] # @ignored - Enable the release label releaseLabel: true # @ignored podAnnotations: k8s.grafana.com/logs.job: integrations/node_exporter # Windows Exporter metrics gathers hardware information about Windows nodes. windows-exporter: # -- Scrape node metrics # @section -- Windows Exporter enabled: true # -- Labels used to select the Windows Exporter pods. # @section -- Windows Exporter labelMatchers: app.kubernetes.io/name: windows-exporter # -- Namespace to locate Windows Exporter pods. If `deploy` is set to `true`, this will automatically be set to the # namespace where this Helm chart is deployed. # @section -- Windows Exporter namespace: "" # -- Rule blocks to be added to the discovery.relabel component for Windows Exporter. # These relabeling rules are applied pre-scrape against the targets from service discovery. # Before the scrape, any remaining target labels that start with __ (i.e. __meta_kubernetes*) are dropped. # ([docs](https://grafana.com/docs/alloy/latest/reference/components/discovery/discovery.relabel/#rule-block)) # @section -- Windows Exporter extraDiscoveryRules: "" # -- The value for the job label. # @section -- Windows Exporter jobLabel: "integrations/windows-exporter" # -- Rule blocks to be added to the prometheus.relabel component for Windows Exporter metrics. # These relabeling rules are applied post-scrape against the metrics returned from the scraped target, no `__meta*` labels are present. # ([docs](https://grafana.com/docs/alloy/latest/reference/components/prometheus/prometheus.relabel/#rule-block)) # @section -- Windows Exporter extraMetricProcessingRules: "" # Adjustments to the scraped metrics to filter the amount of data sent to storage. metricsTuning: # -- Filter the list of metrics from Windows Exporter to the minimal set required for Kubernetes Monitoring. # @section -- Windows Exporter useDefaultAllowList: true # -- Metrics to keep. Can use regular expressions. # @section -- Windows Exporter includeMetrics: [] # -- Metrics to drop. Can use regular expressions. # @section -- Windows Exporter excludeMetrics: [] # -- How frequently to scrape metrics from Windows Exporter. # @default -- `60s` # @section -- Windows Exporter scrapeInterval: "" # -- Sets the max_cache_size for the Windows Exporter prometheus.relabel component. # This should be at least 2x-5x your largest scrape target or samples appended rate. # ([docs](https://grafana.com/docs/alloy/latest/reference/components/prometheus/prometheus.relabel/#arguments)) # Overrides global.maxCacheSize # @default -- `100000` # @section -- Windows Exporter maxCacheSize: # -- Deploy Windows Exporter. Set to false if your cluster already has Windows Exporter deployed. # @section -- Windows Exporter - Deployment settings deploy: true # -- Windows Exporter configuration # @ignored config: |- collectors: enabled: cpu,cs,container,logical_disk,memory,net,os collector: service: services-where: "Name='containerd' or Name='kubelet'" # @ignored - Enable the release label releaseLabel: true # @ignored - Set annotation to override the job label podAnnotations: k8s.grafana.com/logs.job: integrations/windows_exporter # Kepler gathers energy metrics for the Kubernetes Cluster and the objects running inside. kepler: # -- Deploy and scrape Kepler metrics. # @section -- Kepler enabled: false # -- Label matchers used to select the Kepler pods # @section -- Kepler labelMatchers: app.kubernetes.io/name: kepler # -- Rule blocks to be added to the discovery.relabel component for Kepler. # These relabeling rules are applied pre-scrape against the targets from service discovery. # Before the scrape, any remaining target labels that start with __ (i.e. __meta_kubernetes*) are dropped. # ([docs](https://grafana.com/docs/alloy/latest/reference/components/discovery/discovery.relabel/#rule-block)) # @section -- Kepler extraDiscoveryRules: "" # -- The value for the job label. # @section -- Kepler jobLabel: "integrations/kepler" # -- Rule blocks to be added to the prometheus.relabel component for Kepler. ([docs](https://grafana.com/docs/alloy/latest/reference/components/prometheus/prometheus.relabel/#rule-block)) # These relabeling rules are applied post-scrape against the metrics returned from the scraped target, no __meta* labels are present. # @section -- Kepler extraMetricProcessingRules: "" # Adjustments to the scraped metrics to filter the amount of data sent to storage. # @section -- Kepler metricsTuning: # -- Filter the list of metrics from Kepler to the minimal set required for Kubernetes Monitoring. # @section -- Kepler useDefaultAllowList: true # -- Metrics to keep. Can use regular expressions. # @section -- Kepler includeMetrics: [] # -- Metrics to drop. Can use regular expressions. # @section -- Kepler excludeMetrics: [] # -- How frequently to scrape metrics from Kepler. # Overrides global.scrapeInterval. # @default -- `60s` # @section -- Kepler scrapeInterval: "" # -- Sets the max_cache_size for the prometheus.relabel component for Kepler. # This should be at least 2x-5x your largest scrape target or samples appended rate. # ([docs](https://grafana.com/docs/alloy/latest/reference/components/prometheus/prometheus.relabel/#arguments)) # Overrides global.maxCacheSize # @default -- `100000` # @section -- Kepler maxCacheSize: # @ignored -- Don't mount /usr/src canMount: usrSrc: false # @ignored -- Include idle power metric estimation. extraEnvVars: EXPOSE_ESTIMATED_IDLE_POWER_METRICS: "true" # @ignored -- Do not deploy Kepler on EKS Fargate nodes affinity: nodeAffinity: requiredDuringSchedulingIgnoredDuringExecution: nodeSelectorTerms: - matchExpressions: - key: eks.amazonaws.com/compute-type operator: NotIn values: [fargate] # @ignored podAnnotations: k8s.grafana.com/logs.job: integrations/kepler # OpenCost gathers cost metrics for the Kubernetes Cluster and the objects running inside. opencost: # -- Deploy and scrape OpenCost. # @section -- OpenCost enabled: false # -- The name of the metric destination where OpenCost will query for required metrics. Setting this will enable # guided setup for required OpenCost parameters. To skip guided setup, set this to "custom". # @section -- OpenCost metricsSource: "" # -- Label matchers used to select the OpenCost service # @section -- OpenCost labelMatchers: app.kubernetes.io/name: opencost # -- Rule blocks to be added to the discovery.relabel component for OpenCost. # These relabeling rules are applied pre-scrape against the targets from service discovery. # Before the scrape, any remaining target labels that start with __ (i.e. __meta_kubernetes*) are dropped. # ([docs](https://grafana.com/docs/alloy/latest/reference/components/discovery/discovery.relabel/#rule-block)) # @section -- OpenCost extraDiscoveryRules: "" # -- The value for the job label. # @section -- OpenCost jobLabel: "integrations/opencost" # -- Rule blocks to be added to the prometheus.relabel component for OpenCost. ([docs](https://grafana.com/docs/alloy/latest/reference/components/prometheus/prometheus.relabel/#rule-block)) # These relabeling rules are applied post-scrape against the metrics returned from the scraped target, no __meta* labels are present. # @section -- OpenCost extraMetricProcessingRules: "" # Adjustments to the scraped metrics to filter the amount of data sent to storage. # @section -- OpenCost metricsTuning: # -- Filter the list of metrics from OpenCost to the minimal set required for Kubernetes Monitoring. # @section -- OpenCost useDefaultAllowList: true # -- Metrics to keep. Can use regular expressions. # @section -- OpenCost includeMetrics: [] # -- Metrics to drop. Can use regular expressions. # @section -- OpenCost excludeMetrics: [] # -- How frequently to scrape metrics from Kepler. # Overrides global.scrapeInterval. # @default -- `60s` # @section -- OpenCost scrapeInterval: "" # -- Sets the max_cache_size for the prometheus.relabel component for OpenCost. # This should be at least 2x-5x your largest scrape target or samples appended rate. # ([docs](https://grafana.com/docs/alloy/latest/reference/components/prometheus/prometheus.relabel/#arguments)) # Overrides global.maxCacheSize # @default -- `100000` # @section -- OpenCost maxCacheSize: opencost: # @ignored -- This skips including these values in README.md exporter: # -- Default cluster ID to use if cluster is not set in Prometheus metrics. It should match cluster.name. # @section -- OpenCost defaultClusterId: "default-cluster" extraEnv: # -- Trial API Key used only with GCP. # See https://www.opencost.io/docs/configuration/gcp-opencost for how to set for your environment # @section -- Deployment: [OpenCost](https://github.com/opencost/opencost-helm-chart) CLOUD_PROVIDER_API_KEY: AIzaSyD29bGxmHAVEOBYtgd8sYM2gM2ekfxQX4U CURRENT_CLUSTER_ID_FILTER_ENABLED: "true" PROM_CLUSTER_ID_LABEL: cluster # @ignored -- This skips including these values in README.md carbonCost: enabled: false # @ignored -- This skips including these values in README.md cloudCost: enabled: false # @ignored -- This skips including these values in README.md metrics: kubeStateMetrics: emitKsmV1Metrics: false emitKsmV1MetricsOnly: true prometheus: # -- The name of the secret containing the username and password for the metrics service. This must be in the same namespace as the OpenCost deployment. # @section -- OpenCost existingSecretName: "" # -- The key for the username property in the secret. # @section -- OpenCost username_key: username # -- The key for the password property in the secret. # @section -- OpenCost password_key: password external: # @ignored -- This skips including these values in README.md enabled: true # -- The URL for Prometheus queries. It should match externalServices.prometheus.host + "/api/prom" # @section -- OpenCost url: "" # @ignored -- This skips including these values in README.md internal: enabled: false # @ignored -- This skips including these values in README.md ui: enabled: false # @ignored -- This skips including these values in README.md nodeSelector: kubernetes.io/os: linux # @ignored -- This skips including these values in README.md tolerations: - key: "kubernetes.io/arch" operator: "Equal" value: "arm64" effect: "NoSchedule" # @ignore deployAsConfigMap: false