Prometheus installation
---
- name: Install Prometheus
hosts: machines
become: true
vars:
prometheus_url: "https://github.com/prometheus/prometheus/releases/download/v2.25.0/prometheus-2.25.0.linux-amd64.tar.gz"
prometheus_tarball: "{{ prometheus_url | basename | regex_replace('\\.tar\\.gz$', '') }}"
tasks:
- name: Make a user for Prometheus
user:
name: prometheus
shell: /sbin/nologin
system: true
create_home: no
group: prometheus
- name: Create a group for Prometheus
group:
name: prometheus
system: true
- name: Unarchive a file that needs to be downloaded
unarchive:
src: "{{ prometheus_url }}"
dest: /opt
group: prometheus
owner: prometheus
remote_src: yes
- name: Create a symbolic link to Prometheus
file:
src: "/opt/{{ prometheus_tarball }}"
dest: /opt/prometheus
owner: prometheus
state: link
- name: Linke the tarball
file:
src: "/opt/{{ prometheus_tarball }}"
dest: /opt/prometheus
owner: prometheus
state: link
- name: Copy the configuration
copy:
remote_src: yes
src: /opt/prometheus/prometheus.yml
dest: /etc/prometheus.yml
owner: prometheus
- name: Firewall set for 9100 to be accessible
firewalld:
port: 9090/tcp
permanent: yes
state: enabled
immediate: yes
failed_when: false
ignore_errors: true
- name: copy over the service file
copy:
src: prometheus.service
dest: /etc/systemd/system/prometheus.service
- name: Start the prometheus
systemd:
name: prometheus
state: started
daemon_reload: yes
enabled: yes