new config for monitoring
This commit is contained in:
parent
3f53cd52f5
commit
d858475d3b
1
.gitignore
vendored
1
.gitignore
vendored
|
@ -1 +1,2 @@
|
||||||
age.agekey
|
age.agekey
|
||||||
|
system/monitoring/manifests/
|
23
system/monitoring/build.sh
Executable file
23
system/monitoring/build.sh
Executable file
|
@ -0,0 +1,23 @@
|
||||||
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
# This script uses arg $1 (name of *.jsonnet file to use) to generate the manifests/*.yaml files.
|
||||||
|
|
||||||
|
set -e
|
||||||
|
set -x
|
||||||
|
# only exit with zero if all commands of the pipeline exit successfully
|
||||||
|
set -o pipefail
|
||||||
|
|
||||||
|
# Make sure to use project tooling
|
||||||
|
PATH="$(pwd)/tmp/bin:${PATH}"
|
||||||
|
|
||||||
|
# Make sure to start with a clean 'manifests' dir
|
||||||
|
rm -rf manifests
|
||||||
|
mkdir -p manifests/setup
|
||||||
|
|
||||||
|
# Calling gojsontoyaml is optional, but we would like to generate yaml, not json
|
||||||
|
jsonnet -J vendor -m manifests "${1-example.jsonnet}" | xargs -I{} sh -c 'cat {} | gojsontoyaml > {}.yaml' -- {}
|
||||||
|
|
||||||
|
# Make sure to remove json files
|
||||||
|
find manifests -type f ! -name '*.yaml' -delete
|
||||||
|
rm -f kustomization
|
||||||
|
|
|
@ -1,16 +1,36 @@
|
||||||
local kp = (import 'kube-prometheus/main.libsonnet') + {
|
local kp =
|
||||||
values+:: {
|
(import 'kube-prometheus/main.libsonnet') +
|
||||||
common+: {
|
// Uncomment the following imports to enable its patches
|
||||||
namespace: 'monitoring',
|
// (import 'kube-prometheus/addons/anti-affinity.libsonnet') +
|
||||||
|
// (import 'kube-prometheus/addons/managed-cluster.libsonnet') +
|
||||||
|
// (import 'kube-prometheus/addons/node-ports.libsonnet') +
|
||||||
|
// (import 'kube-prometheus/addons/static-etcd.libsonnet') +
|
||||||
|
// (import 'kube-prometheus/addons/custom-metrics.libsonnet') +
|
||||||
|
// (import 'kube-prometheus/addons/external-metrics.libsonnet') +
|
||||||
|
// (import 'kube-prometheus/addons/pyrra.libsonnet') +
|
||||||
|
{
|
||||||
|
values+:: {
|
||||||
|
common+: {
|
||||||
|
namespace: 'monitoring',
|
||||||
|
},
|
||||||
},
|
},
|
||||||
},
|
};
|
||||||
};
|
|
||||||
|
|
||||||
[kp.kubePrometheus[name] for name in std.objectFields(kp.kubePrometheus)] +
|
{
|
||||||
[kp.prometheusOperator[name] for name in std.objectFields(kp.prometheusOperator)] +
|
['setup/prometheus-operator-' + name]: kp.prometheusOperator[name]
|
||||||
[kp.nodeExporter[name] for name in std.objectFields(kp.nodeExporter)] +
|
for name in std.filter((function(name) name != 'serviceMonitor' && name != 'prometheusRule'), std.objectFields(kp.prometheusOperator))
|
||||||
[kp.kubeStateMetrics[name] for name in std.objectFields(kp.kubeStateMetrics)] +
|
} +
|
||||||
[kp.kubernetesControlPlane[name] for name in std.objectFields(kp.kubernetesControlPlane)] +
|
// { 'setup/pyrra-slo-CustomResourceDefinition': kp.pyrra.crd } +
|
||||||
[kp.prometheus[name] for name in std.objectFields(kp.prometheus)] +
|
// serviceMonitor and prometheusRule are separated so that they can be created after the CRDs are ready
|
||||||
[kp.prometheusAdapter[name] for name in std.objectFields(kp.prometheusAdapter)] +
|
{ 'prometheus-operator-serviceMonitor': kp.prometheusOperator.serviceMonitor } +
|
||||||
[kp.grafana[name] for name in std.objectFields(kp.grafana)]
|
{ 'prometheus-operator-prometheusRule': kp.prometheusOperator.prometheusRule } +
|
||||||
|
{ 'kube-prometheus-prometheusRule': kp.kubePrometheus.prometheusRule } +
|
||||||
|
{ ['alertmanager-' + name]: kp.alertmanager[name] for name in std.objectFields(kp.alertmanager) } +
|
||||||
|
{ ['blackbox-exporter-' + name]: kp.blackboxExporter[name] for name in std.objectFields(kp.blackboxExporter) } +
|
||||||
|
{ ['grafana-' + name]: kp.grafana[name] for name in std.objectFields(kp.grafana) } +
|
||||||
|
// { ['pyrra-' + name]: kp.pyrra[name] for name in std.objectFields(kp.pyrra) if name != 'crd' } +
|
||||||
|
{ ['kube-state-metrics-' + name]: kp.kubeStateMetrics[name] for name in std.objectFields(kp.kubeStateMetrics) } +
|
||||||
|
{ ['kubernetes-' + name]: kp.kubernetesControlPlane[name] for name in std.objectFields(kp.kubernetesControlPlane) }
|
||||||
|
{ ['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) }
|
||||||
|
|
Loading…
Reference in a new issue