diff --git a/roles/grafana/README.md b/roles/grafana/README.md index 8ea8797d..4b49f6a4 100644 --- a/roles/grafana/README.md +++ b/roles/grafana/README.md @@ -50,7 +50,8 @@ All variables which can be overridden are stored in [defaults/main.yml](defaults | `grafana_session` | {} | [session](http://docs.grafana.org/installation/configuration/#session) management configuration section | | `grafana_analytics` | {} | Google [analytics](http://docs.grafana.org/installation/configuration/#analytics) configuration section | | `grafana_smtp` | {} | [smtp](http://docs.grafana.org/installation/configuration/#smtp) configuration section | -| `grafana_alerting` | {} | [alerting](http://docs.grafana.org/installation/configuration/#alerting) configuration section | +| `grafana_alerting` | { execute_alerts: true } | [alerting](http://docs.grafana.org/installation/configuration/#alerting) configuration section, require Grafana v10 and below | +| `grafana_unified_alerting` | { enabled: true } | [unified_alerting](https://grafana.com/docs/grafana/latest/setup-grafana/configure-grafana/#unified_alerting) configuration section, require Grafana v11+ | | `grafana_log` | {} | [log](http://docs.grafana.org/installation/configuration/#log) configuration section | | `grafana_metrics` | {} | [metrics](http://docs.grafana.org/installation/configuration/#metrics) configuration section | | `grafana_tracing` | {} | [tracing](http://docs.grafana.org/installation/configuration/#tracing) configuration section | diff --git a/roles/grafana/defaults/main.yml b/roles/grafana/defaults/main.yml index 64319f37..958fc4c0 100644 --- a/roles/grafana/defaults/main.yml +++ b/roles/grafana/defaults/main.yml @@ -175,7 +175,12 @@ grafana_smtp: {} # password: # from_address: -# Enable grafana alerting mechanism +# Enable grafana unified alerting mechanism for grafana v11+ +grafana_unified_alerting: + enabled: true + +# REMOVED FROM Grafana v11+ +# Enable grafana alerting mechanism for grafana v10 and below grafana_alerting: execute_alerts: true # error_or_timeout: 'alerting' diff --git a/roles/grafana/templates/grafana.ini.j2 b/roles/grafana/templates/grafana.ini.j2 index 2392c86e..0abcbdf3 100644 --- a/roles/grafana/templates/grafana.ini.j2 +++ b/roles/grafana/templates/grafana.ini.j2 @@ -113,6 +113,19 @@ versions_to_keep = 20 enabled = true path = {{ grafana_data_dir }}/dashboards +{% if grafana_version == 'latest' or grafana_version.split('.')[0]|int >= 11 %} +# Unified Alerting +[unified_alerting] +{% if grafana_unified_alerting != {} %} +{% for k,v in grafana_unified_alerting.items() %} +{{ k }} = {{ v }} +{% endfor %} +{% else %} +enabled = false +{% endif %} +{% endif %} + +{% if grafana_version != 'latest' and grafana_version.split('.')[0]|int < 11 %} # Alerting [alerting] {% if grafana_alerting != {} %} @@ -125,6 +138,7 @@ enabled = true {% else %} enabled = false {% endif %} +{% endif %} # SMTP and email config {% if grafana_smtp != {} %}