update prometheus
This commit is contained in:
@@ -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,19 +115,55 @@ local kp = (import 'kube-prometheus/main.libsonnet') + {
|
|||||||
};
|
};
|
||||||
|
|
||||||
// Assemble all manifests (kube-prometheus stack components)
|
// Assemble all manifests (kube-prometheus stack components)
|
||||||
{ 'setup/0namespace-namespace': kp.kubePrometheus.namespace } +
|
local manifests =
|
||||||
{ ['setup/prometheus-operator-' + name]: kp.prometheusOperator[name]
|
{ 'setup/0namespace-namespace': kp.kubePrometheus.namespace } +
|
||||||
for name in std.filter(function(name) name != 'serviceMonitor' && name != 'prometheusRule',
|
{ ['setup/prometheus-operator-' + name]: kp.prometheusOperator[name]
|
||||||
std.objectFields(kp.prometheusOperator)) } +
|
for name in std.filter(function(name) name != 'serviceMonitor' && name != 'prometheusRule',
|
||||||
{ 'prometheus-operator-serviceMonitor': kp.prometheusOperator.serviceMonitor } +
|
std.objectFields(kp.prometheusOperator)) } +
|
||||||
{ 'prometheus-operator-prometheusRule': kp.prometheusOperator.prometheusRule } +
|
{ 'prometheus-operator-serviceMonitor': kp.prometheusOperator.serviceMonitor } +
|
||||||
{ 'kube-prometheus-prometheusRule': kp.kubePrometheus.prometheusRule } +
|
{ 'prometheus-operator-prometheusRule': kp.prometheusOperator.prometheusRule } +
|
||||||
{ ['alertmanager-' + name]: kp.alertmanager[name] for name in std.objectFields(kp.alertmanager) } +
|
{ 'kube-prometheus-prometheusRule': kp.kubePrometheus.prometheusRule } +
|
||||||
{ ['blackbox-exporter-' + name]: kp.blackboxExporter[name] for name in std.objectFields(kp.blackboxExporter) } +
|
{ ['alertmanager-' + name]: kp.alertmanager[name] for name in std.objectFields(kp.alertmanager) } +
|
||||||
// { ['grafana-' + name]: kp.grafana[name] for name in std.objectFields(kp.grafana) } + // Grafana disabled
|
{ ['blackbox-exporter-' + name]: kp.blackboxExporter[name] for name in std.objectFields(kp.blackboxExporter) } +
|
||||||
{ ['kube-state-metrics-' + name]: kp.kubeStateMetrics[name] for name in std.objectFields(kp.kubeStateMetrics) } +
|
// { ['grafana-' + name]: kp.grafana[name] for name in std.objectFields(kp.grafana) } + // Grafana disabled
|
||||||
{ ['kubernetes-' + name]: kp.kubernetesControlPlane[name] for name in std.objectFields(kp.kubernetesControlPlane) } +
|
{ ['kube-state-metrics-' + name]: kp.kubeStateMetrics[name] for name in std.objectFields(kp.kubeStateMetrics) } +
|
||||||
{ ['node-exporter-' + name]: kp.nodeExporter[name] for name in std.objectFields(kp.nodeExporter) } +
|
{ ['kubernetes-' + name]: kp.kubernetesControlPlane[name] for name in std.objectFields(kp.kubernetesControlPlane) } +
|
||||||
{ ['prometheus-' + name]: kp.prometheus[name] for name in std.objectFields(kp.prometheus) } +
|
{ ['node-exporter-' + name]: kp.nodeExporter[name] for name in std.objectFields(kp.nodeExporter) } +
|
||||||
{ ['prometheus-adapter-' + name]: kp.prometheusAdapter[name] for name in std.objectFields(kp.prometheusAdapter) } +
|
{ ['prometheus-' + name]: kp.prometheus[name] for name in std.objectFields(kp.prometheus) } +
|
||||||
{ [name + '-ingress']: kp.ingress[name] for name in std.objectFields(kp.ingress) }
|
{ ['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) } +
|
||||||
|
|
||||||
|
// 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
|
||||||
@@ -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
|
||||||
Reference in New Issue
Block a user