2019-04-16 15:28:33 +05:30
apiVersion : monitoring.coreos.com/v1
kind : PrometheusRule
metadata :
labels :
prometheus : rook-prometheus
role : alert-rules
name : prometheus-ceph-rules
namespace : rook-ceph
spec :
groups :
2021-03-15 12:24:32 +05:30
- name : ceph.rules
rules :
- expr : |
2021-09-22 20:07:46 +05:30
kube_node_status_condition{condition="Ready",job="kube-state-metrics",status="true"} * on (node) group_right() max(label_replace(ceph_disk_occupation{job="rook-ceph-mgr"},"node","$1","exported_instance","(.*)")) by (node, namespace)
2021-03-15 12:24:32 +05:30
record : cluster:ceph_node_down:join_kube
- expr : |
avg(topk by (ceph_daemon) (1, label_replace(label_replace(ceph_disk_occupation{job="rook-ceph-mgr"}, "instance", "$1", "exported_instance", "(.*)"), "device", "$1", "device", "/dev/(.*)")) * on(instance, device) group_right(ceph_daemon) topk by (instance,device) (1,(irate(node_disk_read_time_seconds_total[1m]) + irate(node_disk_write_time_seconds_total[1m]) / (clamp_min(irate(node_disk_reads_completed_total[1m]), 1) + irate(node_disk_writes_completed_total[1m])))))
record : cluster:ceph_disk_latency:join_ceph_node_disk_irate1m
- name : telemeter.rules
rules :
- expr : |
count(ceph_osd_metadata{job="rook-ceph-mgr"})
record : job:ceph_osd_metadata:count
- expr : |
count(kube_persistentvolume_info * on (storageclass) group_left(provisioner) kube_storageclass_info {provisioner=~"(.*rbd.csi.ceph.com)|(.*cephfs.csi.ceph.com)"})
record : job:kube_pv:count
- expr : |
sum(ceph_pool_rd{job="rook-ceph-mgr"}+ ceph_pool_wr{job="rook-ceph-mgr"})
record : job:ceph_pools_iops:total
- expr : |
sum(ceph_pool_rd_bytes{job="rook-ceph-mgr"}+ ceph_pool_wr_bytes{job="rook-ceph-mgr"})
record : job:ceph_pools_iops_bytes:total
- expr : |
count(count(ceph_mon_metadata{job="rook-ceph-mgr"} or ceph_osd_metadata{job="rook-ceph-mgr"} or ceph_rgw_metadata{job="rook-ceph-mgr"} or ceph_mds_metadata{job="rook-ceph-mgr"} or ceph_mgr_metadata{job="rook-ceph-mgr"}) by(ceph_version))
record : job:ceph_versions_running:count
- name : ceph-mgr-status
rules :
- alert : CephMgrIsAbsent
annotations :
description : Ceph Manager has disappeared from Prometheus target discovery.
message : Storage metrics collector service not available anymore.
severity_level : critical
storage_type : ceph
expr : |
2021-10-15 13:00:03 +05:30
label_replace((up{job="rook-ceph-mgr"} == 0 or absent(up{job="rook-ceph-mgr"})), "namespace", "openshift-storage", "", "")
2021-03-15 12:24:32 +05:30
for : 5m
labels :
severity : critical
- alert : CephMgrIsMissingReplicas
annotations :
description : Ceph Manager is missing replicas.
message : Storage metrics collector service doesn't have required no of replicas.
severity_level : warning
storage_type : ceph
expr : |
2021-10-15 13:00:03 +05:30
sum(kube_deployment_spec_replicas{deployment=~"rook-ceph-mgr-.*"}) by (namespace) < 1
2021-03-15 12:24:32 +05:30
for : 5m
labels :
severity : warning
- name : ceph-mds-status
rules :
- alert : CephMdsMissingReplicas
annotations :
2021-09-21 19:42:37 +05:30
description : Minimum required replicas for storage metadata service not available. Might affect the working of storage cluster.
2021-03-15 12:24:32 +05:30
message : Insufficient replicas for storage metadata service.
severity_level : warning
storage_type : ceph
expr : |
2021-10-01 16:05:54 +05:30
sum(ceph_mds_metadata{job="rook-ceph-mgr"} == 1) by (namespace) < 2
2021-03-15 12:24:32 +05:30
for : 5m
labels :
severity : warning
- name : quorum-alert.rules
rules :
- alert : CephMonQuorumAtRisk
annotations :
description : Storage cluster quorum is low. Contact Support.
message : Storage quorum at risk
severity_level : error
storage_type : ceph
expr : |
2021-10-01 16:05:54 +05:30
count(ceph_mon_quorum_status{job="rook-ceph-mgr"} == 1) by (namespace) <= (floor(count(ceph_mon_metadata{job="rook-ceph-mgr"}) by (namespace) / 2) + 1)
2021-03-15 12:24:32 +05:30
for : 15m
labels :
severity : critical
2021-10-14 19:38:28 +05:30
- alert : CephMonQuorumLost
annotations :
description : Storage cluster quorum is lost. Contact Support.
message : Storage quorum is lost
severity_level : critical
storage_type : ceph
expr : |
2021-10-29 18:53:01 +05:30
count(kube_pod_status_phase{pod=~"rook-ceph-mon-.*", phase=~"Running|running"} == 1) by (namespace) < 2
2021-10-14 19:38:28 +05:30
for : 5m
labels :
severity : critical
2021-03-15 12:24:32 +05:30
- alert : CephMonHighNumberOfLeaderChanges
annotations :
2021-09-21 19:42:37 +05:30
description : Ceph Monitor {{ $labels.ceph_daemon }} on host {{ $labels.hostname }} has seen {{ $value | printf "%.2f" }} leader changes per minute recently.
2021-03-15 12:24:32 +05:30
message : Storage Cluster has seen many leader changes recently.
severity_level : warning
storage_type : ceph
expr : |
(ceph_mon_metadata{job="rook-ceph-mgr"} * on (ceph_daemon) group_left() (rate(ceph_mon_num_elections{job="rook-ceph-mgr"}[5m]) * 60)) > 0.95
2021-10-04 10:29:53 +05:30
for : 5m
2021-03-15 12:24:32 +05:30
labels :
severity : warning
- name : ceph-node-alert.rules
rules :
- alert : CephNodeDown
annotations :
2021-09-21 19:42:37 +05:30
description : Storage node {{ $labels.node }} went down. Please check the node immediately.
2021-03-15 12:24:32 +05:30
message : Storage node {{ $labels.node }} went down
severity_level : error
storage_type : ceph
expr : |
cluster:ceph_node_down:join_kube == 0
for : 30s
labels :
severity : critical
- name : osd-alert.rules
rules :
- alert : CephOSDCriticallyFull
annotations :
2021-09-21 19:42:37 +05:30
description : Utilization of storage device {{ $labels.ceph_daemon }} of device_class type {{$labels.device_class}} has crossed 80% on host {{ $labels.hostname }}. Immediately free up some space or add capacity of type {{$labels.device_class}}.
2021-03-15 12:24:32 +05:30
message : Back-end storage device is critically full.
severity_level : error
storage_type : ceph
expr : |
2021-09-09 14:57:05 +08:00
(ceph_osd_metadata * on (ceph_daemon) group_right(device_class,hostname) (ceph_osd_stat_bytes_used / ceph_osd_stat_bytes)) >= 0.80
2021-03-15 12:24:32 +05:30
for : 40s
labels :
severity : critical
- alert : CephOSDFlapping
annotations :
2021-09-21 19:42:37 +05:30
description : Storage daemon {{ $labels.ceph_daemon }} has restarted 5 times in last 5 minutes. Please check the pod events or ceph status to find out the cause.
2021-03-15 12:24:32 +05:30
message : Ceph storage osd flapping.
severity_level : error
storage_type : ceph
expr : |
changes(ceph_osd_up[5m]) >= 10
for : 0s
labels :
severity : critical
- alert : CephOSDNearFull
annotations :
2021-09-21 19:42:37 +05:30
description : Utilization of storage device {{ $labels.ceph_daemon }} of device_class type {{$labels.device_class}} has crossed 75% on host {{ $labels.hostname }}. Immediately free up some space or add capacity of type {{$labels.device_class}}.
2021-03-15 12:24:32 +05:30
message : Back-end storage device is nearing full.
severity_level : warning
storage_type : ceph
expr : |
2021-09-09 14:57:05 +08:00
(ceph_osd_metadata * on (ceph_daemon) group_right(device_class,hostname) (ceph_osd_stat_bytes_used / ceph_osd_stat_bytes)) >= 0.75
2021-03-15 12:24:32 +05:30
for : 40s
labels :
severity : warning
- alert : CephOSDDiskNotResponding
annotations :
2021-09-21 19:42:37 +05:30
description : Disk device {{ $labels.device }} not responding, on host {{ $labels.host }}.
2021-03-15 12:24:32 +05:30
message : Disk not responding
severity_level : error
storage_type : ceph
expr : |
label_replace((ceph_osd_in == 1 and ceph_osd_up == 0),"disk","$1","ceph_daemon","osd.(.*)") + on(ceph_daemon) group_left(host, device) label_replace(ceph_disk_occupation,"host","$1","exported_instance","(.*)")
2021-10-01 01:38:15 +05:30
for : 15m
2021-03-15 12:24:32 +05:30
labels :
severity : critical
- alert : CephOSDDiskUnavailable
annotations :
2021-09-21 19:42:37 +05:30
description : Disk device {{ $labels.device }} not accessible on host {{ $labels.host }}.
2021-03-15 12:24:32 +05:30
message : Disk not accessible
severity_level : error
storage_type : ceph
expr : |
label_replace((ceph_osd_in == 0 and ceph_osd_up == 0),"disk","$1","ceph_daemon","osd.(.*)") + on(ceph_daemon) group_left(host, device) label_replace(ceph_disk_occupation,"host","$1","exported_instance","(.*)")
for : 1m
labels :
severity : critical
2021-03-16 15:25:46 +05:30
- alert : CephOSDSlowOps
annotations :
2021-09-21 19:42:37 +05:30
description : '{{ $value }} Ceph OSD requests are taking too long to process. Please check ceph status to find out the cause.'
2021-03-16 15:25:46 +05:30
message : OSD requests are taking too long to process.
severity_level : warning
storage_type : ceph
expr : |
ceph_healthcheck_slow_ops > 0
for : 30s
labels :
severity : warning
2021-03-15 12:24:32 +05:30
- alert : CephDataRecoveryTakingTooLong
annotations :
description : Data recovery has been active for too long. Contact Support.
message : Data recovery is slow
severity_level : warning
storage_type : ceph
expr : |
ceph_pg_undersized > 0
for : 2h
labels :
severity : warning
- alert : CephPGRepairTakingTooLong
annotations :
description : Self heal operations taking too long. Contact Support.
message : Self heal problems detected
severity_level : warning
storage_type : ceph
expr : |
ceph_pg_inconsistent > 0
for : 1h
labels :
severity : warning
- name : persistent-volume-alert.rules
rules :
- alert : PersistentVolumeUsageNearFull
annotations :
2021-09-21 19:42:37 +05:30
description : PVC {{ $labels.persistentvolumeclaim }} utilization has crossed 75%. Free up some space or expand the PVC.
message : PVC {{ $labels.persistentvolumeclaim }} is nearing full. Data deletion or PVC expansion is required.
2021-03-15 12:24:32 +05:30
severity_level : warning
storage_type : ceph
expr : |
(kubelet_volume_stats_used_bytes * on (namespace,persistentvolumeclaim) group_left(storageclass, provisioner) (kube_persistentvolumeclaim_info * on (storageclass) group_left(provisioner) kube_storageclass_info {provisioner=~"(.*rbd.csi.ceph.com)|(.*cephfs.csi.ceph.com)"})) / (kubelet_volume_stats_capacity_bytes * on (namespace,persistentvolumeclaim) group_left(storageclass, provisioner) (kube_persistentvolumeclaim_info * on (storageclass) group_left(provisioner) kube_storageclass_info {provisioner=~"(.*rbd.csi.ceph.com)|(.*cephfs.csi.ceph.com)"})) > 0.75
for : 5s
labels :
severity : warning
- alert : PersistentVolumeUsageCritical
annotations :
2021-09-21 19:42:37 +05:30
description : PVC {{ $labels.persistentvolumeclaim }} utilization has crossed 85%. Free up some space or expand the PVC immediately.
message : PVC {{ $labels.persistentvolumeclaim }} is critically full. Data deletion or PVC expansion is required.
2021-03-15 12:24:32 +05:30
severity_level : error
storage_type : ceph
expr : |
(kubelet_volume_stats_used_bytes * on (namespace,persistentvolumeclaim) group_left(storageclass, provisioner) (kube_persistentvolumeclaim_info * on (storageclass) group_left(provisioner) kube_storageclass_info {provisioner=~"(.*rbd.csi.ceph.com)|(.*cephfs.csi.ceph.com)"})) / (kubelet_volume_stats_capacity_bytes * on (namespace,persistentvolumeclaim) group_left(storageclass, provisioner) (kube_persistentvolumeclaim_info * on (storageclass) group_left(provisioner) kube_storageclass_info {provisioner=~"(.*rbd.csi.ceph.com)|(.*cephfs.csi.ceph.com)"})) > 0.85
for : 5s
labels :
severity : critical
- name : cluster-state-alert.rules
rules :
- alert : CephClusterErrorState
annotations :
description : Storage cluster is in error state for more than 10m.
message : Storage cluster is in error state
severity_level : error
storage_type : ceph
expr : |
ceph_health_status{job="rook-ceph-mgr"} > 1
for : 10m
labels :
severity : critical
- alert : CephClusterWarningState
annotations :
description : Storage cluster is in warning state for more than 10m.
message : Storage cluster is in degraded state
severity_level : warning
storage_type : ceph
expr : |
ceph_health_status{job="rook-ceph-mgr"} == 1
2021-10-01 01:38:15 +05:30
for : 15m
2021-03-15 12:24:32 +05:30
labels :
severity : warning
- alert : CephOSDVersionMismatch
annotations :
2021-09-21 19:42:37 +05:30
description : There are {{ $value }} different versions of Ceph OSD components running.
2021-03-15 12:24:32 +05:30
message : There are multiple versions of storage services running.
severity_level : warning
storage_type : ceph
expr : |
2021-10-01 16:05:54 +05:30
count(count(ceph_osd_metadata{job="rook-ceph-mgr"}) by (ceph_version, namespace)) by (ceph_version, namespace) > 1
2021-03-15 12:24:32 +05:30
for : 10m
labels :
severity : warning
- alert : CephMonVersionMismatch
annotations :
2021-09-21 19:42:37 +05:30
description : There are {{ $value }} different versions of Ceph Mon components running.
2021-03-15 12:24:32 +05:30
message : There are multiple versions of storage services running.
severity_level : warning
storage_type : ceph
expr : |
2021-10-10 19:59:10 +05:30
count(count(ceph_mon_metadata{job="rook-ceph-mgr", ceph_version != ""}) by (ceph_version)) > 1
2021-03-15 12:24:32 +05:30
for : 10m
labels :
severity : warning
- name : cluster-utilization-alert.rules
rules :
- alert : CephClusterNearFull
annotations :
2021-09-21 19:42:37 +05:30
description : Storage cluster utilization has crossed 75% and will become read-only at 85%. Free up some space or expand the storage cluster.
message : Storage cluster is nearing full. Data deletion or cluster expansion is required.
2021-03-15 12:24:32 +05:30
severity_level : warning
storage_type : ceph
expr : |
ceph_cluster_total_used_raw_bytes / ceph_cluster_total_bytes > 0.75
for : 5s
labels :
severity : warning
- alert : CephClusterCriticallyFull
annotations :
2021-09-21 19:42:37 +05:30
description : Storage cluster utilization has crossed 80% and will become read-only at 85%. Free up some space or expand the storage cluster immediately.
message : Storage cluster is critically full and needs immediate data deletion or cluster expansion.
2021-03-15 12:24:32 +05:30
severity_level : error
storage_type : ceph
expr : |
ceph_cluster_total_used_raw_bytes / ceph_cluster_total_bytes > 0.80
for : 5s
labels :
severity : critical
- alert : CephClusterReadOnly
annotations :
2021-09-21 19:42:37 +05:30
description : Storage cluster utilization has crossed 85% and will become read-only now. Free up some space or expand the storage cluster immediately.
message : Storage cluster is read-only now and needs immediate data deletion or cluster expansion.
2021-03-15 12:24:32 +05:30
severity_level : error
storage_type : ceph
expr : |
ceph_cluster_total_used_raw_bytes / ceph_cluster_total_bytes >= 0.85
for : 0s
labels :
severity : critical
2021-04-06 17:21:13 +05:30
- name : pool-quota.rules
rules :
- alert : CephPoolQuotaBytesNearExhaustion
annotations :
description : Storage pool {{ $labels.name }} quota usage has crossed 70%.
message : Storage pool quota(bytes) is near exhaustion.
severity_level : warning
storage_type : ceph
expr : |
(ceph_pool_stored_raw * on (pool_id) group_left(name)ceph_pool_metadata) / ((ceph_pool_quota_bytes * on (pool_id) group_left(name)ceph_pool_metadata) > 0) > 0.70
for : 1m
labels :
severity : warning
- alert : CephPoolQuotaBytesCriticallyExhausted
annotations :
description : Storage pool {{ $labels.name }} quota usage has crossed 90%.
message : Storage pool quota(bytes) is critically exhausted.
severity_level : critical
storage_type : ceph
expr : |
(ceph_pool_stored_raw * on (pool_id) group_left(name)ceph_pool_metadata) / ((ceph_pool_quota_bytes * on (pool_id) group_left(name)ceph_pool_metadata) > 0) > 0.90
for : 1m
labels :
2021-09-07 12:35:13 +05:30
severity : critical