Add handling multiple Jenkins instances

In dashboard added dropdown for selecting
instance - fixes multiple series error.
Relabeled instance to host.

Change-Id: Ia2fe08b35a75222fc9211522d55be6b26ad2708e
Related-bug: PROD-26023 (PROD:26023)
diff --git a/jenkins/files/grafana_dashboards/jenkins_prometheus.json b/jenkins/files/grafana_dashboards/jenkins_prometheus.json
index e285236..61c489b 100644
--- a/jenkins/files/grafana_dashboards/jenkins_prometheus.json
+++ b/jenkins/files/grafana_dashboards/jenkins_prometheus.json
@@ -97,7 +97,7 @@
       "tableColumn": "",
       "targets": [
         {
-          "expr": "jenkins_health_check_score",
+          "expr": "jenkins_health_check_score{host=~\"$host\"}",
           "format": "time_series",
           "intervalFactor": 1,
           "refId": "A",
@@ -187,14 +187,14 @@
       "tableColumn": "",
       "targets": [
         {
-          "expr": "jenkins_node_online_value",
+          "expr": "jenkins_node_online_value{host=~\"$host\"}",
           "format": "time_series",
           "intervalFactor": 2,
           "refId": "B"
         }
       ],
       "thresholds": "0,1",
-      "title": "Jenkins nodes online",
+      "title": "Jenkins nodes online{host=~\"$host\"}",
       "type": "singlestat",
       "valueFontSize": "80%",
       "valueMaps": [],
@@ -264,7 +264,7 @@
       "tableColumn": "",
       "targets": [
         {
-          "expr": "jenkins_node_count_value",
+          "expr": "jenkins_node_count_value{host=~\"$host\"}",
           "format": "time_series",
           "intervalFactor": 2,
           "refId": "B"
@@ -341,7 +341,7 @@
       "tableColumn": "",
       "targets": [
         {
-          "expr": "jenkins_plugins_failed",
+          "expr": "jenkins_plugins_failed{host=~\"$host\"}",
           "format": "time_series",
           "intervalFactor": 1,
           "refId": "A",
@@ -420,7 +420,7 @@
       "tableColumn": "",
       "targets": [
         {
-          "expr": "jenkins_queue_size_value",
+          "expr": "jenkins_queue_size_value{host=~\"$host\"}",
           "step": 120,
           "textEditor": false
         }
@@ -502,7 +502,7 @@
       "tableColumn": "",
       "targets": [
         {
-          "expr": "(vm_memory_total_max{job=\"jenkins\"} - vm_memory_total_used{job=\"jenkins\"}) / vm_memory_total_max{job=\"jenkins\"} * 100.0",
+          "expr": "(vm_memory_total_max{job=\"jenkins\",host=~\"$host\"} - vm_memory_total_used{job=\"jenkins\",host=~\"$host\"}) / vm_memory_total_max{job=\"jenkins\",host=~\"$host\"} * 100.0",
           "format": "time_series",
           "intervalFactor": 1,
           "refId": "A",
@@ -587,7 +587,7 @@
       "tableColumn": "",
       "targets": [
         {
-          "expr": "vm_uptime_milliseconds{job=\"jenkins\"}",
+          "expr": "vm_uptime_milliseconds{job=\"jenkins\",host=~\"$host\"}",
           "format": "time_series",
           "intervalFactor": 1,
           "refId": "A",
@@ -685,7 +685,7 @@
       "tableColumn": "",
       "targets": [
         {
-          "expr": "jenkins_executor_free_value",
+          "expr": "jenkins_executor_free_value{host=~\"$host\"}",
           "format": "time_series",
           "intervalFactor": 1,
           "refId": "A",
@@ -769,7 +769,7 @@
       "tableColumn": "",
       "targets": [
         {
-          "expr": "jenkins_executor_in_use_value",
+          "expr": "jenkins_executor_in_use_value{host=~\"$host\"}",
           "format": "time_series",
           "intervalFactor": 1,
           "refId": "A",
@@ -833,7 +833,7 @@
       "steppedLine": false,
       "targets": [
         {
-          "expr": "jenkins_job_buildable_duration_count",
+          "expr": "jenkins_job_buildable_duration_count{host=~\"$host\"}",
           "format": "time_series",
           "intervalFactor": 2,
           "legendFormat": "buildable",
@@ -841,28 +841,28 @@
           "step": 10
         },
         {
-          "expr": "jenkins_job_building_duration_count",
+          "expr": "jenkins_job_building_duration_count{host=~\"$host\"}",
           "format": "time_series",
           "intervalFactor": 1,
           "legendFormat": "building",
           "refId": "B"
         },
         {
-          "expr": "jenkins_job_scheduled_total",
+          "expr": "jenkins_job_scheduled_total{host=~\"$host\"}",
           "format": "time_series",
           "intervalFactor": 1,
           "legendFormat": "scheduled",
           "refId": "C"
         },
         {
-          "expr": "jenkins_job_waiting_duration_count",
+          "expr": "jenkins_job_waiting_duration_count{host=~\"$host\"}",
           "format": "time_series",
           "intervalFactor": 1,
           "legendFormat": "waiting",
           "refId": "D"
         },
         {
-          "expr": "jenkins_job_blocked_duration_count",
+          "expr": "jenkins_job_blocked_duration_count{host=~\"$host\"}",
           "format": "time_series",
           "intervalFactor": 1,
           "legendFormat": "blocked",
@@ -987,7 +987,7 @@
       "tableColumn": "",
       "targets": [
         {
-          "expr": "rate(jenkins_job_building_duration_count[1m])",
+          "expr": "rate(jenkins_job_building_duration_count{host=~\"$host\"}[1m])",
           "format": "time_series",
           "intervalFactor": 1,
           "refId": "A",
@@ -1070,7 +1070,7 @@
       "tableColumn": "",
       "targets": [
         {
-          "expr": "rate(jenkins_job_queuing_duration_count[1m])",
+          "expr": "rate(jenkins_job_queuing_duration_count{host=~\"$host\"}[1m])",
           "format": "time_series",
           "intervalFactor": 1,
           "refId": "A",
@@ -1132,7 +1132,7 @@
       "steppedLine": false,
       "targets": [
         {
-          "expr": "jenkins_job_queuing_duration",
+          "expr": "jenkins_job_queuing_duration{host=~\"$host\"}",
           "format": "time_series",
           "intervalFactor": 2,
           "legendFormat": "{{ quantile }}",
@@ -1236,10 +1236,10 @@
       "steppedLine": false,
       "targets": [
         {
-          "expr": "vm_cpu_load{job=\"jenkins\"}",
+          "expr": "vm_cpu_load{job=\"jenkins\",host=~\"$host\"}",
           "format": "time_series",
           "intervalFactor": 2,
-          "legendFormat": "{{ instance }}",
+          "legendFormat": "{{ host }}",
           "refId": "A",
           "step": 5
         }
@@ -1291,7 +1291,28 @@
   "style": "dark",
   "tags": [],
   "templating": {
-    "list": []
+    "list": [
+      {
+        "allValue": null,
+        "current": {},
+        "datasource": null,
+        "hide": 0,
+        "includeAll": false,
+        "label": null,
+        "multi": false,
+        "name": "host",
+        "options": [],
+        "query": "label_values(jenkins_health_check_score,host)",
+        "refresh": 1,
+        "regex": "",
+        "sort": 1,
+        "tagValuesQuery": "",
+        "tags": [],
+        "tagsQuery": "",
+        "type": "query",
+        "useTags": false
+      }
+    ]
   },
   "time": {
     "from": "now-1h",
@@ -1325,6 +1346,6 @@
   "timezone": "browser",
   "title": "Jenkins",
   "uid": null,
-  "version": 1
+  "version": 2
 }
 {%- endraw %}
diff --git a/jenkins/meta/prometheus.yml b/jenkins/meta/prometheus.yml
index b2ba5c5..b8a350b 100644
--- a/jenkins/meta/prometheus.yml
+++ b/jenkins/meta/prometheus.yml
@@ -8,4 +8,10 @@
         endpoint:
           - address: {{ client.master.host }}
             port: {{ client.master.port }}
+        relabel_configs:
+          - regex: {{ client.master.host }}:{{ client.master.port }}
+            replacement: {{ grains['host'] }}
+            source_labels: "__address__"
+            target_label: "host"
+
 {%- endif %}