Skip to content

Commit

Permalink
Add kubernetes service monitors (#1051)
Browse files Browse the repository at this point in the history
* Add kubernetes service monitors

* Update smon names

* Update README.md with readme-generator-for-helm

Signed-off-by: DeeAjayi <DeeAjayi@users.noreply.github.com>

* fix EOF error

* update template

* update template

* update kubestatemetric references

* update prometheus endpoint

* update indent

* typo fix

---------

Signed-off-by: DeeAjayi <DeeAjayi@users.noreply.github.com>
Co-authored-by: DeeAjayi <DeeAjayi@users.noreply.github.com>
  • Loading branch information
DeeAjayi and DeeAjayi authored Feb 14, 2025
1 parent e30b889 commit efe958e
Show file tree
Hide file tree
Showing 11 changed files with 430 additions and 63 deletions.
2 changes: 1 addition & 1 deletion charts/tfy-prometheus-config/Chart.yaml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
apiVersion: v2
name: tfy-prometheus-config
description: A Helm chart for Prometheus Config
version: 0.1.1-rc.3
version: 0.1.1-rc.4
131 changes: 79 additions & 52 deletions charts/tfy-prometheus-config/README.md

Large diffs are not rendered by default.

Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ kind: PrometheusRule
metadata:
name: {{ .Values.prometheusRules.containerRules.name }}
labels:
{{- include "prometheusRules.labels" . | nindent 4 }}
{{- include "containerRule.labels" . | nindent 4 }}
spec:
groups:
- name: Alerting
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ kind: PrometheusRule
metadata:
name: {{ .Values.prometheusRules.kubecostRules.name }}
labels:
{{- include "prometheusRules.labels" . | nindent 4 }}
{{- include "kubecostRules.labels" . | nindent 4 }}
spec:
groups:
- name: CPU
Expand Down
Original file line number Diff line number Diff line change
@@ -1,3 +1,9 @@
{{- /*
Labels for service monitors
*/ -}}
{{- /*
Argo workflows service monitor labels
*/ -}}
{{- define "argo-workflows.labels" -}}
{{- if .Values.serviceMonitors.workflows.labels }}
{{- toYaml .Values.serviceMonitors.workflows.labels }}
Expand All @@ -6,6 +12,9 @@
{{- end }}
{{- end }}

{{- /*
Elasti service monitor labels
*/ -}}
{{- define "elasti.labels" -}}
{{- if .Values.serviceMonitors.elasti.labels }}
{{- toYaml .Values.serviceMonitors.elasti.labels }}
Expand All @@ -14,6 +23,9 @@
{{- end }}
{{- end }}

{{- /*
Keda service monitor labels
*/ -}}
{{- define "keda.labels" -}}
{{- if .Values.serviceMonitors.keda.labels }}
{{- toYaml .Values.serviceMonitors.keda.labels }}
Expand All @@ -22,6 +34,9 @@
{{- end }}
{{- end }}

{{- /*
Kubecost service monitor labels
*/ -}}
{{- define "kubecost.labels" -}}
{{- if .Values.serviceMonitors.kubecost.labels }}
{{- toYaml .Values.serviceMonitors.kubecost.labels }}
Expand All @@ -30,6 +45,9 @@
{{- end }}
{{- end }}

{{- /*
Loki service monitor labels
*/ -}}
{{- define "loki.labels" -}}
{{- if .Values.serviceMonitors.loki.labels }}
{{- toYaml .Values.serviceMonitors.loki.labels }}
Expand All @@ -38,6 +56,9 @@
{{- end }}
{{- end }}

{{- /*
Loki promtail service monitor labels
*/ -}}
{{- define "loki-promtail.labels" -}}
{{- if .Values.serviceMonitors.loki.promtail.labels }}
{{- toYaml .Values.serviceMonitors.loki.promtail.labels }}
Expand All @@ -46,6 +67,9 @@
{{- end }}
{{- end }}

{{- /*
Prometheus service monitor labels
*/ -}}
{{- define "prometheus.labels" -}}
{{- if .Values.serviceMonitors.prometheus.labels }}
{{- toYaml .Values.serviceMonitors.prometheus.labels }}
Expand All @@ -54,10 +78,68 @@
{{- end }}
{{- end }}

{{- define "prometheusRules.labels" -}}
{{- if .Values.prometheusRules.labels }}
{{- toYaml .Values.prometheusRules.labels }}
{{- /*
Container rules labels
*/ -}}
{{- define "containerRule.labels" -}}
{{- if .Values.prometheusRules.containerRules.labels }}
{{- toYaml .Values.prometheusRules.containerRules.labels }}
{{- else }}
{{- toYaml (dict "release" "prometheus") }}
{{- end }}
{{- end }}
{{- end }}

{{- /*
Kubecost rules labels
*/ -}}
{{- define "kubecostRules.labels" -}}
{{- if .Values.prometheusRules.kubecostRules.labels }}
{{- toYaml .Values.prometheusRules.kubecostRules.labels }}
{{- else }}
{{- toYaml (dict "release" "prometheus") }}
{{- end }}
{{- end }}

{{- /*
Alert manager service monitor labels
*/ -}}
{{- define "alert-manager.labels" -}}
{{- if .Values.serviceMonitors.alertManager.labels }}
{{- toYaml .Values.serviceMonitors.alertManager.labels }}
{{- else }}
{{- toYaml (dict "release" "prometheus") }}
{{- end }}
{{- end }}

{{- /*
Kubelet service monitor labels
*/ -}}
{{- define "kubelet.labels" -}}
{{- if .Values.serviceMonitors.kubelet.labels }}
{{- toYaml .Values.serviceMonitors.kubelet.labels }}
{{- else }}
{{- toYaml (dict "release" "prometheus") }}
{{- end }}
{{- end }}

{{- /*
Node exporter service monitor labels
*/ -}}
{{- define "nodeExporter.labels" -}}
{{- if .Values.serviceMonitors.nodeExporter.labels }}
{{- toYaml .Values.serviceMonitors.nodeExporter.labels }}
{{- else }}
{{- toYaml (dict "release" "prometheus") }}
{{- end }}
{{- end }}

{{- /*
Kube state metrics service monitor labels
*/ -}}
{{- define "kubeStateMetrics.labels" -}}
{{- if .Values.serviceMonitors.kubeStateMetrics.labels }}
{{- toYaml .Values.serviceMonitors.kubeStateMetrics.labels }}
{{- else }}
{{- toYaml (dict "release" "prometheus") }}
{{- end }}
{{- end }}
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
{{- if .Values.serviceMonitors.alertManager.enabled }}
apiVersion: monitoring.coreos.com/v1
kind: ServiceMonitor
metadata:
labels:
{{- include "alert-manager.labels" . | nindent 4 }}
name: {{ .Values.serviceMonitors.alertManager.name }}
spec:
endpoints:
{{- toYaml .Values.serviceMonitors.alertManager.endpoints | nindent 2 }}
namespaceSelector:
{{- toYaml .Values.serviceMonitors.alertManager.namespaceSelector | nindent 4 }}
selector:
matchLabels:
{{- toYaml .Values.serviceMonitors.alertManager.serviceSelectorLabels | nindent 6 }}
{{- end -}}
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
{{- if .Values.serviceMonitors.kubeStateMetrics.enabled }}
apiVersion: monitoring.coreos.com/v1
kind: ServiceMonitor
metadata:
name: {{ .Values.serviceMonitors.kubeStateMetrics.name }}
labels:
{{- include "kubeStateMetrics.labels" . | nindent 4 }}
spec:
endpoints:
{{- toYaml .Values.serviceMonitors.kubeStateMetrics.endpoints | nindent 2 }}
jobLabel: {{ .Values.serviceMonitors.kubeStateMetrics.jobLabel }}
selector:
matchLabels:
{{- toYaml .Values.serviceMonitors.kubeStateMetrics.serviceSelectorLabels | nindent 6 }}
{{- end }}
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
{{- if .Values.serviceMonitors.kubelet.enabled }}
apiVersion: monitoring.coreos.com/v1
kind: ServiceMonitor
metadata:
labels:
{{- include "kubelet.labels" . | nindent 4 }}
name: {{ .Values.serviceMonitors.kubelet.name }}
spec:
jobLabel: {{ .Values.serviceMonitors.kubelet.jobLabel }}
attachMetadata:
node: false
endpoints:
{{- toYaml .Values.serviceMonitors.kubelet.endpoints | nindent 2 }}
namespaceSelector:
{{- toYaml .Values.serviceMonitors.kubelet.namespaceSelector | nindent 4 }}
selector:
matchLabels:
{{- toYaml .Values.serviceMonitors.kubelet.serviceSelectorLabels | nindent 6 }}
{{- end -}}
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
{{- if .Values.serviceMonitors.nodeExporter.enabled }}
apiVersion: monitoring.coreos.com/v1
kind: ServiceMonitor
metadata:
labels:
{{- include "nodeExporter.labels" . | nindent 4 }}
name: {{ .Values.serviceMonitors.nodeExporter.name }}
spec:
jobLabel: {{ .Values.serviceMonitors.nodeExporter.jobLabel }}
attachMetadata:
node: false
endpoints:
{{- toYaml .Values.serviceMonitors.nodeExporter.endpoints | nindent 2 }}
namespaceSelector:
{{- toYaml .Values.serviceMonitors.nodeExporter.namespaceSelector | nindent 4 }}
selector:
matchLabels:
{{- toYaml .Values.serviceMonitors.nodeExporter.serviceSelectorLabels | nindent 6 }}
{{- end -}}
Original file line number Diff line number Diff line change
Expand Up @@ -14,4 +14,4 @@ spec:
{{- toYaml .Values.serviceMonitors.prometheus.namespaceSelector | nindent 4 }}
endpoints:
{{- toYaml .Values.serviceMonitors.prometheus.endpoints | nindent 2 }}
{{- end -}}
{{- end -}}
Loading

0 comments on commit efe958e

Please sign in to comment.