helm-charts/postgresql/templates/prometheus-rules.yaml

33 lines
1.2 KiB
YAML

{{- if and .Values.prometheus.rules.enabled }}
{{- $fullname := include "postgresql.fullname" . }}
{{- $filter := printf `namespace="%s",service=~"%s.*"` .Release.Namespace $fullname }}
---
apiVersion: monitoring.coreos.com/v1
kind: PrometheusRule
metadata:
name: {{ $fullname }}
labels:
{{- include "postgresql.labels" . | nindent 4 }}
{{- with .Values.prometheus.rules.labels }}
{{- toYaml . | nindent 4 }}
{{- end }}
spec:
groups:
- name: {{ $fullname }}-Default
rules:
- alert: "PostgreSQLSlowQueries"
expr: 'avg(rate(pg_stat_activity_max_tx_duration{ {{ $filter }},datname!~"template.*" }[2m])) by (datname) > 2 * 60'
for: 2m
labels:
severity: warning
annotations:
{{`
summary: "PostgreSQL high number of slow on {{ $labels.cluster }} for database {{ $labels.datname }}"
description: "PostgreSQL high number of slow queries {{ $labels.cluster }} for database {{ $labels.datname }} with a value of {{ $value }}"
`}}
{{- with .Values.prometheus.rules.additionalRules }}
- name: {{ $fullname }}-Additional
rules:
{{- toYaml . | nindent 8 }}
{{- end }}
{{- end }}