Mercurial > code > home > repos > victoriametrics
annotate tasks.py @ 49:febc20caabcb
more alerts
author | drewp@bigasterisk.com |
---|---|
date | Sun, 10 Mar 2024 14:49:32 -0700 |
parents | 3b91d52b007d |
children | 21185db8a52e |
rev | line source |
---|---|
20 | 1 import yaml |
4
1eb6e6a2b9b6
version control configs finally; use configmaps to present them to VM
drewp@bigasterisk.com
parents:
diff
changeset
|
2 from invoke import task |
20 | 3 from kubernetes import config |
4
1eb6e6a2b9b6
version control configs finally; use configmaps to present them to VM
drewp@bigasterisk.com
parents:
diff
changeset
|
4 |
22
cd115f1ca2a8
use configmaps and a special pod refresh trick
drewp@bigasterisk.com
parents:
20
diff
changeset
|
5 import alert_rules |
27 | 6 from k8s_ops import firstPodName, refreshPodCmaps, replaceCmap |
4
1eb6e6a2b9b6
version control configs finally; use configmaps to present them to VM
drewp@bigasterisk.com
parents:
diff
changeset
|
7 |
20 | 8 config.load_kube_config() |
12 | 9 |
10 | |
22
cd115f1ca2a8
use configmaps and a special pod refresh trick
drewp@bigasterisk.com
parents:
20
diff
changeset
|
11 @task |
cd115f1ca2a8
use configmaps and a special pod refresh trick
drewp@bigasterisk.com
parents:
20
diff
changeset
|
12 def push_config(ctx): |
cd115f1ca2a8
use configmaps and a special pod refresh trick
drewp@bigasterisk.com
parents:
20
diff
changeset
|
13 configObj = scrapeConfig(ctx) |
32
eb1de82c93aa
refactor the merging of all the groups
drewp@bigasterisk.com
parents:
27
diff
changeset
|
14 rulesObj = alert_rules.allRules(ctx) |
10 | 15 |
22
cd115f1ca2a8
use configmaps and a special pod refresh trick
drewp@bigasterisk.com
parents:
20
diff
changeset
|
16 replaceCmap("victoriametrics-config", {"scrape_main": configObj, "rules": rulesObj}) |
4
1eb6e6a2b9b6
version control configs finally; use configmaps to present them to VM
drewp@bigasterisk.com
parents:
diff
changeset
|
17 |
34 | 18 # these don't give errors on rules format! they just quietly keep the old |
19 # rules! use `skaffold run` to get errs. | |
20 # | |
21 # or run | |
22 # validateTemplates = flag.Bool("rule.validateTemplates", true, "Whether to validate annotation and label templates") | |
23 # validateExpressions = flag.Bool("rule.validateExpressions", true, "Whether to validate rules expressions via MetricsQL engine") | |
24 | |
22
cd115f1ca2a8
use configmaps and a special pod refresh trick
drewp@bigasterisk.com
parents:
20
diff
changeset
|
25 refreshPodCmaps(firstPodName("app=victoriametrics")) |
cd115f1ca2a8
use configmaps and a special pod refresh trick
drewp@bigasterisk.com
parents:
20
diff
changeset
|
26 refreshPodCmaps(firstPodName("app=vmalert")) |
4
1eb6e6a2b9b6
version control configs finally; use configmaps to present them to VM
drewp@bigasterisk.com
parents:
diff
changeset
|
27 |
22
cd115f1ca2a8
use configmaps and a special pod refresh trick
drewp@bigasterisk.com
parents:
20
diff
changeset
|
28 # If the VM reloader isn't fast enough, we could do this too: |
cd115f1ca2a8
use configmaps and a special pod refresh trick
drewp@bigasterisk.com
parents:
20
diff
changeset
|
29 # hup(ctx, 'deploy/victoriametrics', 'victoria-metrics-prod') |
20 | 30 |
31 | |
32 def scrapeConfig(ctx): | |
22
cd115f1ca2a8
use configmaps and a special pod refresh trick
drewp@bigasterisk.com
parents:
20
diff
changeset
|
33 return yaml.load(open("config/scrape_main.yaml"), yaml.FullLoader) |