Add option to discard the hostname dimension for http_check plugin

Change-Id: I77fe5541c2ad7d6eae6896625a43c6387c8f2541
diff --git a/collectd/files/collectd_http_check.conf b/collectd/files/collectd_http_check.conf
index d2ff29e..bb19265 100644
--- a/collectd/files/collectd_http_check.conf
+++ b/collectd/files/collectd_http_check.conf
@@ -14,6 +14,9 @@
   {%- if params.get('metric_name') %}
   MetricName "{{ name }}" "{{ params.metric_name }}"
   {%- endif %}
+  {%- if params.get('discard_hostname') %}
+  DiscardHostname "{{ name }}" "{{ params.discard_hostname }}"
+  {%- endif %}
   {%- if params.verify is defined %}
   Verify "{{ name }}" "{{ params.verify }}"
   {%- endif %}
diff --git a/collectd/files/plugin/collectd_http_check.py b/collectd/files/plugin/collectd_http_check.py
index e909eb4..897bae7 100644
--- a/collectd/files/plugin/collectd_http_check.py
+++ b/collectd/files/plugin/collectd_http_check.py
@@ -39,6 +39,7 @@
         self.timeout = 3
         self.max_retries = 2
         self.metric_names = {}
+        self.discard_hostnames = {}
 
         self.interval = base.INTERVAL
         self.polling_interval = base.INTERVAL
@@ -60,6 +61,9 @@
                 self.urls[node.values[0]] = node.values[1]
             elif node.key == 'MetricName':
                 self.metric_names[node.values[0]] = node.values[1]
+            elif node.key == 'DiscardHostname':
+                if node.values[1].lower() == 'true':
+                    self.discard_hostnames[node.values[0]] = True
             elif node.key == 'ExpectedCode':
                 self.expected_codes[node.values[0]] = int(node.values[1])
             elif node.key == 'ExpectedContent':
@@ -149,7 +153,11 @@
         for name, url in self.urls.items():
             r = self.check_url(name, url)
             if r:
-                yield {'meta': {'service': name},
+                meta = {'service': name}
+                if self.discard_hostnames.get(name):
+                    meta['discard_hostname'] = True
+
+                yield {'meta': meta,
                        'values': r,
                        'plugin': self.metric_names.get(name),
                        }