{{- if and .Values.manager.prometheusRule.enabled .Values.manager.serviceMonitor.enabled }} apiVersion: monitoring.coreos.com/v1 kind: PrometheusRule metadata: name: {{ include "opentelemetry-operator.fullname" . }} namespace: {{ .Release.Namespace }} labels: {{- include "opentelemetry-operator.labels" . | nindent 4 }} app.kubernetes.io/component: controller-manager {{- range $key, $value := .Values.manager.prometheusRule.extraLabels }} {{- printf "%s: %s" $key (tpl $value $ | quote) | nindent 4 }} {{- end }} annotations: {{- range $key, $value := .Values.manager.prometheusRule.annotations }} {{- printf "%s: %s" $key (tpl $value $ | quote) | nindent 4 }} {{- end }} spec: groups: {{- if .Values.manager.prometheusRule.groups }} {{- toYaml .Values.manager.prometheusRule.groups | nindent 4 }} {{- end }} {{- if .Values.manager.prometheusRule.defaultRules.enabled }} - name: managerRules rules: - alert: ReconcileErrors expr: rate(controller_runtime_reconcile_total{controller="opentelemetrycollector",result="error"}[5m]) > 0 for: 5m labels: severity: warning {{- with .Values.manager.prometheusRule.defaultRules.additionalRuleLabels }} {{- toYaml . | nindent 8 }} {{- end }} annotations: description: '{{`Reconciliation errors for {{ $labels.controller }} is increasing and has now reached {{ humanize $value }} `}}' runbook_url: '{{ default "https://opentelemetry.io/docs/kubernetes/operator/troubleshooting/prometheus-alerts-runbooks/" .Values.manager.prometheusRule.runbookUrl }}#reconcileerrors' {{- with .Values.manager.prometheusRule.defaultRules.additionalRuleAnnotations }} {{- toYaml . | nindent 8 }} {{- end }} - alert: WorkqueueDepth expr: workqueue_depth{name="opentelemetrycollector"} > 0 for: 5m labels: severity: warning {{- with .Values.manager.prometheusRule.defaultRules.additionalRuleLabels }} {{- toYaml . | nindent 8 }} {{- end }} annotations: description: '{{`Queue depth for {{ $labels.name }} has reached {{ $value }} `}}' runbook_url: '{{ default "https://opentelemetry.io/docs/kubernetes/operator/troubleshooting/prometheus-alerts-runbooks/" .Values.manager.prometheusRule.runbookUrl }}#workqueuedepth' {{- with .Values.manager.prometheusRule.defaultRules.additionalRuleAnnotations }} {{- toYaml . | nindent 8 }} {{- end }} {{- end }} {{- end }}