diff options
author | John O Loughlin <john.oloughlin@intel.com> | 2018-06-28 16:01:00 +0100 |
---|---|---|
committer | John O'Loughlin <john.oloughlin@intel.com> | 2018-10-03 13:36:06 +0000 |
commit | ada3bb5cda036c736b460b76552ce47dd8f40aa8 (patch) | |
tree | adf9a26ff931e3b094da3ee6beb6ab0da36a5c74 /docker/ansible/roles/run_prometheus | |
parent | 328129a1fd4ae54fe012379439464a56d15d4681 (diff) |
Adding support for prometheus using ansible
To enable add the following with your ip address
to your inventory file:
[prometheus_hosts]
172.24.4.19
Change-Id: I85add815367bcbcf1240398db2c43c2130537969
Signed-off-by: John O Loughlin <john.oloughlin@intel.com>
Diffstat (limited to 'docker/ansible/roles/run_prometheus')
-rw-r--r-- | docker/ansible/roles/run_prometheus/tasks/main.yml | 65 | ||||
-rw-r--r-- | docker/ansible/roles/run_prometheus/templates/prometheus.yml | 9 | ||||
-rw-r--r-- | docker/ansible/roles/run_prometheus/vars/main.yml | 21 |
3 files changed, 95 insertions, 0 deletions
diff --git a/docker/ansible/roles/run_prometheus/tasks/main.yml b/docker/ansible/roles/run_prometheus/tasks/main.yml new file mode 100644 index 00000000..940852e8 --- /dev/null +++ b/docker/ansible/roles/run_prometheus/tasks/main.yml @@ -0,0 +1,65 @@ +#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 diff --git a/docker/ansible/roles/run_prometheus/templates/prometheus.yml b/docker/ansible/roles/run_prometheus/templates/prometheus.yml new file mode 100644 index 00000000..7c6afa8a --- /dev/null +++ b/docker/ansible/roles/run_prometheus/templates/prometheus.yml @@ -0,0 +1,9 @@ +global: + scrape_timeout: "{{scrape_timeout}}" + scrape_interval: "{{scrape_interval}}" + evaluation_interval: "{{evaluation_interval}}" + +scrape_configs: + - job_name: 'collectd_exporter' + static_configs: + - targets: diff --git a/docker/ansible/roles/run_prometheus/vars/main.yml b/docker/ansible/roles/run_prometheus/vars/main.yml new file mode 100644 index 00000000..acf4d2d4 --- /dev/null +++ b/docker/ansible/roles/run_prometheus/vars/main.yml @@ -0,0 +1,21 @@ +#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 |