Merge pull request #1150 from prymitive/silence-search-am-name

feat(api): allow searching by alertmanager instance name
This commit is contained in:
Łukasz Mierzwa
2019-11-12 22:04:19 +00:00
committed by GitHub

View File

@@ -443,6 +443,18 @@ func silences(c *gin.Context) {
searchTerm = strings.ToLower(searchTermValue)
}
clusters := []string{}
if searchTerm != "" {
upstreams := getUpstreams()
for _, u := range upstreams.Instances {
if strings.ToLower(u.Name) == searchTerm {
if !slices.StringInSlice(clusters, u.Cluster) {
clusters = append(clusters, u.Cluster)
}
}
}
}
for _, silence := range alertmanager.DedupSilences() {
if silence.IsExpired && !showExpired {
continue
@@ -451,6 +463,8 @@ func silences(c *gin.Context) {
isMatch := false
if strings.ToLower(silence.Silence.ID) == searchTerm {
isMatch = true
} else if slices.StringInSlice(clusters, silence.Cluster) {
isMatch = true
} else if strings.Contains(strings.ToLower(silence.Silence.Comment), searchTerm) {
isMatch = true
} else if strings.Contains(strings.ToLower(silence.Silence.CreatedBy), searchTerm) {