r/statsd-exporter: Deploy statsd exporter
The *statsd exporter* is a Prometheus exporter that converts statistics from StatsD format into Prometheus metrics. It is generally useful as a bridge between processes that emit event-based statistics, turning them into Prometheus counters and gauges.
This commit is contained in:
8
roles/statsd-exporter/handlers/main.yml
Normal file
8
roles/statsd-exporter/handlers/main.yml
Normal file
@@ -0,0 +1,8 @@
|
||||
- name: reload systemd
|
||||
systemd:
|
||||
daemon_reload: true
|
||||
|
||||
- name: restart statsd exporter
|
||||
service:
|
||||
name: statsd-exporter
|
||||
state: restarted
|
||||
2
roles/statsd-exporter/meta/main.yml
Normal file
2
roles/statsd-exporter/meta/main.yml
Normal file
@@ -0,0 +1,2 @@
|
||||
dependencies:
|
||||
- systemd-base
|
||||
66
roles/statsd-exporter/tasks/main.yml
Normal file
66
roles/statsd-exporter/tasks/main.yml
Normal file
@@ -0,0 +1,66 @@
|
||||
- name: ensure required packages are installed
|
||||
package:
|
||||
name:
|
||||
- podman
|
||||
state: present
|
||||
tags:
|
||||
- install
|
||||
|
||||
- name: ensure statsd-exporter os group exists
|
||||
group:
|
||||
name: statsd-exporter
|
||||
gid: 228
|
||||
system: true
|
||||
state: present
|
||||
tags:
|
||||
- user
|
||||
- group
|
||||
- name: ensure statsd-exporter os user exists
|
||||
user:
|
||||
name: statsd-exporter
|
||||
uid: 228
|
||||
system: true
|
||||
state: present
|
||||
tags:
|
||||
- user
|
||||
|
||||
- name: ensure statsd-exporter container is defined
|
||||
template:
|
||||
src: statsd-exporter.container.j2
|
||||
dest: /etc/containers/systemd/statsd-exporter.container
|
||||
owner: root
|
||||
group: root
|
||||
mode: u=rw,go=r
|
||||
notify:
|
||||
- 'statsd-exporter : reload systemd'
|
||||
- restart statsd exporter
|
||||
tags:
|
||||
- systemd
|
||||
- container
|
||||
|
||||
- name: flush handlers
|
||||
meta: flush_handlers
|
||||
|
||||
- name: ensure statsd exporter starts at boot
|
||||
service:
|
||||
name: statsd-exporter
|
||||
enabled: true
|
||||
tags:
|
||||
- service
|
||||
|
||||
- name: ensure statsd exporter is running
|
||||
service:
|
||||
name: statsd-exporter
|
||||
state: started
|
||||
tags:
|
||||
- service
|
||||
|
||||
- name: ensure firewall is configured for statsd exporter
|
||||
firewalld:
|
||||
port: 9125/tcp
|
||||
immediate: true
|
||||
permanent: true
|
||||
state: enabled
|
||||
when: host_uses_firewalld|d(true)
|
||||
tags:
|
||||
- firewalld
|
||||
16
roles/statsd-exporter/templates/statsd-exporter.container.j2
Normal file
16
roles/statsd-exporter/templates/statsd-exporter.container.j2
Normal file
@@ -0,0 +1,16 @@
|
||||
[Unit]
|
||||
Description=StatsD Exporter for Prometheus
|
||||
Wants=network-online.target
|
||||
After=network-online.target
|
||||
|
||||
[Container]
|
||||
Image=docker.io/prom/statsd-exporter:v0.27.1
|
||||
User=228
|
||||
Group=228
|
||||
DropCapability=all
|
||||
PublishPort=9102:9102
|
||||
PublishPort=9125:9125/tcp
|
||||
PublishPort=9125:9125/udp
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
||||
3
roles/systemd-base/handlers/main.yml
Normal file
3
roles/systemd-base/handlers/main.yml
Normal file
@@ -0,0 +1,3 @@
|
||||
- name: reload systemd
|
||||
systemd:
|
||||
daemon_reload: true
|
||||
Reference in New Issue
Block a user