add prometheus node exporters and agent
This commit is contained in:
parent
7aee24efff
commit
0c7ee6b1bc
6 changed files with 74 additions and 1 deletions
|
@ -4,3 +4,4 @@ apt_install_packages:
|
||||||
- sudo
|
- sudo
|
||||||
- bridge-utils
|
- bridge-utils
|
||||||
- borgmatic
|
- borgmatic
|
||||||
|
- podman
|
||||||
|
|
|
@ -1,6 +1,13 @@
|
||||||
---
|
---
|
||||||
- name: Setup prometheus
|
- name: Setup node exporters
|
||||||
hosts: hypervisors
|
hosts: hypervisors
|
||||||
|
|
||||||
roles:
|
roles:
|
||||||
- role: geerlingguy.node_exporter
|
- role: geerlingguy.node_exporter
|
||||||
|
|
||||||
|
- name: Setup Prometheus agent
|
||||||
|
hosts: lewis
|
||||||
|
|
||||||
|
roles:
|
||||||
|
- role: prometheus_agent
|
||||||
|
tags: agent
|
||||||
|
|
19
ansible/roles/prometheus_agent/container-prometheus.service
Normal file
19
ansible/roles/prometheus_agent/container-prometheus.service
Normal file
|
@ -0,0 +1,19 @@
|
||||||
|
[Unit]
|
||||||
|
Description=Podman container-prometheus.service
|
||||||
|
Documentation=man:podman-generate-systemd(1)
|
||||||
|
Wants=network.target
|
||||||
|
After=network-online.target
|
||||||
|
|
||||||
|
[Service]
|
||||||
|
Environment=PODMAN_SYSTEMD_UNIT=%n
|
||||||
|
Restart=on-failure
|
||||||
|
TimeoutStopSec=70
|
||||||
|
ExecStartPre=/bin/rm -f %t/container-prometheus.pid %t/container-prometheus.ctr-id
|
||||||
|
ExecStart=/usr/bin/podman run --network=host --conmon-pidfile %t/container-prometheus.pid --cidfile %t/container-prometheus.ctr-id --cgroups=no-conmon --replace --name prometheus -d -p 127.0.0.1:9100:9100 -p 9090:9090 -v /root/prometheus/data:/data/db:Z -v /root/prometheus/prometheus.yml:/etc/prometheus/prometheus.yml prometheus --enable-feature=agent --config.file=/etc/prometheus/prometheus.yml --web.console.libraries=/usr/share/prometheus/console_libraries --web.console.templates=/usr/share/prometheus/consoles
|
||||||
|
ExecStop=/usr/bin/podman stop --ignore --cidfile %t/container-prometheus.ctr-id -t 10
|
||||||
|
ExecStopPost=/usr/bin/podman rm --ignore -f --cidfile %t/container-prometheus.ctr-id
|
||||||
|
PIDFile=%t/container-prometheus.pid
|
||||||
|
Type=forking
|
||||||
|
|
||||||
|
[Install]
|
||||||
|
WantedBy=multi-user.target default.target
|
4
ansible/roles/prometheus_agent/handlers/main.yml
Normal file
4
ansible/roles/prometheus_agent/handlers/main.yml
Normal file
|
@ -0,0 +1,4 @@
|
||||||
|
- name: systemd daemon reload
|
||||||
|
systemd:
|
||||||
|
name: container-prometheus.service
|
||||||
|
daemon_reload: true
|
21
ansible/roles/prometheus_agent/prometheus.yml
Normal file
21
ansible/roles/prometheus_agent/prometheus.yml
Normal file
|
@ -0,0 +1,21 @@
|
||||||
|
global:
|
||||||
|
scrape_interval: 15s
|
||||||
|
evaluation_interval: 15s
|
||||||
|
|
||||||
|
rule_files: []
|
||||||
|
|
||||||
|
scrape_configs:
|
||||||
|
- job_name: "lewis"
|
||||||
|
static_configs:
|
||||||
|
- targets: ["localhost:9100"]
|
||||||
|
|
||||||
|
- job_name: "atlas"
|
||||||
|
static_configs:
|
||||||
|
- targets: ["atlas.hyp:9100"]
|
||||||
|
|
||||||
|
- job_name: "jefke"
|
||||||
|
static_configs:
|
||||||
|
- targets: ["jefke.hyp:9100"]
|
||||||
|
|
||||||
|
remote_write:
|
||||||
|
- url: https://metrics.kun.is:444/api/v1/write
|
21
ansible/roles/prometheus_agent/tasks/main.yml
Normal file
21
ansible/roles/prometheus_agent/tasks/main.yml
Normal file
|
@ -0,0 +1,21 @@
|
||||||
|
- name: Create prometheus directory
|
||||||
|
file:
|
||||||
|
path: /root/prometheus
|
||||||
|
state: directory
|
||||||
|
|
||||||
|
- name: Copy prometheus config
|
||||||
|
copy:
|
||||||
|
src: "{{ role_path }}/prometheus.yml"
|
||||||
|
dest: /root/prometheus/prometheus.yml
|
||||||
|
|
||||||
|
- name: Copy prometheus systemd unit
|
||||||
|
copy:
|
||||||
|
src: "{{ role_path }}/container-prometheus.service"
|
||||||
|
dest: /etc/systemd/system/container-prometheus.service
|
||||||
|
notify: systemd daemon reload
|
||||||
|
|
||||||
|
- name: Enable prometheus systemd unit
|
||||||
|
systemd:
|
||||||
|
name: container-prometheus.service
|
||||||
|
enabled: true
|
||||||
|
state: started
|
Reference in a new issue