prometheus-adapter: add prefix option to config for container metrics (#1844)
This commit adds the options `containerMetricsPrefix` to the prometheus-adapter config-map generator. By default this option is the empty string and doesn't change the current behavior. If set however to e.g. `pa_`, the prometheus-adapter configuration will add this prefix to all container_ queries in the resource rules. This enables users of kube-prometheus to define a specialised service monitor, that only expose the prometheus-adapter related container metrics with a different configuration, like `honorTimestamps: true` or a tighter scrape interval. Signed-off-by: Jan Fajerski <jfajersk@redhat.com>
This commit is contained in:
@@ -31,6 +31,7 @@ local defaults = {
|
|||||||
nodeExporter: '4m',
|
nodeExporter: '4m',
|
||||||
windowsExporter: '4m',
|
windowsExporter: '4m',
|
||||||
},
|
},
|
||||||
|
containerMetricsPrefix:: '',
|
||||||
|
|
||||||
prometheusURL:: error 'must provide prometheusURL',
|
prometheusURL:: error 'must provide prometheusURL',
|
||||||
config:: {
|
config:: {
|
||||||
@@ -39,10 +40,10 @@ local defaults = {
|
|||||||
containerQuery: |||
|
containerQuery: |||
|
||||||
sum by (<<.GroupBy>>) (
|
sum by (<<.GroupBy>>) (
|
||||||
irate (
|
irate (
|
||||||
container_cpu_usage_seconds_total{<<.LabelMatchers>>,container!="",pod!=""}[%(kubelet)s]
|
%(containerMetricsPrefix)scontainer_cpu_usage_seconds_total{<<.LabelMatchers>>,container!="",pod!=""}[%(kubelet)s]
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
||| % $.rangeIntervals,
|
||| % { kubelet: $.rangeIntervals.kubelet, containerMetricsPrefix: $.containerMetricsPrefix },
|
||||||
nodeQuery: |||
|
nodeQuery: |||
|
||||||
sum by (<<.GroupBy>>) (
|
sum by (<<.GroupBy>>) (
|
||||||
1 - irate(
|
1 - irate(
|
||||||
@@ -57,7 +58,7 @@ local defaults = {
|
|||||||
windows_cpu_time_total{mode="idle", job="windows-exporter",<<.LabelMatchers>>}[%(windowsExporter)s]
|
windows_cpu_time_total{mode="idle", job="windows-exporter",<<.LabelMatchers>>}[%(windowsExporter)s]
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
||| % $.rangeIntervals,
|
||| % { nodeExporter: $.rangeIntervals.nodeExporter, windowsExporter: $.rangeIntervals.windowsExporter, containerMetricsPrefix: $.containerMetricsPrefix },
|
||||||
resources: {
|
resources: {
|
||||||
overrides: {
|
overrides: {
|
||||||
node: { resource: 'node' },
|
node: { resource: 'node' },
|
||||||
@@ -70,9 +71,9 @@ local defaults = {
|
|||||||
memory: {
|
memory: {
|
||||||
containerQuery: |||
|
containerQuery: |||
|
||||||
sum by (<<.GroupBy>>) (
|
sum by (<<.GroupBy>>) (
|
||||||
container_memory_working_set_bytes{<<.LabelMatchers>>,container!="",pod!=""}
|
%(containerMetricsPrefix)scontainer_memory_working_set_bytes{<<.LabelMatchers>>,container!="",pod!=""}
|
||||||
)
|
)
|
||||||
|||,
|
||| % { containerMetricsPrefix: $.containerMetricsPrefix },
|
||||||
nodeQuery: |||
|
nodeQuery: |||
|
||||||
sum by (<<.GroupBy>>) (
|
sum by (<<.GroupBy>>) (
|
||||||
node_memory_MemTotal_bytes{job="node-exporter",<<.LabelMatchers>>}
|
node_memory_MemTotal_bytes{job="node-exporter",<<.LabelMatchers>>}
|
||||||
@@ -84,7 +85,7 @@ local defaults = {
|
|||||||
-
|
-
|
||||||
windows_memory_available_bytes{job="windows-exporter",<<.LabelMatchers>>}
|
windows_memory_available_bytes{job="windows-exporter",<<.LabelMatchers>>}
|
||||||
)
|
)
|
||||||
|||,
|
||| % { containerMetricsPrefix: $.containerMetricsPrefix },
|
||||||
resources: {
|
resources: {
|
||||||
overrides: {
|
overrides: {
|
||||||
instance: { resource: 'node' },
|
instance: { resource: 'node' },
|
||||||
|
|||||||
Reference in New Issue
Block a user