diff --git a/crates/log-analyzer/src/rules/seed/disk.rs b/crates/log-analyzer/src/rules/seed/disk.rs index 8cd1f031a..c90e44646 100644 --- a/crates/log-analyzer/src/rules/seed/disk.rs +++ b/crates/log-analyzer/src/rules/seed/disk.rs @@ -68,14 +68,17 @@ pub(super) fn rules() -> Vec { ) }, Rule { - anchors: strings(["reporting peer disks offline after consecutive storage_info failures"]), + anchors: strings(["Storage inventory probe failed; current drive health is unknown"]), ..base( "peer-disks-offline", P2Degraded, "disk", - "peer 磁盘被整体判定离线", - contains("reporting peer disks offline after consecutive storage_info failures"), - "对某 peer 连续 storage_info 失败,判定其磁盘整体离线。", + "peer 存储清单探测失败", + any([ + contains("Storage inventory probe failed; current drive health is unknown"), + contains("reporting peer disks offline after consecutive storage_info failures"), + ]), + "某 peer 的 storage_info 探测失败,当前磁盘健康状态未知。", "检查该 peer 节点存活与 RPC 端口可达。", ) }, diff --git a/crates/log-analyzer/src/rules/seed/tests.rs b/crates/log-analyzer/src/rules/seed/tests.rs index 442546854..88bf61a6a 100644 --- a/crates/log-analyzer/src/rules/seed/tests.rs +++ b/crates/log-analyzer/src/rules/seed/tests.rs @@ -110,7 +110,7 @@ fn every_rule_has_a_positive_sample() { ("remote-peer-faulty", msg("Remote peer health check failed for node2: marking as faulty")), ( "peer-disks-offline", - msg("reporting peer disks offline after consecutive storage_info failures"), + msg("Storage inventory probe failed; current drive health is unknown"), ), ("drive-faulty-error", msg("remote drive is faulty")), ( @@ -318,6 +318,10 @@ fn smoke_samples_hit_exact_rule_sets() { &["disk-marked-faulty"], ); exact(&msg("erasure write quorum (required=8, achieved=5)"), &["ec-write-quorum"]); + exact( + &msg("reporting peer disks offline after consecutive storage_info failures"), + &["peer-disks-offline"], + ); exact( &Sample { message: "Metacache listing quorum failed",