update prometheus

This commit is contained in:
2025-03-30 20:32:32 +02:00
parent 1c41afde20
commit 9291ca3249
2 changed files with 73 additions and 16 deletions

View File

@@ -24,6 +24,9 @@ local kp = (import 'kube-prometheus/main.libsonnet') + {
},
},
},
// You may try enabling selfMonitor here if you want the built-in option,
// but as noted it doesn't work reliably:
// selfMonitor: { enabled: true },
},
},
},
@@ -112,6 +115,7 @@ local kp = (import 'kube-prometheus/main.libsonnet') + {
};
// Assemble all manifests (kube-prometheus stack components)
local manifests =
{ 'setup/0namespace-namespace': kp.kubePrometheus.namespace } +
{ ['setup/prometheus-operator-' + name]: kp.prometheusOperator[name]
for name in std.filter(function(name) name != 'serviceMonitor' && name != 'prometheusRule',
@@ -127,4 +131,39 @@ local kp = (import 'kube-prometheus/main.libsonnet') + {
{ ['node-exporter-' + name]: kp.nodeExporter[name] for name in std.objectFields(kp.nodeExporter) } +
{ ['prometheus-' + name]: kp.prometheus[name] for name in std.objectFields(kp.prometheus) } +
{ ['prometheus-adapter-' + name]: kp.prometheusAdapter[name] for name in std.objectFields(kp.prometheusAdapter) } +
{ [name + '-ingress']: kp.ingress[name] for name in std.objectFields(kp.ingress) }
{ [name + '-ingress']: kp.ingress[name] for name in std.objectFields(kp.ingress) } +
// Add an explicit ServiceMonitor for Prometheus to scrape its own metrics
{ ['prometheus-self-servicemonitor']:
{
apiVersion: 'monitoring.coreos.com/v1',
kind: 'ServiceMonitor',
metadata: {
name: 'prometheus',
namespace: kp.values.common.namespace,
labels: {
job: 'prometheus',
},
},
spec: {
jobLabel: 'prometheus',
selector: {
// This selector must match the labels on the Prometheus service.
// Adjust as necessary if your service uses a different label.
matchLabels: {
prometheus: 'prometheus-k8s',
},
},
endpoints: [{
port: 'web',
interval: '30s',
scheme: 'https',
tlsConfig: {
insecureSkipVerify: true,
},
}],
},
}
};
manifests

View File

@@ -0,0 +1,18 @@
apiVersion: monitoring.coreos.com/v1
kind: ServiceMonitor
metadata:
labels:
job: prometheus
name: prometheus
namespace: monitoring
spec:
endpoints:
- interval: 30s
port: web
scheme: https
tlsConfig:
insecureSkipVerify: true
jobLabel: prometheus
selector:
matchLabels:
prometheus: prometheus-k8s