Mercurial > code > home > repos > victoriametrics
changeset 73:c3d13fab248e
alertmanager deployment
author | drewp@bigasterisk.com |
---|---|
date | Fri, 03 May 2024 14:40:29 -0700 |
parents | 85d9dae18656 |
children | 177c0a2eab1e |
files | create_k8s.py create_scrape_configs.py index_page.py |
diffstat | 3 files changed, 33 insertions(+), 60 deletions(-) [+] |
line wrap: on
line diff
--- a/create_k8s.py Fri May 03 13:33:33 2024 -0700 +++ b/create_k8s.py Fri May 03 14:40:29 2024 -0700 @@ -240,7 +240,7 @@ f"-datasource.url=http://{objPrefix}-vmselect/m/vmselect/select/0/prometheus", f"-http.pathPrefix={webRoot}/vmalert/", - f"-notifier.url=http://{objPrefix}-alertmanager", + f"-notifier.url=http://{objPrefix}-alertmanager/m/alertmanager", # todo: remoteWrite should go to vminsert; not sure how to test it # "-remoteRead.url=http://victoriametrics/m/", @@ -266,81 +266,46 @@ def createAlertmanagerObjs(tzArg, objPrefix, webRoot, policy): - createPv(f'{objPrefix}-4vmalert', "opt-alertmanager", '50Gi') - createPvc(f'{objPrefix}-4vmalert', "opt-alertmanager", '50Gi') + createPv(f'{objPrefix}-5vmalertmanager', "opt-alertmanager", '50Gi') + createPvc(f'{objPrefix}-5vmalertmanager', "opt-alertmanager", '50Gi') + amName = f'{objPrefix}-alertmanager' (build / f'{objPrefix}-5alertmanager_deploy.yaml').write_text( toJson({ - "apiVersion": "apps/v1", - "kind": "Deployment", - "metadata": { - "name": "alertmanager" - }, + "apiVersion": "apps/v1", "kind": "Deployment", "metadata": { "name": amName }, "spec": { "replicas": 1, - "selector": { - "matchLabels": { - "app": "alertmanager" - } - }, + "selector": { "matchLabels": { "app": amName } }, "template": { - "metadata": { - "labels": { - "app": "alertmanager" - } - }, + "metadata": { "labels": { "app": amName } }, "spec": { - "volumes": [{ - "name": "opt-alertmanager", - "persistentVolumeClaim": { - "claimName": "opt-alertmanager" - } - }], + "volumes": [{ "name": "opt-alertmanager", "persistentVolumeClaim": { "claimName": "opt-alertmanager" } }], "serviceAccountName": "victoriametrics", "containers": [{ - "name": "alertmanager", - "image": "docker.io/prom/alertmanager:v0.27.0", - "imagePullPolicy": "IfNotPresent", + "name": "alertmanager", "image": "docker.io/prom/alertmanager:v0.27.0", "imagePullPolicy": "IfNotPresent", "args": [ + "--log.level=debug", "--config.file=/alertmanager/alertmanager.yml", - "--web.external-url=https://bigasterisk.com/alertmanager/", - "--web.route-prefix=/", - "--log.level=info", + f"--web.external-url=https://bigasterisk.com{webRoot}/alertmanager/", + f"--web.route-prefix={webRoot}/alertmanager", ], - "ports": [{ - "containerPort": 9093 - }], - "volumeMounts": [{ - "name": "opt-alertmanager", - "mountPath": "/alertmanager" - }] + "ports": [{ "containerPort": 9093 }], + "volumeMounts": [{ "name": "opt-alertmanager", "mountPath": "/alertmanager" }] }], "affinity": affinityToNode("ditto"), } } } - })) + })) # yapf: disable - createSvc(f'{objPrefix}-5alertmanager', "alertmanager", [{"port": 80, "targetPort": 9093}]) + createSvc(f'{objPrefix}-5alertmanager', amName, [{"port": 80, "targetPort": 9093}]) createIngress( f'{objPrefix}-5alertmanager_ingress.yaml', - "alertmanager", + amName, policy, - # "ingress.pomerium.io/prefix_rewrite": "/" - [{ - "pathType": "Prefix", - "path": "/alertmanager/", - "backend": { - "service": { - "name": "alertmanager", - "port": { - "number": 80 - } - } - } - }], + [{ "pathType": "Prefix", "path": "/m/alertmanager/", "backend": { "service": { "name": amName, "port": { "number": 80 } } } }], "bigasterisk.com", - ) + ) # yapf: disable def main(): @@ -379,10 +344,7 @@ createIngress(f'{objPrefix}-2ingress.yaml', objPrefix, policy, ingressPaths, webHost) createIndex(objPrefix, webRoot, makeIndexHtml(objPrefix, webRoot, webHost)) createVmalertObjs(tzArg, objPrefix, webRoot, policy, vmVersion) - # createAlertmanagerObjs(tzArg, objPrefix, webRoot, policy) + createAlertmanagerObjs(tzArg, objPrefix, webRoot, policy) main() - -# in vmui, set server url to -# https://bigasterisk.com{webRoot}/vmselect/select/0/prometheus
--- a/create_scrape_configs.py Fri May 03 13:33:33 2024 -0700 +++ b/create_scrape_configs.py Fri May 03 14:40:29 2024 -0700 @@ -62,6 +62,7 @@ jobConfig(name="victoriametrics-recent-vmstorage", metrics_path='/m/recent/vmstorage/metrics', targets=FromName), jobConfig(name="victoriametrics-vmselect", metrics_path='/m/vmselect/metrics', targets=FromName), jobConfig(name="victoriametrics-vmalert", metrics_path='/m/vmalert/metrics', targets=FromName), + jobConfig(name="victoriametrics-alertmanager", metrics_path='/m/alertmanager/metrics', targets=FromName), jobConfig(name="victoriametrics-index", targets=FromName), # todo:
--- a/index_page.py Fri May 03 13:33:33 2024 -0700 +++ b/index_page.py Fri May 03 14:40:29 2024 -0700 @@ -71,8 +71,18 @@ <h2>vmalert</h2> <table> <tr> - <td><a href="/vmalert">vmalert</a></td> - <td><a href="/vmalert/metrics">metrics</a></td> + <td><a href="vmalert/">vmalert</a></td> + <td><a href="vmalert/metrics">metrics</a></td> + </tr> + </table> + </section> + + <section> + <h2>alertmanager</h2> + <table> + <tr> + <td><a href="alertmanager/">alertmanager</a></td> + <td><a href="alertmanager/metrics">metrics</a></td> </tr> </table> </section>