mirror of
https://github.com/VictoriaMetrics/VictoriaMetrics.git
synced 2024-12-20 23:46:23 +01:00
2e2e4f7e21
On templates validation stage vmalert does not acutally send queries, so for complex chained expression validation may fail. To avoid this, we add a blank sample in response so validation can pass successfully. Later, during the rule execution, stub will be replaced with real `query` function. https://github.com/VictoriaMetrics/VictoriaMetrics/issues/989
46 lines
1.6 KiB
Plaintext
46 lines
1.6 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)
|
|
labels:
|
|
job: '{{ $labels.job }}'
|
|
dynamic: '{{ $x := query "up" | first | value }}{{ if eq 1.0 $x }}one{{ else }}unknown{{ end }}'
|
|
annotations:
|
|
description: Job {{ $labels.job }} is up!
|
|
summary: All 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) |