Add existing code
This commit is contained in:
parent
b2120d2b5d
commit
71261867e0
8 changed files with 81 additions and 0 deletions
3
defaults/main.yml
Normal file
3
defaults/main.yml
Normal file
|
@ -0,0 +1,3 @@
|
||||||
|
---
|
||||||
|
# Default values for variables of the role
|
||||||
|
# variable_name: value
|
5
handlers/main.yml
Normal file
5
handlers/main.yml
Normal file
|
@ -0,0 +1,5 @@
|
||||||
|
---
|
||||||
|
- name: Restart ping_exporter service
|
||||||
|
service:
|
||||||
|
name: ping_exporter
|
||||||
|
state: restarted
|
27
tasks/configure.yml
Normal file
27
tasks/configure.yml
Normal file
|
@ -0,0 +1,27 @@
|
||||||
|
---
|
||||||
|
- name: Ensure ping_exporter is configured
|
||||||
|
template:
|
||||||
|
dest: /etc/ping_exporter.conf
|
||||||
|
src: templates/ping_exporter.conf.j2
|
||||||
|
backup: yes
|
||||||
|
notify: Restart ping_exporter service
|
||||||
|
- name: Ensure ping_exporter systemd unit is installed
|
||||||
|
template:
|
||||||
|
dest: /etc/systemd/system/ping_exporter.service
|
||||||
|
src: templates/ping_exporter.service.j2
|
||||||
|
backup: yes
|
||||||
|
- name: Ensure ping_exporter service is enabled and running
|
||||||
|
systemd:
|
||||||
|
name: ping_exporter.service
|
||||||
|
state: started
|
||||||
|
enabled: yes
|
||||||
|
- name: Ensure Prometheus host can reach ping_exporter
|
||||||
|
ufw:
|
||||||
|
rule: allow
|
||||||
|
port: "{{ ping_exporter['port'] }}"
|
||||||
|
src: "{{ ping_exporter['prometheus_host'] }}"
|
||||||
|
- name: Ensure there is a logrotate rule for ping_exporter
|
||||||
|
template:
|
||||||
|
dest: /etc/logrotate.d/ping_exporter
|
||||||
|
src: templates/ping_exporter_logrotate.j2
|
||||||
|
backup: yes
|
11
tasks/install.yml
Normal file
11
tasks/install.yml
Normal file
|
@ -0,0 +1,11 @@
|
||||||
|
---
|
||||||
|
- name: Ensure prometheus-ping-exporter is cloned
|
||||||
|
git:
|
||||||
|
repo: ssh://git@repos.susurrando.com:1122/srv/git.repos/ping_exporter.git
|
||||||
|
dest: /var/lib/from_repos/ping_exporter
|
||||||
|
depth: 1
|
||||||
|
notify: Restart ping_exporter service
|
||||||
|
- name: Install ping_exporter python requirements
|
||||||
|
pip:
|
||||||
|
requirements: /var/lib/from_repos/ping_exporter/requirements.txt
|
||||||
|
notify: Restart ping_exporter service
|
5
tasks/main.yml
Normal file
5
tasks/main.yml
Normal file
|
@ -0,0 +1,5 @@
|
||||||
|
---
|
||||||
|
- name: Ensure installation
|
||||||
|
include_tasks: install.yml
|
||||||
|
- name: Ensure configuration
|
||||||
|
include_tasks: configure.yml
|
8
templates/ping_exporter.conf.j2
Normal file
8
templates/ping_exporter.conf.j2
Normal file
|
@ -0,0 +1,8 @@
|
||||||
|
log_file="{{ ping_exporter['log_file']}}"
|
||||||
|
count={{ ping_exporter['count'] }}
|
||||||
|
port={{ ping_exporter['port'] }}
|
||||||
|
frequency={{ ping_exporter['frequency'] }}
|
||||||
|
interval={{ ping_exporter['interval'] }}
|
||||||
|
timeout={{ ping_exporter['timeout'] }}
|
||||||
|
family="{{ ping_exporter['family'] }}"
|
||||||
|
targets={% for target in ping_exporter['targets'] %}"{{ target }}"{% if not loop.last %},{% endif %}{% endfor %}
|
14
templates/ping_exporter.service.j2
Normal file
14
templates/ping_exporter.service.j2
Normal file
|
@ -0,0 +1,14 @@
|
||||||
|
# Managed by Ansible
|
||||||
|
# /etc/systemd/system/ping_exporter.service
|
||||||
|
# User service: $HOME/.config/systemd/user/ping_exporter.service
|
||||||
|
|
||||||
|
[Unit]
|
||||||
|
Description=Ping exporter service
|
||||||
|
After=syslog.target network.target auditd.service
|
||||||
|
OnFailure=status_email_antoniodelgado@%n.service
|
||||||
|
|
||||||
|
[Service]
|
||||||
|
ExecStart=/var/lib/from_repos/ping_exporter/ping_exporter/ping_exporter.py --config /etc/ping_exporter.conf
|
||||||
|
|
||||||
|
[Install]
|
||||||
|
WantedBy=multi-user.target
|
8
templates/ping_exporter_logrotate.j2
Normal file
8
templates/ping_exporter_logrotate.j2
Normal file
|
@ -0,0 +1,8 @@
|
||||||
|
{{ ping_exporter['log_file'] }}
|
||||||
|
{
|
||||||
|
rotate 4
|
||||||
|
weekly
|
||||||
|
missingok
|
||||||
|
compress
|
||||||
|
delaycompress
|
||||||
|
}
|
Loading…
Reference in a new issue