fix(alerts): 内置规则排除 Loki 自身日志,消除自我污染误报
Loki 会把执行过的查询语句记成自身 info 日志,查询文本包含规则关键字时 告警会'命中自己'(如 StackOverflowError 规则匹配到告警引擎自己的查询记录), 造成持续误报——全命名空间类内置规则一律加 app!="loki";存量规则启动时自动升级; 顺带清理旧版遗留的重复规则「应用错误过多(error > 1000)」(与现模板重复且阈值会误报); 前端新建/模板默认查询同步;红线测试锁死
This commit is contained in:
1 parent
abe28964a1
commit
b8d08ef6d1
3 files changed
+40
-10
No files matched your search
@@ -0,0 +1,17 @@
|
||||
package seed
|
||||
|
||||
import (
|
||||
"strings"
|
||||
"testing"
|
||||
)
|
||||
|
||||
// TestBuiltinRulesExcludeLokiSelfLogs 全命名空间类内置规则必须排除 app=loki:
|
||||
// Loki 会把执行过的查询语句记成自身 info 日志,查询文本包含规则关键字时
|
||||
// 告警会"命中自己"(自我污染),造成持续误报——用测试锁死这条红线。
|
||||
func TestBuiltinRulesExcludeLokiSelfLogs(t *testing.T) {
|
||||
for _, r := range builtinRules {
|
||||
if strings.Contains(r.query, `{namespace=~".+"}`) && !strings.Contains(r.query, `app!="loki"`) {
|
||||
t.Fatalf("内置规则 %q 使用全命名空间选择器但未排除 app=loki(自我污染): %s", r.name, r.query)
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in new issue
Block a user