diff --git a/bindata/assets/alerts/kube-apiserver-watch-cache.yaml b/bindata/assets/alerts/kube-apiserver-watch-cache.yaml new file mode 100644 index 000000000..93aa3d1ca --- /dev/null +++ b/bindata/assets/alerts/kube-apiserver-watch-cache.yaml @@ -0,0 +1,18 @@ +apiVersion: monitoring.coreos.com/v1 +kind: PrometheusRule +metadata: + name: kube-apiserver-watch-cache + namespace: openshift-kube-apiserver +spec: + groups: + - name: kube-apiserver-watch-cache + rules: + - alert: KubeAPIWatchCacheNotReady + annotations: + summary: "Watch cache for resource {{ $labels.resource }} is not ready." + description: "The watch cache for resource {{ $labels.resource }} has been in a non-ready state for more than 3 minutes." + expr: apiserver_watch_cache_ready == 0 + for: 1m + labels: + namespace: openshift-kube-apiserver + severity: critical diff --git a/pkg/operator/starter.go b/pkg/operator/starter.go index 8002e1ec8..4b1606a28 100644 --- a/pkg/operator/starter.go +++ b/pkg/operator/starter.go @@ -241,6 +241,7 @@ func RunOperator(ctx context.Context, controllerContext *controllercmd.Controlle "assets/alerts/kube-apiserver-requests.yaml", "assets/alerts/kube-apiserver-slos-basic.yaml", "assets/alerts/podsecurity-violations.yaml", + "assets/alerts/kube-apiserver-watch-cache.yaml", }, (&resourceapply.ClientHolder{}). WithKubernetes(kubeClient).