Hello!
Is it possible to convert rules from Grafana to VMalert?
They have a different format for representing objects,so is there any solution to do this via provision API/file?
Grafana rule:
Exported rule from Grafana
- orgId: 1
...
rules:
- uid: hAz5MU0Vz
title: Atlassian Confluence Memory Usage by JVM
condition: D
data:
...
expr: (sum(jvm_memory_bytes_used{job=~"confluence-monitors"}) / sum(node_memory_MemTotal_bytes{instance="10.30.30.30:9100"})) * 100
intervalMs: 1000
legendFormat: 'memory usage by Confluence {{ job }} '
maxDataPoints: 43200
range: true
refId: A
- refId: C
datasourceUid: "-100"
model:
conditions:
- evaluator:
params:
- 0
- 0
type: gt
operator:
type: and
query:
params: []
reducer:
params: []
type: avg
type: query
datasource:
name: Expression
type: __expr__
uid: __expr__
expression: A
intervalMs: 1000
maxDataPoints: 43200
reducer: mean
refId: C
type: reduce
- refId: D
datasourceUid: "-100"
model:
conditions:
- evaluator:
params:
- 0
- 0
type: gt
operator:
type: and
query:
params: []
reducer:
params: []
type: avg
type: query
datasource:
name: Expression
type: __expr__
uid: __expr__
expression: $C>85
hide: false
intervalMs: 1000
maxDataPoints: 43200
refId: D
type: math
dashboardUid: weu2IqiVk
panelId: 7
noDataState: NoData
execErrState: Error
for: 5m
annotations:
__alertId__: "85"
__dashboardUid__: weuIqiVk
__panelId__: "7"
message: JVM использует > 85% памяти хоста:{{ $values.C.Value }}
labels:
__contacts__: '"Atlassian alert [telegram]","Product support [JIRA]"'
rule_uid: hAz5MU0Vz
team: Expl
isPaused: false
VMalert rule (I need to get this format):
Manual configured at VMalert yaml file
apiVersion: operator.victoriametrics.com/v1beta1
kind: VMRule
metadata:
namespace: vmalert
name: victoria-metrics-k8s-stack-sre
labels:
app: victoria-metrics-k8s-stack
helm.sh/chart: victoria-metrics-k8s-stack-0.14.12
app.kubernetes.io/name: victoria-metrics-k8s-stack
app.kubernetes.io/version: "1.88.1"
app.kubernetes.io/managed-by: Helm
spec:
groups:
- name: Atlassian Confluence
rules:
- alert: Atlassian Confluence Memory Usage by JVM
annotations:
message: 'JVM использует > 85% памяти хоста:{{`{{`}} $value {{`}}`}}'
runbook_url: https://www.google.ru
metrics: https://grafana.test.io/d/aloalert/slo-alert?from=now-15m&to=now&orgId=1&viewPanel=40
expr: |-
(sum(jvm_memory_bytes_used{job=~"confluence-monitors"}) / sum(node_memory_MemTotal_bytes{instance="10.30.30.30:9100"})) * 100 > 85
for: 5m
labels:
team: Expl