diff --git a/sphinx/_salt.sls b/sphinx/_salt.sls
index ae677fb..d364cd5 100644
--- a/sphinx/_salt.sls
+++ b/sphinx/_salt.sls
@@ -47,6 +47,16 @@
   - defaults:
     doc_name: "{{ doc_name }}"
 
+/srv/static/extern/salt/source/services/monitoring.rst:
+  file.managed:
+  - source: salt://sphinx/files/salt/source/services/monitoring.rst
+  - template: jinja
+  - mode: 644
+  - require:
+    - file: salt_mine_doc_dirs
+  - defaults:
+    doc_name: "{{ doc_name }}"
+
 /srv/static/extern/salt/source/services/endpoints.rst:
   file.managed:
   - source: salt://sphinx/files/salt/source/services/endpoints.rst
@@ -77,7 +87,10 @@
   - defaults:
     doc_name: "{{ doc_name }}"
 
-{%- for node_name, node_grains in salt['mine.get']('*', 'grains.items').iteritems() %}
+{%- set mine_nodes = salt['mine.get']('*', 'grains.items') %}
+{%- if mine_nodes is mapping %}
+
+{%- for node_name, node_grains in mine_nodes.iteritems() %}
 
 /srv/static/extern/salt/source/nodes/{{ node_name }}.rst:
   file.managed:
@@ -92,6 +105,8 @@
 
 {%- endfor %}
 
+{%- endif %}
+
 generate_sphinx_doc_{{ doc_name }}:
   cmd.run:
   - name: sphinx-build -b {{ doc.builder }} /srv/static/extern/salt/source /srv/static/sites/{{ doc_name }}
diff --git a/sphinx/files/salt/source/index.rst b/sphinx/files/salt/source/index.rst
index b505b4c..7c0b984 100644
--- a/sphinx/files/salt/source/index.rst
+++ b/sphinx/files/salt/source/index.rst
@@ -1,7 +1,7 @@
 {%- set doc = salt['pillar.get']('sphinx:server:doc:'+doc_name) %}
 
 =============================================================================================
-{% if doc.title is defined %}{{ doc.title }}{% else %}Model-Driven Documentation{% endif %}
+{% if doc.title is defined %}{{ doc.title }}{% else %}SaltStack Deployment Documentation{% endif %}
 =============================================================================================
 
 {%- if doc.description is defined %}
diff --git a/sphinx/files/salt/source/nodes/index.rst b/sphinx/files/salt/source/nodes/index.rst
index 81a9252..bdb0e8f 100644
--- a/sphinx/files/salt/source/nodes/index.rst
+++ b/sphinx/files/salt/source/nodes/index.rst
@@ -1,7 +1,9 @@
+{%- set mine_nodes = salt['mine.get']('*', 'grains.items') %}
+{%- if mine_nodes is mapping %}
 
-===============================
+====================
 Infrastructure Nodes
-===============================
+====================
 
 Definition of all nodes within current infrastructure.
 
@@ -12,7 +14,7 @@
    *  - **Node FQDN**
       - **IP Addresses**
       - **Assigned Services**
-{%- for node_name, node_grains in salt['mine.get']('*', 'grains.items').iteritems() %}
+{%- for node_name, node_grains in mine_nodes.iteritems() %}
    *  - :ref:`{{ node_name }}`
 {%- if node_grains.sphinx is defined %}
       - {% for ip in node_grains.ipv4 %}
@@ -20,7 +22,7 @@
         * {{ ip }}
         {%- endif %}
         {%- endfor %}
-      - {% for service_name, service in node_grains.get('sphinx', {}).get('doc', {}).iteritems() %}{% for role_name, role in service.role.iteritems() %}{{ service_name }}-{{ role_name }} {% endfor %}{% endfor %}
+      - {% for service_name, service in node_grains.get('sphinx', {}).get('doc', {}).iteritems() %}{% if service.role is mapping %}{% for role_name, role in service.role.iteritems() %}{{ service_name }}-{{ role_name }} {% endfor %}{% endif %}{% endfor %}
 {%- else %}
       - N/A
       - N/A
@@ -30,8 +32,10 @@
 .. toctree::
    :maxdepth: 2
 
-{% for node_name, node_grains in salt['mine.get']('*', 'grains.items').iteritems() %}
+{% for node_name, node_grains in mine_nodes.iteritems() %}
 {%- if node_grains.get('sphinx_doc', {}) != None %}
    {{ node_name }}
 {%- endif %}
 {% endfor %}
+
+{%- endif %}
diff --git a/sphinx/files/salt/source/nodes/node.rst b/sphinx/files/salt/source/nodes/node.rst
index 0870e97..e08358b 100644
--- a/sphinx/files/salt/source/nodes/node.rst
+++ b/sphinx/files/salt/source/nodes/node.rst
@@ -22,6 +22,7 @@
    *  - **Service Role**
       - **Parameter**
       - **Value**
+{%- if service.role is mapping %}
 {%- for role_name, role in service.role.iteritems() %}
 {%- for param_name, param in role.get('param', {}).iteritems() %}
    *  - {{ service_name }}-{{ role_name }}
@@ -30,6 +31,7 @@
 {{ render_list(param.value)|indent(8, True) }} 
 {%- endfor %}
 {%- endfor %}
+{%- endif %}
 
 {%- endfor %}
 
diff --git a/sphinx/files/salt/source/services/catalog.rst b/sphinx/files/salt/source/services/catalog.rst
index 62514e3..1424996 100644
--- a/sphinx/files/salt/source/services/catalog.rst
+++ b/sphinx/files/salt/source/services/catalog.rst
@@ -1,7 +1,7 @@
 
-===============================
+===============
 Service Catalog
-===============================
+===============
 
 All used services within configured infrastructure.
 
diff --git a/sphinx/files/salt/source/services/index.rst b/sphinx/files/salt/source/services/index.rst
index a45ba73..47435c8 100644
--- a/sphinx/files/salt/source/services/index.rst
+++ b/sphinx/files/salt/source/services/index.rst
@@ -1,12 +1,13 @@
 
-===============================
+=======================
 Infrastructure Services
-===============================
+=======================
 
-Definition of all services within current infrastructure.
+Definition of all services used within defined infrastructure.
 
 .. toctree::
    :maxdepth: 2
 
    endpoints
    catalog
+   monitoring
\ No newline at end of file
diff --git a/sphinx/files/salt/source/services/monitoring.rst b/sphinx/files/salt/source/services/monitoring.rst
new file mode 100644
index 0000000..8187e6c
--- /dev/null
+++ b/sphinx/files/salt/source/services/monitoring.rst
@@ -0,0 +1,49 @@
+
+=====================
+Monitoring Definition
+=====================
+
+Definition of monitoring metrics, logs, functional alarms.
+
+
+Log Parsing Definitions
+=======================
+
+TODO: Include heka.log_collector inputs
+
+Metric Collection Definitions
+=============================
+
+TODO: Include collectd metric defintions
+
+Functional Alarms Definitions
+=============================
+
+.. list-table::
+   :header-rows: 1
+
+   *  - **Node**
+      - **Alarm**
+      - **Trigger**
+      - **Operator**
+      - **Threshold**
+      - **Function**
+      - **Window**
+{%- for node_name, node_grains in salt['mine.get']('*', 'grains.items').iteritems() %}
+{%- if node_grains.get('heka', {}).get('metric_collector', {}).get('alarm', {}) is mapping %}
+{%- for alarm_name, alarm in node_grains.get('heka', {}).get('metric_collector', {}).get('alarm', {}).iteritems() %}
+{%- for trigger_name in alarm.triggers %}
+{%- set trigger = node_grains.get('heka', {}).get('metric_collector', {}).get('trigger', {}).get(trigger_name, {  }) %}
+{%- for rule in trigger.get('rules', []) %}
+   *  - {{ node_name }}
+      - {{ alarm_name }}
+      - {{ trigger_name }}
+      - {{ rule.relational_operator }}
+      - {{ rule.threshold }}
+      - {{ rule.function }}
+      - {{ rule.window }}
+{%- endfor %}
+{%- endfor %}
+{%- endfor %}
+{%- endif %}
+{%- endfor %}
diff --git a/sphinx/orch/generate_doc.sls b/sphinx/orch/generate_doc.sls
index 45c75f4..d9270f3 100644
--- a/sphinx/orch/generate_doc.sls
+++ b/sphinx/orch/generate_doc.sls
@@ -1,30 +1,26 @@
+
 linux_system_doc_state:
   salt.state:
     - tgt: '*'
     - sls: linux.system.doc
 
-salt_minion_state:
+salt_minion_grains:
   salt.state:
     - tgt: '*'
-    - sls: salt.minion
+    - sls: salt.minion.grains
 
 mine_flush:
   salt.function:
-    - name: cmd.run
+    - name: mine.flush
     - tgt: '*'
-    - arg:
-      - salt-call mine.flush
 
 mine_update:
   salt.function:
-    - name: cmd.run
+    - name: mine.update
     - tgt: '*'
-    - arg:
-      - salt-call mine.update
 
 sphinx_state:
   salt.state:
     - tgt: 'G@roles:sphinx.server'
     - tgt_type: compound
     - sls: sphinx
-
