fix case-insensitive keyword query for alerting

Signed-off-by: junotx <junotxiang@yunify.com>
This commit is contained in:
junotx
2021-04-01 14:44:47 +08:00
parent 364c806ddd
commit 68b0b8f4ba

View File

@@ -192,7 +192,7 @@ func (q *AlertingRuleQueryParams) Filter(rules []*GettableAlertingRule) []*Getta
}
func (q *AlertingRuleQueryParams) matches(rule *GettableAlertingRule) bool {
if q.NameContainFilter != "" && !strings.Contains(rule.Name, q.NameContainFilter) {
if q.NameContainFilter != "" && !containsI(rule.Name, q.NameContainFilter) {
return false
}
if q.State != "" && q.State != rule.State {
@@ -210,7 +210,7 @@ func (q *AlertingRuleQueryParams) matches(rule *GettableAlertingRule) bool {
}
}
for k, v := range q.LabelContainFilters {
if fv, ok := rule.Labels[k]; !ok || !strings.Contains(fv, v) {
if fv, ok := rule.Labels[k]; !ok || !containsI(fv, v) {
return false
}
}
@@ -340,7 +340,7 @@ func (q *AlertQueryParams) matches(alert *Alert) bool {
}
}
for k, v := range q.LabelContainFilters {
if fv, ok := alert.Labels[k]; !ok || !strings.Contains(fv, v) {
if fv, ok := alert.Labels[k]; !ok || !containsI(fv, v) {
return false
}
}
@@ -526,3 +526,10 @@ func NewBulkItemErrorServerResponse(ruleName string, err error) *BulkItemRespons
Error: err,
}
}
// containsI reports whether substr is case-insensitive within s.
func containsI(s, substr string) bool {
return strings.Contains(
strings.ToLower(s),
strings.ToLower(substr))
}