summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristian Pointner <equinox@spreadspace.org>2022-03-11 21:29:32 +0100
committerChristian Pointner <equinox@spreadspace.org>2022-03-11 21:29:32 +0100
commit91ed93a6fb112928bdce45c5bfb608c6ff26a611 (patch)
tree3e28f6c111086d9d1429d786130946393a1e6cb0
parentalerta: improve support for mailer (diff)
alerta: less hardcoded stuff in configs
-rw-r--r--inventory/host_vars/ch-apps.yml10
-rw-r--r--roles/monitoring/alerta/defaults/main.yml23
-rw-r--r--roles/monitoring/alerta/templates/alertad.conf.j2.j217
3 files changed, 40 insertions, 10 deletions
diff --git a/inventory/host_vars/ch-apps.yml b/inventory/host_vars/ch-apps.yml
index e2cf56ee..f7802750 100644
--- a/inventory/host_vars/ch-apps.yml
+++ b/inventory/host_vars/ch-apps.yml
@@ -139,13 +139,21 @@ alerta_redis_version: 6.2.6
alerta_web_secret_key: "{{ vault_alerta_web_secret_key }}"
alerta_postgres_password: "{{ vault_alerta_postgres_password }}"
+alerta_default_environment: unknown
+alerta_environments:
+ - unknown
+ - chaos-at-.*
+
alerta_plugins:
- reject
- blackout
- heartbeat
- - prometheus
- amqp
+alerta_plugin_heartbeat:
+ events:
+ - PrometheusAlertmanagerE2eDeadManSwitch
+
alerta_mailer:
severities: critical, warning
smtp_host: 192.168.28.250
diff --git a/roles/monitoring/alerta/defaults/main.yml b/roles/monitoring/alerta/defaults/main.yml
index 0720e00d..3175fe13 100644
--- a/roles/monitoring/alerta/defaults/main.yml
+++ b/roles/monitoring/alerta/defaults/main.yml
@@ -13,10 +13,33 @@ alerta_web_port: 8080
# alerta_web_secret_key: "randomstring"
# alerta_postgres_password: "secret"
+
+alerta_alert_timeout: 86400
+alerta_heartbeat_timeout: 7200
+
+alerta_default_environment: Development
+alerta_environments:
+ - Production
+ - Staging
+ - Development
+
alerta_plugins:
- reject
- blackout
+# alerta_plugin_heartbeat:
+# events:
+# - PrometheusAlertmanagerE2eDeadManSwitch
+
+# alerta_plugin_prometheus:
+# api_url: 'http://192.0.2.3:9093'
+# use_externalurl_for_silences: False
+# username: 'alerta'
+# password: 'secret'
+# silence_days: 1
+# silence_from_ack: True
+
+
# alerta_mailer:
# severities: critical, major, minor
# smtp_host: 192.0.2.1
diff --git a/roles/monitoring/alerta/templates/alertad.conf.j2.j2 b/roles/monitoring/alerta/templates/alertad.conf.j2.j2
index 54089a76..b013f480 100644
--- a/roles/monitoring/alerta/templates/alertad.conf.j2.j2
+++ b/roles/monitoring/alerta/templates/alertad.conf.j2.j2
@@ -1,18 +1,17 @@
DEBUG = {{ '{{' }} 'True' if env.DEBUG else 'False' {{ '}}' }}
SECRET = "{{ '{{' }} env.SECRET_KEY {{ '}}' }}"
-ALERT_TIMEOUT = 86400
-HEARTBEAT_TIMEOUT = 7200
+ALERT_TIMEOUT = {{ alerta_alert_timeout }}
+HEARTBEAT_TIMEOUT = {{ alerta_heartbeat_timeout }}
+DEFAULT_ENVIRONMENT = '{{ alerta_default_environment }}'
+ALLOWED_ENVIRONMENTS = ['{{ alerta_environments | join("', '") }}']
PLUGINS = ['{{ alerta_plugins | join("', '") }}']
-DEFAULT_ENVIRONMENT = 'unknown'
-ALLOWED_ENVIRONMENTS = ['unknown', 'chaos-at-.*']
{% if 'heartbeat' in alerta_plugins %}
-HEARTBEAT_EVENTS = ['PrometheusAlertmanagerE2eDeadManSwitch']
+HEARTBEAT_EVENTS = ['{{ alerta_plugin_heartbeat.events | join("', '") }}']
{% endif %}
{% if 'prometheus' in alerta_plugins %}
-ALERTMANAGER_USERNAME = 'alerta'
-ALERTMANAGER_PASSWORD = 'alerta'
-ALERTMANAGER_SILENCE_FROM_ACK = True
-ALERTMANAGER_USE_EXTERNALURL_FOR_SILENCES = True
+{% for opt, value in alerta_plugin_prometheus.items() %}
+ALERTMANAGER_{{ opt | upper }} = {{ value }}
+{% endfor %}
{% endif %}
{% if 'amqp' in alerta_plugins %}
AMQP_URL = 'redis://localhost:6379/'