Add Prometheus alerts to documentation
Change-Id: I42431e65967de60e8bdf7a46d84fdb43fb5185a0
diff --git a/sphinx/files/salt/source/services/monitoring.rst b/sphinx/files/salt/source/services/monitoring.rst
index 237bf54..6e55e90 100644
--- a/sphinx/files/salt/source/services/monitoring.rst
+++ b/sphinx/files/salt/source/services/monitoring.rst
@@ -22,8 +22,33 @@
Functional Alarms Definitions
=============================
-The explanation of columns.
+{%- if grains.get('prometheus') is mapping %}
+.. list-table::
+ :header-rows: 1
+
+ * - **Alarm**
+ - **Description**
+ - **Labels**
+ - **Rule**
+ {%- set alarms = {} %}
+ {%- for node_name, node_grains in salt['mine.get']('*', 'grains.items')|dictsort %}
+ {%- if node_grains.get('prometheus', {}).get('server', {}).get('alert', {}) is mapping %}
+ {%- for alarm_name, alarm_def in node_grains.get('prometheus', {}).get('server', {}).get('alert', {})|dictsort %}
+ {%- if not alarms.get(alarm_name) %}
+ {%- do alarms.update({alarm_name: alarm_def}) %}
+ {%- endif %}
+ {%- endfor %}
+ {%- endif %}
+ {%- endfor %}
+
+ {%- for name, alarm in alarms|dictsort %}
+ * - {{ name }}
+ - {{ alarm.annotations.description }}
+ - {%- for k,v in alarm.get('labels', {})|dictsort %} {{ k }} = {{ v }}{%- endfor %}
+ - {{ alarm.if|replace("\n", "") }}
+ {%- endfor %}
+{%- else %}
**Node**
Node where the alarm is defined
@@ -78,3 +103,4 @@
{%- endfor %}
{%- endif %}
{%- endfor %}
+{%- endif %}