Skip to content

Commit 20c690f

Browse files
committed
fix(alert_service): 修复表达式重复添加比较操作符的问题
检查表达式是否已包含比较操作符,避免重复添加 更新告警Webhook服务地址配置
1 parent bdf837e commit 20c690f

File tree

2 files changed

+11
-4
lines changed

2 files changed

+11
-4
lines changed

internal/prometheus_adapter/config/prometheus_adapter.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ prometheus:
1010
# 告警 Webhook 服务配置
1111
alert_webhook:
1212
# 监控告警模块地址
13-
url: "http://alert-module:8080/v1/integrations/alertmanager/webhook"
13+
url: "http://10.210.10.33:8080/v1/integrations/alertmanager/webhook"
1414
# 轮询间隔
1515
polling_interval: "10s"
1616

@@ -24,4 +24,4 @@ alert_rules:
2424
# 服务器配置
2525
server:
2626
# 服务监听地址
27-
bind_addr: "0.0.0.0:9999"
27+
bind_addr: "0.0.0.0:9999"

internal/prometheus_adapter/service/alert_service.go

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -520,9 +520,16 @@ func (s *AlertService) buildExpression(rule *model.AlertRule, meta *model.AlertR
520520
}
521521
}
522522

523-
// 添加比较操作符和阈值
523+
// 添加比较操作符和阈值(检查是否已经包含)
524524
if meta.Threshold != 0 {
525-
expr = fmt.Sprintf("%s %s %g", expr, rule.Op, meta.Threshold)
525+
// 检查表达式是否已经包含比较操作符
526+
hasComparison := strings.Contains(expr, " > ") || strings.Contains(expr, " < ") ||
527+
strings.Contains(expr, " = ") || strings.Contains(expr, " != ") ||
528+
strings.Contains(expr, " >= ") || strings.Contains(expr, " <= ")
529+
530+
if !hasComparison {
531+
expr = fmt.Sprintf("%s %s %g", expr, rule.Op, meta.Threshold)
532+
}
526533
}
527534

528535
return expr

0 commit comments

Comments
 (0)