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 %}
