mirror of
https://github.com/VictoriaMetrics/VictoriaMetrics.git
synced 2024-11-21 14:44:00 +00:00
c7fc0d0d2f
…pair
`alert_relabel_configs` in [notifier
config](https://docs.victoriametrics.com/vmalert/#notifier-configuration-file)
can drop alert labels when used to filter different tenant alert message
to different notifier.
alertmanager would report error like `msg="Failed to validate alerts"
err="at least one label pair required"` in this case, but the rest of
the alerts inside one request would still be valid in alertmanager, so
it's not severe.
(cherry picked from commit ae4d376e41
)
146 lines
5.5 KiB
Go
146 lines
5.5 KiB
Go
// Code generated by qtc from "alertmanager_request.qtpl". DO NOT EDIT.
|
|
// See https://github.com/valyala/quicktemplate for details.
|
|
|
|
//line app/vmalert/notifier/alertmanager_request.qtpl:1
|
|
package notifier
|
|
|
|
//line app/vmalert/notifier/alertmanager_request.qtpl:1
|
|
import (
|
|
"time"
|
|
|
|
"github.com/VictoriaMetrics/VictoriaMetrics/lib/promrelabel"
|
|
)
|
|
|
|
//line app/vmalert/notifier/alertmanager_request.qtpl:8
|
|
import (
|
|
qtio422016 "io"
|
|
|
|
qt422016 "github.com/valyala/quicktemplate"
|
|
)
|
|
|
|
//line app/vmalert/notifier/alertmanager_request.qtpl:8
|
|
var (
|
|
_ = qtio422016.Copy
|
|
_ = qt422016.AcquireByteBuffer
|
|
)
|
|
|
|
//line app/vmalert/notifier/alertmanager_request.qtpl:8
|
|
func streamamRequest(qw422016 *qt422016.Writer, alerts []Alert, generatorURL func(Alert) string, relabelCfg *promrelabel.ParsedConfigs) {
|
|
//line app/vmalert/notifier/alertmanager_request.qtpl:8
|
|
qw422016.N().S(`[`)
|
|
//line app/vmalert/notifier/alertmanager_request.qtpl:10
|
|
for i, alert := range alerts {
|
|
//line app/vmalert/notifier/alertmanager_request.qtpl:11
|
|
lbls := alert.applyRelabelingIfNeeded(relabelCfg)
|
|
|
|
//line app/vmalert/notifier/alertmanager_request.qtpl:12
|
|
if len(lbls) == 0 {
|
|
//line app/vmalert/notifier/alertmanager_request.qtpl:12
|
|
continue
|
|
//line app/vmalert/notifier/alertmanager_request.qtpl:12
|
|
}
|
|
//line app/vmalert/notifier/alertmanager_request.qtpl:12
|
|
qw422016.N().S(`{"startsAt":`)
|
|
//line app/vmalert/notifier/alertmanager_request.qtpl:14
|
|
qw422016.N().Q(alert.Start.Format(time.RFC3339Nano))
|
|
//line app/vmalert/notifier/alertmanager_request.qtpl:14
|
|
qw422016.N().S(`,"generatorURL":`)
|
|
//line app/vmalert/notifier/alertmanager_request.qtpl:15
|
|
qw422016.N().Q(generatorURL(alert))
|
|
//line app/vmalert/notifier/alertmanager_request.qtpl:15
|
|
qw422016.N().S(`,`)
|
|
//line app/vmalert/notifier/alertmanager_request.qtpl:16
|
|
if !alert.End.IsZero() {
|
|
//line app/vmalert/notifier/alertmanager_request.qtpl:16
|
|
qw422016.N().S(`"endsAt":`)
|
|
//line app/vmalert/notifier/alertmanager_request.qtpl:17
|
|
qw422016.N().Q(alert.End.Format(time.RFC3339Nano))
|
|
//line app/vmalert/notifier/alertmanager_request.qtpl:17
|
|
qw422016.N().S(`,`)
|
|
//line app/vmalert/notifier/alertmanager_request.qtpl:18
|
|
}
|
|
//line app/vmalert/notifier/alertmanager_request.qtpl:18
|
|
qw422016.N().S(`"labels": {`)
|
|
//line app/vmalert/notifier/alertmanager_request.qtpl:20
|
|
ll := len(lbls)
|
|
|
|
//line app/vmalert/notifier/alertmanager_request.qtpl:21
|
|
for idx, l := range lbls {
|
|
//line app/vmalert/notifier/alertmanager_request.qtpl:22
|
|
qw422016.N().Q(l.Name)
|
|
//line app/vmalert/notifier/alertmanager_request.qtpl:22
|
|
qw422016.N().S(`:`)
|
|
//line app/vmalert/notifier/alertmanager_request.qtpl:22
|
|
qw422016.N().Q(l.Value)
|
|
//line app/vmalert/notifier/alertmanager_request.qtpl:22
|
|
if idx != ll-1 {
|
|
//line app/vmalert/notifier/alertmanager_request.qtpl:22
|
|
qw422016.N().S(`,`)
|
|
//line app/vmalert/notifier/alertmanager_request.qtpl:22
|
|
}
|
|
//line app/vmalert/notifier/alertmanager_request.qtpl:23
|
|
}
|
|
//line app/vmalert/notifier/alertmanager_request.qtpl:23
|
|
qw422016.N().S(`},"annotations": {`)
|
|
//line app/vmalert/notifier/alertmanager_request.qtpl:26
|
|
c := len(alert.Annotations)
|
|
|
|
//line app/vmalert/notifier/alertmanager_request.qtpl:27
|
|
for k, v := range alert.Annotations {
|
|
//line app/vmalert/notifier/alertmanager_request.qtpl:28
|
|
c = c - 1
|
|
|
|
//line app/vmalert/notifier/alertmanager_request.qtpl:29
|
|
qw422016.N().Q(k)
|
|
//line app/vmalert/notifier/alertmanager_request.qtpl:29
|
|
qw422016.N().S(`:`)
|
|
//line app/vmalert/notifier/alertmanager_request.qtpl:29
|
|
qw422016.N().Q(v)
|
|
//line app/vmalert/notifier/alertmanager_request.qtpl:29
|
|
if c > 0 {
|
|
//line app/vmalert/notifier/alertmanager_request.qtpl:29
|
|
qw422016.N().S(`,`)
|
|
//line app/vmalert/notifier/alertmanager_request.qtpl:29
|
|
}
|
|
//line app/vmalert/notifier/alertmanager_request.qtpl:30
|
|
}
|
|
//line app/vmalert/notifier/alertmanager_request.qtpl:30
|
|
qw422016.N().S(`}}`)
|
|
//line app/vmalert/notifier/alertmanager_request.qtpl:33
|
|
if i != len(alerts)-1 {
|
|
//line app/vmalert/notifier/alertmanager_request.qtpl:33
|
|
qw422016.N().S(`,`)
|
|
//line app/vmalert/notifier/alertmanager_request.qtpl:33
|
|
}
|
|
//line app/vmalert/notifier/alertmanager_request.qtpl:34
|
|
}
|
|
//line app/vmalert/notifier/alertmanager_request.qtpl:34
|
|
qw422016.N().S(`]`)
|
|
//line app/vmalert/notifier/alertmanager_request.qtpl:36
|
|
}
|
|
|
|
//line app/vmalert/notifier/alertmanager_request.qtpl:36
|
|
func writeamRequest(qq422016 qtio422016.Writer, alerts []Alert, generatorURL func(Alert) string, relabelCfg *promrelabel.ParsedConfigs) {
|
|
//line app/vmalert/notifier/alertmanager_request.qtpl:36
|
|
qw422016 := qt422016.AcquireWriter(qq422016)
|
|
//line app/vmalert/notifier/alertmanager_request.qtpl:36
|
|
streamamRequest(qw422016, alerts, generatorURL, relabelCfg)
|
|
//line app/vmalert/notifier/alertmanager_request.qtpl:36
|
|
qt422016.ReleaseWriter(qw422016)
|
|
//line app/vmalert/notifier/alertmanager_request.qtpl:36
|
|
}
|
|
|
|
//line app/vmalert/notifier/alertmanager_request.qtpl:36
|
|
func amRequest(alerts []Alert, generatorURL func(Alert) string, relabelCfg *promrelabel.ParsedConfigs) string {
|
|
//line app/vmalert/notifier/alertmanager_request.qtpl:36
|
|
qb422016 := qt422016.AcquireByteBuffer()
|
|
//line app/vmalert/notifier/alertmanager_request.qtpl:36
|
|
writeamRequest(qb422016, alerts, generatorURL, relabelCfg)
|
|
//line app/vmalert/notifier/alertmanager_request.qtpl:36
|
|
qs422016 := string(qb422016.B)
|
|
//line app/vmalert/notifier/alertmanager_request.qtpl:36
|
|
qt422016.ReleaseByteBuffer(qb422016)
|
|
//line app/vmalert/notifier/alertmanager_request.qtpl:36
|
|
return qs422016
|
|
//line app/vmalert/notifier/alertmanager_request.qtpl:36
|
|
}
|