mirror of
https://github.com/VictoriaMetrics/VictoriaMetrics.git
synced 2024-12-15 08:23:34 +01:00
9f578e389c
The commit adds a support for template function `query`, `first` and `value`. The function `query` executes a MetricsQL query for active alerts. In vmalert we update templates on every evaluation for active alerts to keep them up to date. With `query` func it may become a perf issue since it will fire a query on every execution. We should keep it in mind for now. https://github.com/VictoriaMetrics/VictoriaMetrics/issues/539
42 lines
1.4 KiB
Plaintext
42 lines
1.4 KiB
Plaintext
groups:
|
|
- name: TestGroup
|
|
interval: 2s
|
|
concurrency: 2
|
|
rules:
|
|
- alert: Conns
|
|
expr: sum(vm_tcplistener_conns) by(instance) > 1
|
|
for: 3m
|
|
annotations:
|
|
summary: Too high connection number for {{$labels.instance}}
|
|
{{ with printf "sum(vm_tcplistener_conns{instance=%q})" .Labels.instance | query }}
|
|
{{ . | first | value }}
|
|
{{ end }}
|
|
description: "It is {{ $value }} connections for {{$labels.instance}}"
|
|
- alert: ExampleAlertAlwaysFiring
|
|
expr: sum by(job)
|
|
(up == 1)
|
|
annotations:
|
|
summary: Instances up {{ range query "up" }}
|
|
{{ . | label "instance" }}
|
|
{{ end }}
|
|
- record: handler:requests:rate5m
|
|
expr: sum(rate(prometheus_http_requests_total[5m])) by (handler)
|
|
labels:
|
|
recording: true
|
|
- record: code:requests:rate5m
|
|
expr: sum(rate(promhttp_metric_handler_requests_total[5m])) by (code)
|
|
labels:
|
|
env: dev
|
|
recording: true
|
|
- record: code:requests:rate5m
|
|
expr: sum(rate(promhttp_metric_handler_requests_total[5m])) by (code)
|
|
labels:
|
|
env: staging
|
|
recording: true
|
|
- record: successful_requests:ratio_rate5m
|
|
labels:
|
|
recording: true
|
|
expr: |2
|
|
sum(code:requests:rate5m{code="200"})
|
|
/
|
|
sum(code:requests:rate5m) |