| .. | ||
| charts | ||
| templates | ||
| tests | ||
| .ct.yaml | ||
| .helmignore | ||
| Chart.lock | ||
| Chart.yaml | ||
| Makefile | ||
| README.md | ||
| README.md.gotmpl | ||
| values.schema.json | ||
| values.yaml | ||
feature-prometheus-operator-objects
Gathers metrics using Prometheus Operator Objects
The Prometheus Operator Objects feature enables the discovery, processing, and utilization of certain Prometheus Operator objects. Currently, this feature supports the following objects:
| Object Type | Description |
|---|---|
| ServiceMonitor | A ServiceMonitor defines how to scrape metrics from Kubernetes Services. |
| PodMonitor | A PodMonitor defines how to scrape metrics from Kubernetes Pods. |
| Probe | A Probe defines how to scrape metrics from prober exporters. |
Testing
This chart contains unit tests to verify the generated configuration. The hidden value deployAsConfigMap will render
the generated configuration into a ConfigMap object. While this ConfigMap is not used during regular operation, you can
use it to show the outcome of a given values file.
The unit tests use this ConfigMap to create an object with the configuration that can be asserted against. To run the
tests, use helm test.
Be sure perform actual integration testing in a live environment in the main k8s-monitoring chart.
Maintainers
| Name | Url | |
|---|---|---|
| petewall | pete.wall@grafana.com |
Source Code
Requirements
| Repository | Name | Version |
|---|---|---|
| https://prometheus-community.github.io/helm-charts | crds(prometheus-operator-crds) | 19.1.0 |
Values
CRDs
| Key | Type | Default | Description |
|---|---|---|---|
| crds.deploy | bool | false |
Deploy the Prometheus Operator CRDs. |
General settings
| Key | Type | Default | Description |
|---|---|---|---|
| fullnameOverride | string | "" |
Full name override |
| nameOverride | string | "" |
Name override |
Global Settings
| Key | Type | Default | Description |
|---|---|---|---|
| global.maxCacheSize | int | 100000 |
Sets the max_cache_size for every prometheus.relabel component. (docs) This should be at least 2x-5x your largest scrape target or samples appended rate. |
| global.scrapeInterval | string | "60s" |
How frequently to scrape metrics. |
PodMonitors
| Key | Type | Default | Description |
|---|---|---|---|
| podMonitors.enabled | bool | true |
Enable discovery of Prometheus Operator PodMonitor objects. |
| podMonitors.excludeNamespaces | list | [] |
Which namespaces to not look for PodMonitor objects. |
| podMonitors.extraDiscoveryRules | string | "" |
Rule blocks to be added to the prometheus.operator.podmonitors component for PodMonitors. These relabeling rules are applied pre-scrape against the targets from service discovery. The relabelings defined in the PodMonitor object are applied first, then these relabelings are applied. Before the scrape, any remaining target labels that start with __ (i.e. __meta_kubernetes*) are dropped. (docs) |
| podMonitors.extraMetricProcessingRules | string | "" |
Rule blocks to be added to the prometheus.relabel component for PodMonitor objects. These relabeling rules are applied post-scrape against the metrics returned from the scraped target, no __meta* labels are present. (docs) |
| podMonitors.labelExpressions | list | [] |
Complex label selectors to filter which PodMonitor objects to use. Example: [{key: "app.kubernetes.io/name", operator: "NotIn", values: ["secret-app", "admin-app"]}] |
| podMonitors.labelSelectors | object | {} |
Label selectors to filter which PodMonitor objects to use. Example: app.kubernetes.io/name: my-app |
| podMonitors.maxCacheSize | string | nil |
Sets the max_cache_size for cadvisor prometheus.relabel component. This should be at least 2x-5x your largest scrape target or samples appended rate. (docs) Overrides global.maxCacheSize |
| podMonitors.metricsTuning.excludeMetrics | list | [] |
Metrics to drop. Can use regular expressions. |
| podMonitors.metricsTuning.includeMetrics | list | [] |
Metrics to keep. Can use regular expressions. |
| podMonitors.namespaces | list | [] |
Which namespaces to look for PodMonitor objects. |
| podMonitors.scrapeInterval | string | 60s | How frequently to scrape metrics from PodMonitor objects. Only used if the PodMonitor does not specify the scrape interval. Overrides global.scrapeInterval |
Probes
| Key | Type | Default | Description |
|---|---|---|---|
| probes.enabled | bool | true |
Enable discovery of Prometheus Operator Probe objects. |
| probes.excludeNamespaces | list | [] |
Which namespaces to not look for Probe objects. |
| probes.extraDiscoveryRules | string | "" |
Rule blocks to be added to the prometheus.operator.probes component for Probes. These relabeling rules are applied pre-scrape against the targets from service discovery. The relabelings defined in the PodMonitor object are applied first, then these relabelings are applied. Before the scrape, any remaining target labels that start with __ (i.e. __meta_kubernetes*) are dropped. (docs) |
| probes.extraMetricProcessingRules | string | "" |
Rule blocks to be added to the prometheus.relabel component for Probe objects. These relabeling rules are applied post-scrape against the metrics returned from the scraped target, no __meta* labels are present. (docs) |
| probes.labelExpressions | list | [] |
Complex label selectors to filter which Probe objects to use. Example: [{key: "app.kubernetes.io/name", operator: "NotIn", values: ["secret-app", "admin-app"]}] |
| probes.labelSelectors | object | {} |
Label selectors to filter which Probe objects to use. Example: app.kubernetes.io/name: my-app |
| probes.maxCacheSize | string | nil |
Sets the max_cache_size for cadvisor prometheus.relabel component. This should be at least 2x-5x your largest scrape target or samples appended rate. (docs) Overrides global.maxCacheSize |
| probes.metricsTuning.excludeMetrics | list | [] |
Metrics to drop. Can use regular expressions. |
| probes.metricsTuning.includeMetrics | list | [] |
Metrics to keep. Can use regular expressions. |
| probes.namespaces | list | [] |
Which namespaces to look for Probe objects. |
| probes.scrapeInterval | string | 60s | How frequently to scrape metrics from Probe objects. Only used if the Probe does not specify the scrape interval. Overrides global.scrapeInterval |
ServiceMonitors
| Key | Type | Default | Description |
|---|---|---|---|
| serviceMonitors.enabled | bool | true |
Enable discovery of Prometheus Operator ServiceMonitor objects. |
| serviceMonitors.excludeNamespaces | list | [] |
Which namespaces to not look for ServiceMonitor objects. |
| serviceMonitors.extraDiscoveryRules | string | "" |
Rule blocks to be added to the prometheus.operator.probes component for Probes. These relabeling rules are applied pre-scrape against the targets from service discovery. The relabelings defined in the PodMonitor object are applied first, then these relabelings are applied. Before the scrape, any remaining target labels that start with __ (i.e. __meta_kubernetes*) are dropped. (docs) |
| serviceMonitors.extraMetricProcessingRules | string | "" |
Rule blocks to be added to the prometheus.relabel component for ServiceMonitor objects. These relabeling rules are applied post-scrape against the metrics returned from the scraped target, no __meta* labels are present. (docs) |
| serviceMonitors.labelExpressions | list | [] |
Complex label selectors to filter which ServiceMonitor objects to use. Example: [{key: "app.kubernetes.io/name", operator: "NotIn", values: ["secret-app", "admin-app"]}] |
| serviceMonitors.labelSelectors | object | {} |
Label selectors to filter which ServiceMonitor objects to use. Example: app.kubernetes.io/name: my-app |
| serviceMonitors.maxCacheSize | string | nil |
Sets the max_cache_size for cadvisor prometheus.relabel component. This should be at least 2x-5x your largest scrape target or samples appended rate. (docs) Overrides global.maxCacheSize |
| serviceMonitors.metricsTuning.excludeMetrics | list | [] |
Metrics to drop. Can use regular expressions. |
| serviceMonitors.metricsTuning.includeMetrics | list | [] |
Metrics to keep. Can use regular expressions. |
| serviceMonitors.namespaces | list | [] |
Which namespaces to look for ServiceMonitor objects. |
| serviceMonitors.scrapeInterval | string | 60s | How frequently to scrape metrics from ServiceMonitor objects. Only used if the ServiceMonitor does not specify the scrape interval. Overrides global.scrapeInterval |