become_user: root
   roles:
       - run_grafana
+
+- hosts: prometheus_hosts
+  become: true
+  become_user: root
+  roles:
+      - run_prometheus
 
 - name: enable network plugin
   import_tasks: network.yml
 
+- name: enable prometheus plugin
+  import_tasks: prometheus.yml
+  when: groups['prometheus_hosts'] is defined
+
 - name: enable pmu plugin
   import_tasks: pmu.yml
 
 
--- /dev/null
+#Copyright 2018 OPNFV and Intel Corporation
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+---
+
+- name: enable prometheus plugin
+  template:
+    src: prometheus.conf.j2
+    dest: "{{ config_file_dir }}/prometheus.conf"
+  tags:
+     - prometheus
\ No newline at end of file
 
--- /dev/null
+#Copyright 2018 OPNFV and Intel Corporation
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+LoadPlugin  write_prometheus
+
+<Plugin "write_prometheus">
+  Port "{{ prometheus_port }}"
+</Plugin>
 
 network_port: 25826
 network_ip_addr: "{{ (groups['influxdb_hosts']|default({}))[0] | default('localhost') }}"
 
+#prometheus plugin vars
+prometheus_port: 9103
+
 #ovs event and stats plugin vars
 ovs_event_interval: 1
 ovs_event_ip_addr: localhost
 
--- /dev/null
+#Copyright 2018 OPNFV and Intel Corporation
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+---
+
+- name: remove bar-prometheus container
+  docker_container:
+    name: bar-prometheus
+    state: absent
+  tags:
+    - rm_containers
+    - rm_prometheus_cont
+  when: rm_containers|default(false)|bool == true
+
+- name: Create prometheus directory
+  file:
+    path: /etc/prometheus
+    state: directory
+
+- name: copy prometheus config
+  template:
+    src: prometheus.yml
+    dest: "/etc/prometheus/prometheus.yml"
+
+- name: modify prometheus.yml to add prometheus_hosts
+  lineinfile:
+    dest: /etc/prometheus/prometheus.yml
+    insertafter: targets
+    line: "        - '{{ item }}:{{ prometheus_port }}'"
+  with_items: "{{ groups['collectd_hosts'] }}"
+
+- name: Remove prom-prometheus image
+  docker_image:
+    name: prom/prometheus
+    state: absent
+  tags:
+    - rm_images
+    - rm_prometheus_cont
+  when: rm_images|default(false)|bool == true
+
+- name: launch bar-prometheus container
+  docker_container:
+    name: bar-prometheus
+    image: prom/prometheus
+    volumes:
+       - /etc/prometheus/prometheus.yml:/etc/prometheus/prometheus.yml
+    exposed:
+     - 9090
+     - "{{ prometheus_port }}"
+    ports:
+       - 9090:9090
+       - "{{ prometheus_port }}:{{ prometheus_port }}"
+    detach: yes
+    restart: yes
+    network_mode: host
 
--- /dev/null
+global:
+  scrape_timeout:      "{{scrape_timeout}}"
+  scrape_interval:     "{{scrape_interval}}"
+  evaluation_interval: "{{evaluation_interval}}"
+
+scrape_configs:
+  - job_name: 'collectd_exporter'
+    static_configs:
+      - targets:
 
--- /dev/null
+#Copyright 2018 OPNFV and Intel Corporation
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+---
+
+#prometheus plugin vars
+prometheus_port: 9103
+
+scrape_timeout: 4s
+scrape_interval: 5s
+evaluation_interval: 5s
\ No newline at end of file
 
     [grafana_hosts]
     localhost
 
+    [prometheus_hosts]
+    #localhost
+
     [kafka_hosts]
     #localhost