64 lines
2.6 KiB
YAML
64 lines
2.6 KiB
YAML
---
|
||
- name: 'prometheus | postgres exporter | get latest release from GitHub'
|
||
shell: curl --silent "https://api.github.com/repos/prometheus-community/postgres_exporter/releases/latest" | jq -r .tag_name | sed "s/v//"
|
||
args:
|
||
warn: false
|
||
register: prometheus_postgres_exporter_version
|
||
run_once: true
|
||
|
||
- name: 'prometheus | postgres exporter | download'
|
||
get_url:
|
||
url: https://github.com/prometheus-community/postgres_exporter/releases/download/v{{ prometheus_postgres_exporter_version|default(prometheus_postgres_exporter_latest_version.stdout) }}/postgres_exporter-{{ prometheus_postgres_exporter_version|default(prometheus_postgres_exporter_latest_version.stdout) }}.linux-amd64.tar.gz
|
||
dest: /tmp
|
||
|
||
- name: 'prometheus | postgres exporter | unarchive'
|
||
unarchive:
|
||
remote_src: yes
|
||
src: /tmp/postgres_exporter-{{ prometheus_postgres_exporter_version|default(prometheus_postgres_exporter_latest_version.stdout) }}.linux-amd64.tar.gz
|
||
dest: /tmp
|
||
|
||
- name: 'prometheus | postgres exporter | move to /usr/local/bin'
|
||
copy:
|
||
src: /tmp/postgres_exporter-{{ prometheus_postgres_exporter_version|default(prometheus_postgres_exporter_latest_version.stdout) }}.linux-amd64/postgres_exporter
|
||
dest: /usr/local/bin/prometheus-postgres-exporter
|
||
remote_src: yes
|
||
owner: root
|
||
group: root
|
||
mode: 0755
|
||
notify:
|
||
- 'prometheus | postgres exporter | restart service'
|
||
|
||
- name: 'prometheus | postgres exporter | install unit file to systemd'
|
||
template:
|
||
src: systemd/prometheus-postgres-exporter.service.j2
|
||
dest: /etc/systemd/system/prometheus-postgres-exporter.service
|
||
owner: root
|
||
group: root
|
||
mode: 0600
|
||
|
||
- name: 'prometheus | postgres exporter | configure systemd to use service'
|
||
systemd:
|
||
daemon_reload: yes
|
||
enabled: yes
|
||
state: started
|
||
name: prometheus-postgres-exporter.service
|
||
|
||
- name: 'prometheus | postgres exporter | configuration'
|
||
copy:
|
||
dest: '/etc/default/prometheus-postgres-exporter'
|
||
owner: root
|
||
group: root
|
||
mode: 0644
|
||
backup: yes
|
||
content: |
|
||
DATA_SOURCE_NAME='postgresql://{{ prometheus_exporter_postgresql_user }}:{{ prometheus_exporter_postgresql_password }}@{{ prometheus_exporter_postgresql_host }}:{{prometheus_exporter_postgresql_port }}/''
|
||
ARGS=''
|
||
when:
|
||
- prometheus_postgres_exporter_user is defined
|
||
- prometheus_postgres_exporter_password is defined
|
||
- prometheus_postgres_exporter_host is defined
|
||
- prometheus_postgres_exporter_port is defined
|
||
register: prometheu_postgres_exporter_configuration
|
||
notify:
|
||
- 'prometheus | postgres exporter | restart service'
|