add proxmox exporter

This commit is contained in:
Ludovic Cartier 2023-01-27 20:34:33 +01:00
parent 7d6d9e2076
commit 98fe9294b3
5 changed files with 88 additions and 0 deletions

View File

@ -88,3 +88,10 @@
state: restarted state: restarted
enabled: yes enabled: yes
tags: ['prometheus'] tags: ['prometheus']
- name: 'prometheus | proxmox exporter | restart service'
systemd:
name: prometheus-proxmox-exporter.service
state: restarted
enabled: yes
tags: ['prometheus']

View File

@ -0,0 +1,48 @@
---
- name: 'proxmox exporter | check vars are defined'
assert:
that:
- prometheus_proxmox_exporter_user is defined
- prometheus_proxmox_exporter_password is defined
- prometheus_proxmox_exporter_node is defined
tags: ['prometheus_proxmox']
- name: 'proxmox exporter | install package through pip3'
pip:
name:
- prometheus-pve-exporter
executable: pip3
tags: ['prometheus_proxmox']
- name: 'proxmox exporter | configuration'
template:
src: conf/prometheus-proxmox-exporter.j2
dest: /etc/default/prometheus-proxmox-exporter
owner: root
group: root
mode: 0600
register: prometheus_postgres_exporter_configuration
notify:
- 'prometheus | proxmox exporter | restart service'
tags: ['prometheus_proxmox']
- name: 'promox exporter | systemd | copy unit file'
template:
src: systemd/prometheus-promox-exporter.service.j2
dest: /etc/systemd/system/prometheus-promox-exporter.service
owner: root
group: root
mode: 0600
notify:
- 'prometheus | promox exporter | restart service'
when: not stat_result.stat.exists or exporter_upgrade == "yes"
tags: ['prometheus_proxmox']
- name: 'promox exporter | systemd | enable service'
systemd:
daemon_reload: yes
enabled: yes
name: prometheus-{{ exporter }}-exporter.service
ignore_errors: '{{ ansible_check_mode }}'
when: not stat_result.stat.exists or exporter_upgrade == "yes"
tags: ['prometheus_proxmox']

View File

@ -0,0 +1,5 @@
# {{ ansible_managed }}
default:
user: {{ prometheus_proxmox_exporter_user }}
password: {{ prometheus_proxmox_exporter_password }}
verify_ssl: {{ prometheus_proxmox_exporter_verify_ssl | default('false') }}

View File

@ -387,3 +387,20 @@ scrape_configs:
regex: '(.*):8082' regex: '(.*):8082'
replacement: '${1}' replacement: '${1}'
{% endif %} {% endif %}
{% if prometheus_pve_exporter_targets is defined %}
# proxmox #
- job_name: pve
scrape_interval: 30s
static_configs:
- targets:
{% for target in prometheus_pve_exporter_targets %}
- {{ target }}:9221
{% endfor %}
metrics_path: /pve
relabel_configs:
- source_labels: [ __address__ ]
target_label: instance
regex: '(.*):9221'
replacement: '${1}'
{% endif %}

View File

@ -0,0 +1,11 @@
[Unit]
Description=Proxmox VE Prometheus Exporter
After=network.target
Wants=network.target
[Service]
Restart=on-failure
ExecStart=/usr/local/bin/pve_exporter /etc/default/prometheus-pve-exporter {{ prometheus_proxmox_exporter_port | default('9221') }} {{ prometheus_proxmox_exporter_node }}
[Install]
WantedBy=multi-user.target