diff --git a/metadata.yml b/metadata.yml
index 9ae0df6..ba3b2d8 100644
--- a/metadata.yml
+++ b/metadata.yml
@@ -3,4 +3,6 @@
 source: "https://github.com/openstack/salt-formula-opencontrail"
 dependencies:
 - name: linux
-  source: "https://github.com/tcpcloud/salt-formula-linux"
+  source: "https://github.com/salt-formulas/salt-formula-linux"
+- name: prometheus
+  source: "https://github.com/salt-formulas/salt-formula-prometheus"
diff --git a/opencontrail/map.jinja b/opencontrail/map.jinja
index 9b91cca..e98c2f4 100644
--- a/opencontrail/map.jinja
+++ b/opencontrail/map.jinja
@@ -239,3 +239,25 @@
 {% set client    = salt['grains.filter_by'](base_defaults['client'], merge=salt['pillar.get']('opencontrail:client', {}), base='client') %}
 {% set tor       = salt['grains.filter_by'](base_defaults['tor'], merge=salt['pillar.get']('opencontrail:tor', {}), base='tor') %}
 
+{% set monitoring = salt['grains.filter_by']({
+    'default': {
+        'xmpp_sessions_too_high_threshold': 500,
+        'xmpp_sessions_variation_threshold': 100,
+        'vrouter_xmpp_sessions_too_high_threshold': 10,
+        'vrouter_xmpp_sessions_variation_threshold': 5,
+        'vrouter_dns_xmpp_sessions_too_high_threshold': 10,
+        'vrouter_dns_xmpp_sessions_variation_threshold': 5,
+        'vrouter_lls_too_high_threshold': 10,
+        'vrouter_lls_variation_threshold': 5,
+        'vrouter_flows_active_too_high_threshold': 1200,
+        'vrouter_flows_created_too_high_threshold': 1000,
+        'vrouter_flows_discard_too_high_threshold': 1200,
+        'vrouter_flows_flow_action_drop_too_high_threshold': 100,
+        'vrouter_flows_frag_err_too_high_threshold': 100,
+        'vrouter_flows_invalid_nh_too_high_threshold': 104,
+        'vrouter_flows_composite_invalid_interface_too_high_threshold': 105,
+        'vrouter_flows_invalid_label_too_high_threshold': 100,
+        'vrouter_flows_flow_queue_limit_exceeded_too_high_threshold': 100,
+        'vrouter_flows_flow_table_full_too_high_threshold': 100,
+    },
+}, grain='os_family', merge=salt['pillar.get']('opencontrail:monitoring')) %}
diff --git a/opencontrail/meta/collectd.yml b/opencontrail/meta/collectd.yml
index 8c4ca5f..482a70f 100644
--- a/opencontrail/meta/collectd.yml
+++ b/opencontrail/meta/collectd.yml
@@ -115,15 +115,15 @@
       {%- set bind_addr=config.bind.address|replace('0.0.0.0', '127.0.0.1') %}
       contrail-api:
         expected_code: 200
-        url: "http://{{ bind_addr }}:{{ config.bind.api_port }}/"
+        url: "http://{{ bind_addr }}:{{ config.bind.api_port|default(9100) }}/"
       contrail-discovery:
         expected_code: 200
-        url: "http://{{ bind_addr }}:{{ config.bind.discovery_port }}/"
+        url: "http://{{ bind_addr }}:{{ config.bind.discovery_port|default(9110) }}/"
     {%- endif %}
     {%- if collector.get('enabled', False) %}
       contrail-collector:
         expected_code: 200
-        url: "http://{{ collector.bind.address|replace('0.0.0.0', '127.0.0.1') }}:{{ collector.bind.port }}/"
+        url: "http://{{ collector.bind.address|replace('0.0.0.0', '127.0.0.1') }}:{{ collector.bind.port|default(9081) }}/"
     {%- endif %}
     {%- if compute.get('enabled', False) %}
       contrail-node-manager:
diff --git a/opencontrail/meta/prometheus.yml b/opencontrail/meta/prometheus.yml
index 0904554..72b2dbf 100644
--- a/opencontrail/meta/prometheus.yml
+++ b/opencontrail/meta/prometheus.yml
@@ -1,5 +1,5 @@
 {%- if pillar.opencontrail is defined %}
-  {%- from "opencontrail/map.jinja" import control, collector, compute, config, database, web with context %}
+  {%- from "opencontrail/map.jinja" import control, collector, compute, config, database, web, monitoring with context %}
 
   {%- if collector.get('enabled', False) %}
     {%- set collector_apis = ( 'contrail.collector', ) %}
@@ -179,24 +179,28 @@
         description: 'There are no XMPP sessions on node {{ $labels.host }}'
     ContrailXMPPSessionsTooMany:
       if: >-
-        min(contrail_xmpp_session_count) >= 500
+{%- endraw %}
+    {%- set xmpp_toohigh_threshold = monitoring.xmpp_sessions_too_high_threshold %}
+        min(contrail_xmpp_session_count) >= {{ xmpp_toohigh_threshold }}
+{%- raw %}
       for: 2m
       labels:
         severity: warning
         service: contrail-control
       annotations:
         summary: 'Too many XMPP sessions'
-        description: 'There are too many XMPP sessions on node {{ $labels.host }}'
+        description: 'There are too many XMPP sessions on node {{ $labels.host }} (current value={{ $value }}, threshold={%- endraw %}{{ xmpp_toohigh_threshold }})'
     ContrailXMPPSessionsTooManyVariations:
       if: >-
-        abs(delta(contrail_xmpp_session_count[2m])) >= 100
+    {%- set xmpp_variation_threshold = monitoring.xmpp_sessions_variation_threshold %}
+        abs(delta(contrail_xmpp_session_count[2m])) >= {{ xmpp_variation_threshold }}
+{%- raw %}
       labels:
         severity: warning
         service: contrail-control
       annotations:
         summary: 'Number of XMPP sessions changed between checks is too high'
-        description: 'There are too many XMPP sessions changes on node {{ $labels.host }}'
-{%- endraw %}
+        description: 'There are too many XMPP sessions changes on node {{ $labels.host }} (current value={{ $value }}, threshold={%- endraw %}{{ xmpp_variation_threshold }})'
     {%- endif %}
 
     {%- if collector_processes is defined %}
@@ -244,23 +248,29 @@
         description: 'There are no vRouter XMPP sessions on node {{ $labels.host }}'
     ContrailVrouterXMPPSessionsTooMany:
       if: >-
-        min(contrail_vrouter_xmpp) >= 10
+{%- endraw %}
+    {%- set vrouter_xmpp_toohigh_threshold = monitoring.vrouter_xmpp_sessions_too_high_threshold %}
+        min(contrail_vrouter_xmpp) >= {{ vrouter_xmpp_toohigh_threshold }}
+{%- raw %}
       for: 2m
       labels:
         severity: warning
         service: contrail-compute
       annotations:
         summary: 'Too many vRouter XMPP sessions'
-        description: 'There are too many vRouter XMPP sessions on node {{ $labels.host }}'
+        description: 'There are too many vRouter XMPP sessions on node {{ $labels.host }} (current value={{ $value }}, threshold={%- endraw %}{{ vrouter_xmpp_toohigh_threshold }})'
     ContrailVrouterXMPPSessionsTooManyVariations:
       if: >-
-        abs(delta(contrail_vrouter_xmpp[2m])) >= 5
+    {%- set vrouter_xmpp_variation_threshold = monitoring.vrouter_xmpp_sessions_variation_threshold %}
+        abs(delta(contrail_vrouter_xmpp[2m])) >= {{ vrouter_xmpp_variation_threshold }}
+{%- raw %}
       labels:
         severity: warning
         service: contrail-compute
       annotations:
         summary: 'Number of vRouter XMPP sessions changed between checks is too high'
-        description: 'There are too many vRouter XMPP sessions changes on node {{ $labels.host }}'
+        description: 'There are too many vRouter XMPP sessions changes on node {{ $labels.host }} (current value={{ $value }}, threshold={%- endraw %}{{ vrouter_xmpp_variation_threshold }})'
+{%- raw %}
     ContrailVrouterDNSXMPPSessionsNone:
       if: >-
         max(contrail_vrouter_dns_xmpp) == 0
@@ -273,143 +283,171 @@
         description: 'There are no vRouter DNS-XMPP sessions on node {{ $labels.host }}'
     ContrailVrouterDNSXMPPSessionsTooMany:
       if: >-
-        min(contrail_vrouter_dns_xmpp) >= 10
+{%- endraw %}
+    {%- set vrouter_dns_xmpp_toohigh_threshold = monitoring.vrouter_dns_xmpp_sessions_too_high_threshold %}
+        min(contrail_vrouter_dns_xmpp) >= {{ vrouter_dns_xmpp_toohigh_threshold }}
+{%- raw %}
       for: 2m
       labels:
         severity: warning
         service: contrail-compute
       annotations:
         summary: 'Too many vRouter DNS-XMPP sessions'
-        description: 'There are too many vRouter DNS-XMPP sessions on node {{ $labels.host }}'
+        description: 'There are too many vRouter DNS-XMPP sessions on node {{ $labels.host }} (current value={{ $value }}, threshold={%- endraw %}{{ vrouter_dns_xmpp_toohigh_threshold }})'
     ContrailVrouterDNSXMPPSessionsTooManyVariations:
       if: >-
-        abs(delta(contrail_vrouter_dns_xmpp[2m])) >= 5
+    {%- set vrouter_dns_xmpp_variation_threshold = monitoring.vrouter_dns_xmpp_sessions_variation_threshold %}
+        abs(delta(contrail_vrouter_dns_xmpp[2m])) >= {{ vrouter_dns_xmpp_variation_threshold }}
+{%- raw %}
       labels:
         severity: warning
         service: contrail-compute
       annotations:
         summary: 'Number of vRouter DNS-XMPP sessions changed between checks is too high'
-        description: 'There are too many vRouter DNS-XMPP sessions changes on node {{ $labels.host }}'
+        description: 'There are too many vRouter DNS-XMPP sessions changes on node {{ $labels.host }} (current value={{ $value }}, threshold={%- endraw %}{{ vrouter_dns_xmpp_variation_threshold }})'
     ContrailVrouterLLSSessionsTooMany:
       if: >-
-        min(contrail_vrouter_lls) >= 10
+    {%- set vrouter_lls_toohigh_threshold = monitoring.vrouter_lls_too_high_threshold %}
+        min(contrail_vrouter_lls) >= {{ vrouter_lls_toohigh_threshold }}
+{%- raw %}
       for: 2m
       labels:
         severity: warning
         service: contrail-compute
       annotations:
         summary: 'Too many vRouter LLS sessions'
-        description: 'There are too many vRouter LLS sessions on node {{ $labels.host }}'
+        description: 'There are too many vRouter LLS sessions on node {{ $labels.host }} (current value={{ $value }}, threshold={%- endraw %}{{ vrouter_lls_toohigh_threshold }})'
     ContrailVrouterLLSSessionsTooManyVariations:
       if: >-
-        abs(delta(contrail_vrouter_lls[2m])) >= 5
+    {%- set vrouter_lls_variation_threshold = monitoring.vrouter_lls_variation_threshold %}
+        abs(delta(contrail_vrouter_lls[2m])) >= {{ vrouter_lls_variation_threshold }}
+{%- raw %}
       labels:
         severity: warning
         service: contrail-compute
       annotations:
         summary: 'Number of vRouter LLS sessions changed between checks is too high'
-        description: 'There are too many vRouter LLS sessions changes on node {{ $labels.host }}'
+        description: 'There are too many vRouter LLS sessions changes on node {{ $labels.host }} (current value={{ $value }}, threshold={%- endraw %}{{ vrouter_lls_variation_threshold }})'
     ContrailFlowsActiveTooMany:
       if: >-
-        min(contrail_vrouter_flows_active) >= 1200
+    {%- set vrouter_flows_active_toohigh_threshold = monitoring.vrouter_flows_active_too_high_threshold %}
+        min(contrail_vrouter_flows_active) >= {{ vrouter_flows_active_toohigh_threshold }}
+{%- raw %}
       for: 2m
       labels:
         severity: warning
         service: contrail-compute
       annotations:
         summary: 'Too many vRouter active flows'
-        description: 'There are too many active vRouter flows on node {{ $labels.host }}'
+        description: 'There are too many active vRouter flows on node {{ $labels.host }} (current value={{ $value }}, threshold={%- endraw %}{{ vrouter_flows_active_toohigh_threshold }})'
     ContrailFlowsCreatedTooMany:
       if: >-
-        min(contrail_vrouter_flows_created) >= 1000
+    {%- set vrouter_flows_created_toohigh_threshold = monitoring.vrouter_flows_created_too_high_threshold %}
+        min(contrail_vrouter_flows_created) >= {{ vrouter_flows_created_toohigh_threshold }}
+{%- raw %}
       for: 2m
       labels:
         severity: warning
         service: contrail-compute
       annotations:
         summary: 'Too many vRouter created flows'
-        description: 'There are too many created vRouter flows on node {{ $labels.host }}'
+        description: 'There are too many created vRouter flows on node {{ $labels.host }} (current value={{ $value }}, threshold={%- endraw %}{{ vrouter_flows_created_toohigh_threshold }})'
     ContrailFlowsDiscardTooMany:
       if: >-
-        min(contrail_vrouter_flows_discard) >= 1200
+    {%- set vrouter_flows_discard_toohigh_threshold = monitoring.vrouter_flows_discard_too_high_threshold %}
+        min(contrail_vrouter_flows_discard) >= {{ vrouter_flows_discard_toohigh_threshold }}
+{%- raw %}
       for: 2m
       labels:
         severity: warning
         service: contrail-compute
       annotations:
         summary: 'Too many vRouter discarded flows'
-        description: 'There are too many discarded vRouter flows on node {{ $labels.host }}'
+        description: 'There are too many discarded vRouter flows on node {{ $labels.host }} (current value={{ $value }}, threshold={%- endraw %}{{ vrouter_flows_discard_toohigh_threshold }})'
     ContrailFlowsDropTooMany:
       if: >-
-        min(contrail_vrouter_flows_flow_action_drop) >= 100
+    {%- set vrouter_flows_flow_action_drop_toohigh_threshold = monitoring.vrouter_flows_flow_action_drop_too_high_threshold %}
+        min(contrail_vrouter_flows_flow_action_drop) >= {{ vrouter_flows_flow_action_drop_toohigh_threshold }}
+{%- raw %}
       for: 2m
       labels:
         severity: warning
         service: contrail-compute
       annotations:
         summary: 'Too many vRouter dropped flows'
-        description: 'There are too many dropped vRouter flows on node {{ $labels.host }}'
+        description: 'There are too many dropped vRouter flows on node {{ $labels.host }} (current value={{ $value }}, threshold={%- endraw %}{{ vrouter_flows_flow_action_drop_toohigh_threshold }})'
     ContrailFlowsFragErrTooMany:
       if: >-
-        min(contrail_vrouter_flows_frag_err) >= 100
+    {%- set vrouter_flows_frag_err_toohigh_threshold = monitoring.vrouter_flows_frag_err_too_high_threshold %}
+        min(contrail_vrouter_flows_frag_err) >= {{ vrouter_flows_frag_err_toohigh_threshold }}
+{%- raw %}
       for: 2m
       labels:
         severity: warning
         service: contrail-compute
       annotations:
         summary: 'Too many vRouter flows with fragment errors'
-        description: 'There are too many vRouter flows with fragment errors on node {{ $labels.host }}'
+        description: 'There are too many vRouter flows with fragment errors on node {{ $labels.host }} (current value={{ $value }}, threshold={%- endraw %}{{ vrouter_flows_frag_err_toohigh_threshold }})'
     ContrailFlowsInvalidNHTooMany:
       if: >-
-        min(contrail_vrouter_flows_invalid_nh) >= 100
+    {%- set vrouter_flows_invalid_nh_toohigh_threshold = monitoring.vrouter_flows_invalid_nh_too_high_threshold %}
+        min(contrail_vrouter_flows_invalid_nh) >= {{ vrouter_flows_invalid_nh_toohigh_threshold }}
+{%- raw %}
       for: 2m
       labels:
         severity: warning
         service: contrail-compute
       annotations:
         summary: 'Too many vRouter flows with invalid next hop'
-        description: 'There are too many vRouter flows with invalid next hop on node {{ $labels.host }}'
+        description: 'There are too many vRouter flows with invalid next hop on node {{ $labels.host }} (current value={{ $value }}, threshold={%- endraw %}{{ vrouter_flows_invalid_nh_toohigh_threshold }})'
     ContrailFlowsInvalidITFTooMany:
       if: >-
-        min(contrail_vrouter_flows_composite_invalid_interface) >= 100
+    {%- set vrouter_flows_composite_invalid_interface_toohigh_threshold = monitoring.vrouter_flows_composite_invalid_interface_too_high_threshold %}
+        min(contrail_vrouter_flows_composite_invalid_interface) >= {{ vrouter_flows_composite_invalid_interface_toohigh_threshold }}
+{%- raw %}
       for: 2m
       labels:
         severity: warning
         service: contrail-compute
       annotations:
         summary: 'Too many vRouter flows with composite invalid interface'
-        description: 'There are too many vRouter flows with composite invalid interface on node {{ $labels.host }}'
+        description: 'There are too many vRouter flows with composite invalid interface on node {{ $labels.host }} (current value={{ $value }}, threshold={%- endraw %}{{ vrouter_flows_composite_invalid_interface_toohigh_threshold }})'
     ContrailFlowsInvalidLabelTooMany:
       if: >-
-        min(contrail_vrouter_flows_invalid_label) >= 100
+    {%- set vrouter_flows_invalid_label_toohigh_threshold = monitoring.vrouter_flows_invalid_label_too_high_threshold %}
+        min(contrail_vrouter_flows_invalid_label) >= {{ vrouter_flows_invalid_label_toohigh_threshold }}
+{%- raw %}
       for: 2m
       labels:
         severity: warning
         service: contrail-compute
       annotations:
         summary: 'Too many vRouter flows with invalid label'
-        description: 'There are too many vRouter flows with invalid label on node {{ $labels.host }}'
+        description: 'There are too many vRouter flows with invalid label on node {{ $labels.host }} (current value={{ $value }}, threshold={%- endraw %}{{ vrouter_flows_invalid_label_toohigh_threshold }})'
     ContrailFlowsQueueLimitExeededTooMany:
       if: >-
-        min(contrail_vrouter_flows_flow_queue_limit_exceeded) >= 100
+    {%- set vrouter_flows_flow_queue_limit_exceeded_toohigh_threshold = monitoring.vrouter_flows_flow_queue_limit_exceeded_too_high_threshold %}
+        min(contrail_vrouter_flows_flow_queue_limit_exceeded) >= {{ vrouter_flows_flow_queue_limit_exceeded_toohigh_threshold }}
+{%- raw %}
       for: 2m
       labels:
         severity: warning
         service: contrail-compute
       annotations:
         summary: 'Too many vRouter flows with queue limit exceeded'
-        description: 'There are too many vRouter flows with queue limit exceeded on node {{ $labels.host }}'
+        description: 'There are too many vRouter flows with queue limit exceeded on node {{ $labels.host }} (current value={{ $value }}, threshold={%- endraw %}{{ vrouter_flows_flow_queue_limit_exceeded_toohigh_threshold }})'
     ContrailFlowsTableFullTooMany:
       if: >-
-        min(contrail_vrouter_flows_flow_table_full) >= 100
+    {%- set vrouter_flows_flow_table_full_toohigh_threshold = monitoring.vrouter_flows_flow_table_full_too_high_threshold %}
+        min(contrail_vrouter_flows_flow_table_full) >= {{ vrouter_flows_flow_table_full_toohigh_threshold }}
+{%- raw %}
       for: 2m
       labels:
         severity: warning
         service: contrail-compute
       annotations:
         summary: 'Too many vRouter flows with table full'
-        description: 'There are too many vRouter flows with table full on node {{ $labels.host }}'
-{%- endraw %}
+        description: 'There are too many vRouter flows with table full on node {{ $labels.host }} (current value={{ $value }}, threshold={%- endraw %}{{ vrouter_flows_flow_table_full_toohigh_threshold }})'
       {%- for contrail_api in compute_apis %}
         {%- set words = contrail_api.split('.') %}
     {% for word in words %}{%- if word != 'api' %}{{ word | capitalize }}{% endif %}{% endfor %}APIDown:
diff --git a/opencontrail/meta/telegraf.yml b/opencontrail/meta/telegraf.yml
index 32989f1..e43dc93 100644
--- a/opencontrail/meta/telegraf.yml
+++ b/opencontrail/meta/telegraf.yml
@@ -90,13 +90,13 @@
     {%- if config.get('enabled', False) %}
       {%- set bind_addr=config.bind.address|replace('0.0.0.0', '127.0.0.1') %}
       contrail-api:
-        address: "http://{{ bind_addr }}:{{ config.bind.api_port }}/"
+        address: "http://{{ bind_addr }}:{{ config.bind.api_port|default(9100) }}/"
       contrail-discovery:
-        address: "http://{{ bind_addr }}:{{ config.bind.discovery_port }}/"
+        address: "http://{{ bind_addr }}:{{ config.bind.discovery_port|default(9110) }}/"
     {%- endif %}
     {%- if collector.get('enabled', False) %}
       contrail-collector:
-        address: "http://{{ collector.bind.address|replace('0.0.0.0', '127.0.0.1') }}:{{ collector.bind.port }}/"
+        address: "http://{{ collector.bind.address|replace('0.0.0.0', '127.0.0.1') }}:{{ collector.bind.port|default(9081) }}/"
     {%- endif %}
     {%- if compute.get('enabled', False) %}
       contrail-node-manager:
