apiVersion: monitoring.coreos.com/v1 kind: PrometheusRule metadata: name: opensearch-alerts namespace: data labels: role: alert-rules spec: groups: - name: opensearch rules: - alert: OpenSearchClusterRed expr: opensearch_cluster_health_status{color="red"} == 1 for: 2m labels: severity: critical annotations: summary: "OpenSearch cluster health is RED" description: "OpenSearch cluster {{ $labels.cluster }} health status is red." - alert: OpenSearchClusterYellow expr: opensearch_cluster_health_status{color="yellow"} == 1 for: 10m labels: severity: warning annotations: summary: "OpenSearch cluster health is YELLOW" description: "OpenSearch cluster {{ $labels.cluster }} health status is yellow." - alert: OpenSearchHeapHigh expr: (opensearch_jvm_mem_heap_used_bytes / opensearch_jvm_mem_heap_max_bytes) > 0.85 for: 5m labels: severity: warning annotations: summary: "OpenSearch JVM heap usage is high" description: "OpenSearch node {{ $labels.node }} in {{ $labels.namespace }} heap usage is above 85%."