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