mirror of
https://github.com/VictoriaMetrics/VictoriaMetrics.git
synced 2024-11-27 02:46:47 +01:00
5b8450fc1b
app/vmalert: detect alerting rules which don't match any series at all vmalert starts to understand /query responses which contain object: ``` "stats":{"seriesFetched": "42"} ``` If object is present, vmalert parses it and populates a new field `SeriesFetched`. This field is then used to populate the new metric `vmalert_alerting_rules_last_evaluation_series_fetched` and to display warnings in the vmalert's UI. If response doesn't contain the new object (Prometheus or VictoriaMetrics earlier than v1.90), then `SeriesFetched=nil`. In this case, UI will contain no additional warnings. And `vmalert_alerting_rules_last_evaluation_series_fetched` will be set to `-1`. Negative value of the metric will help to compile correct alerting rule in follow-up. Thanks for the initial implementation to @Haleygo See https://github.com/VictoriaMetrics/VictoriaMetrics/pull/4056 See https://github.com/VictoriaMetrics/VictoriaMetrics/issues/4039 Signed-off-by: hagen1778 <roman@victoriametrics.com>
112 lines
3.1 KiB
Go
112 lines
3.1 KiB
Go
// Code generated by qtc from "footer.qtpl". DO NOT EDIT.
|
|
// See https://github.com/valyala/quicktemplate for details.
|
|
|
|
//line app/vmalert/tpl/footer.qtpl:1
|
|
package tpl
|
|
|
|
//line app/vmalert/tpl/footer.qtpl:1
|
|
import (
|
|
"net/http"
|
|
|
|
"github.com/VictoriaMetrics/VictoriaMetrics/app/vmalert/utils"
|
|
)
|
|
|
|
//line app/vmalert/tpl/footer.qtpl:8
|
|
import (
|
|
qtio422016 "io"
|
|
|
|
qt422016 "github.com/valyala/quicktemplate"
|
|
)
|
|
|
|
//line app/vmalert/tpl/footer.qtpl:8
|
|
var (
|
|
_ = qtio422016.Copy
|
|
_ = qt422016.AcquireByteBuffer
|
|
)
|
|
|
|
//line app/vmalert/tpl/footer.qtpl:8
|
|
func StreamFooter(qw422016 *qt422016.Writer, r *http.Request) {
|
|
//line app/vmalert/tpl/footer.qtpl:8
|
|
qw422016.N().S(`
|
|
`)
|
|
//line app/vmalert/tpl/footer.qtpl:9
|
|
prefix := utils.Prefix(r.URL.Path)
|
|
|
|
//line app/vmalert/tpl/footer.qtpl:9
|
|
qw422016.N().S(`
|
|
</main>
|
|
<script src="`)
|
|
//line app/vmalert/tpl/footer.qtpl:11
|
|
qw422016.E().S(prefix)
|
|
//line app/vmalert/tpl/footer.qtpl:11
|
|
qw422016.N().S(`static/js/jquery-3.6.0.min.js" type="text/javascript"></script>
|
|
<script src="`)
|
|
//line app/vmalert/tpl/footer.qtpl:12
|
|
qw422016.E().S(prefix)
|
|
//line app/vmalert/tpl/footer.qtpl:12
|
|
qw422016.N().S(`static/js/bootstrap.bundle.min.js" type="text/javascript"></script>
|
|
<script type="text/javascript">
|
|
function expandAll() {
|
|
$('.collapse').addClass('show');
|
|
}
|
|
function collapseAll() {
|
|
$('.collapse').removeClass('show');
|
|
}
|
|
|
|
$(document).ready(function() {
|
|
// prevent collapse logic on link click
|
|
$(".group-heading a").click(function(e) {
|
|
e.stopPropagation();
|
|
});
|
|
|
|
$(".group-heading").click(function(e) {
|
|
let target = $(this).attr('data-bs-target');
|
|
let el = $("#"+target);
|
|
new bootstrap.Collapse(el, {
|
|
toggle: true
|
|
});
|
|
});
|
|
|
|
var hash = window.location.hash.substr(1);
|
|
let group = $("#"+hash);
|
|
if (group.length > 0) {
|
|
group.click();
|
|
}
|
|
});
|
|
|
|
$(document).ready(function() {
|
|
$('[data-bs-toggle="tooltip"]').tooltip();
|
|
});
|
|
</script>
|
|
</body>
|
|
</html>
|
|
`)
|
|
//line app/vmalert/tpl/footer.qtpl:48
|
|
}
|
|
|
|
//line app/vmalert/tpl/footer.qtpl:48
|
|
func WriteFooter(qq422016 qtio422016.Writer, r *http.Request) {
|
|
//line app/vmalert/tpl/footer.qtpl:48
|
|
qw422016 := qt422016.AcquireWriter(qq422016)
|
|
//line app/vmalert/tpl/footer.qtpl:48
|
|
StreamFooter(qw422016, r)
|
|
//line app/vmalert/tpl/footer.qtpl:48
|
|
qt422016.ReleaseWriter(qw422016)
|
|
//line app/vmalert/tpl/footer.qtpl:48
|
|
}
|
|
|
|
//line app/vmalert/tpl/footer.qtpl:48
|
|
func Footer(r *http.Request) string {
|
|
//line app/vmalert/tpl/footer.qtpl:48
|
|
qb422016 := qt422016.AcquireByteBuffer()
|
|
//line app/vmalert/tpl/footer.qtpl:48
|
|
WriteFooter(qb422016, r)
|
|
//line app/vmalert/tpl/footer.qtpl:48
|
|
qs422016 := string(qb422016.B)
|
|
//line app/vmalert/tpl/footer.qtpl:48
|
|
qt422016.ReleaseByteBuffer(qb422016)
|
|
//line app/vmalert/tpl/footer.qtpl:48
|
|
return qs422016
|
|
//line app/vmalert/tpl/footer.qtpl:48
|
|
}
|