Render alertmanager config without yaml filter
Change-Id: Ie86bb95ab7bf37291347ca4533fe20bbd95484e1
This commit is contained in:
parent
3d960a15b4
commit
953510a4d8
2 changed files with 49 additions and 13 deletions
|
@ -11,29 +11,37 @@ parameters:
|
|||
global:
|
||||
resolve_timeout: 5m
|
||||
route:
|
||||
group_by: ['alertname', 'region', 'service']
|
||||
group_by: ['region', 'service']
|
||||
group_wait: 60s
|
||||
group_interval: 5m
|
||||
repeat_interval: 3h
|
||||
receiver: HTTP-notification
|
||||
inhibit_rules:
|
||||
- source_match:
|
||||
inhibit_rule:
|
||||
InhibitCriticalWhenDown:
|
||||
enabled: true
|
||||
source_match:
|
||||
severity: 'down'
|
||||
target_match:
|
||||
severity: 'critical'
|
||||
equal: ['region', 'service']
|
||||
- source_match:
|
||||
InhibitWarningWhenDown:
|
||||
enabled: true
|
||||
source_match:
|
||||
severity: 'down'
|
||||
target_match:
|
||||
severity: 'warning'
|
||||
equal: ['region', 'service']
|
||||
- source_match:
|
||||
InhibitWarningWhenCritical:
|
||||
enabled: true
|
||||
source_match:
|
||||
severity: 'critical'
|
||||
target_match:
|
||||
severity: 'warning'
|
||||
equal: ['alertname', 'region', 'service']
|
||||
receivers:
|
||||
- name: 'HTTP-notification'
|
||||
receiver:
|
||||
HTTP-notification:
|
||||
enabled: true
|
||||
webhook_configs:
|
||||
- url: http://127.0.0.1
|
||||
localhost:
|
||||
url: http://127.0.0.1
|
||||
send_resolved: true
|
||||
|
|
|
@ -1,7 +1,9 @@
|
|||
{% from "prometheus/map.jinja" import alertmanager with context %}
|
||||
global:
|
||||
{%- if alertmanager.config.global is defined %}
|
||||
{{ alertmanager.config.global | yaml(False) | indent(2, true) }}
|
||||
{%- if alertmanager.config.global.resolve_timeout is defined %}
|
||||
resolve_timeout: {{ alertmanager.config.global.resolve_timeout }}
|
||||
{%- endif %}
|
||||
{%- endif %}
|
||||
|
||||
route:
|
||||
|
@ -10,11 +12,37 @@ route:
|
|||
{%- endif %}
|
||||
|
||||
inhibit_rules:
|
||||
{%- if alertmanager.config.inhibit_rules is defined %}
|
||||
{{ alertmanager.config.inhibit_rules | yaml(False) | indent(2, true) }}
|
||||
{%- for name, rule in alertmanager.config.get('inhibit_rule', {}).iteritems() %}
|
||||
{%- if rule.get('enabled', True) %}
|
||||
# {{ name }}
|
||||
- source_match:
|
||||
{%- for key, value in rule.source_match.iteritems() %}
|
||||
{{ key }}: {{ value }}
|
||||
{%- endfor %}
|
||||
target_match:
|
||||
{%- for key, value in rule.target_match.iteritems() %}
|
||||
{{ key }}: {{ value }}
|
||||
{%- endfor %}
|
||||
equal:
|
||||
{%- for key in rule.equal %}
|
||||
- {{ key }}
|
||||
{%- endfor %}
|
||||
{%- endif %}
|
||||
{%- endfor %}
|
||||
|
||||
receivers:
|
||||
{%- if alertmanager.config.receivers is defined %}
|
||||
{{ alertmanager.config.receivers | yaml(False) | indent(2, true) }}
|
||||
{%- for name, config in alertmanager.config.get('receiver', {}).iteritems() %}
|
||||
{%- if config.get('enabled', True) %}
|
||||
- name: '{{ name }}'
|
||||
{%- if config.webhook_configs is defined %}
|
||||
webhook_configs:
|
||||
{%- for name, webhook in config.webhook_configs.iteritems() %}
|
||||
# {{ name }}
|
||||
- url: {{ webhook.url }}
|
||||
{%- if webhook.send_resolved is defined %}
|
||||
send_resolved: {{ webhook.send_resolved | lower }}
|
||||
{%- endif %}
|
||||
{%- endfor %}
|
||||
{%- endif %}
|
||||
{%- endif %}
|
||||
{%- endfor %}
|
||||
|
|
Loading…
Reference in a new issue