1
This commit is contained in:
commit
3df7239eef
6
handlers/main.yml
Normal file
6
handlers/main.yml
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
---
|
||||||
|
- name: reload icinga2
|
||||||
|
become: yes
|
||||||
|
service: name=icinga2 state=reloaded
|
||||||
|
|
||||||
|
# vim: set tabstop=2 shiftwidth=2 expandtab smarttab:
|
||||||
19
tasks/main.yml
Normal file
19
tasks/main.yml
Normal file
@ -0,0 +1,19 @@
|
|||||||
|
---
|
||||||
|
- name: "list previous host configs"
|
||||||
|
shell: ls -1 /etc/icinga2/conf.d/ansible_routeros/ | sed -e 's/\.[^\.]*$//'
|
||||||
|
register: previous_hosts
|
||||||
|
changed_when: false
|
||||||
|
|
||||||
|
- name: "create conf file for each host"
|
||||||
|
template: src="host" dest="/etc/icinga2/conf.d/ansible_routeros/{{ item }}.conf"
|
||||||
|
with_items: "{{ hostlist }}"
|
||||||
|
notify:
|
||||||
|
- reload icinga2
|
||||||
|
|
||||||
|
- name: "remove stale hosts"
|
||||||
|
file: path="/etc/icinga2/conf.d/ansible_routeros/{{ item }}.conf" state=absent
|
||||||
|
with_items: "{{ previous_hosts.stdout_lines }}"
|
||||||
|
when: hostvars[item] is undefined
|
||||||
|
notify:
|
||||||
|
- reload icinga2
|
||||||
|
|
||||||
47
templates/host
Normal file
47
templates/host
Normal file
@ -0,0 +1,47 @@
|
|||||||
|
# {{ ansible_managed }}
|
||||||
|
|
||||||
|
{% set c = icinga_contact_default %}
|
||||||
|
{% if icinga_contact is defined %}
|
||||||
|
{% set c = icinga_contact %}
|
||||||
|
{% endif %}
|
||||||
|
object Host "{{ hostvars[item].inventory_hostname }}" {
|
||||||
|
import "generic-host"
|
||||||
|
address = "{{ hostvars[item].ansible_host }}"
|
||||||
|
vars.os = "routeros"
|
||||||
|
vars.notification["mail"] = {
|
||||||
|
groups = [ {{ c }} ]
|
||||||
|
}
|
||||||
|
icon_image = "routeros.png"
|
||||||
|
icon_image_alt = "MikroTik RouterOS"
|
||||||
|
}
|
||||||
|
|
||||||
|
object Service "mikrotik" {
|
||||||
|
import "generic-service"
|
||||||
|
host_name = "{{ hostvars[item].inventory_hostname }}"
|
||||||
|
check_command = "mikrotik"
|
||||||
|
vars.snmpuser = "{{ hostvars[item].snmpuser }}"
|
||||||
|
vars.snmppasswd = "{{ hostvars[item].snmppasswd }}"
|
||||||
|
}
|
||||||
|
|
||||||
|
{% if 'check_ltebackup' in hostvars[item].group_names %}
|
||||||
|
object Service "ltebackup" {
|
||||||
|
import "generic-service"
|
||||||
|
host_name = "{{ hostvars[item].inventory_hostname }}"
|
||||||
|
check_command = "mikrotik_ltebackup"
|
||||||
|
vars.user = "{{ hostvars[item].apiuser }}"
|
||||||
|
vars.password = "{{ hostvars[item].apipasswd }}"
|
||||||
|
vars.ca = "{{ hostvars[item].apica }}"
|
||||||
|
}
|
||||||
|
{% endif %}
|
||||||
|
|
||||||
|
{% if hostvars[item].ov_backup_ip is defined %}
|
||||||
|
object Service "ping_ov_backup_ip" {
|
||||||
|
import "generic-service"
|
||||||
|
host_name = "{{ hostvars[item].inventory_hostname }}"
|
||||||
|
check_command = "ping"
|
||||||
|
vars.ping_address = "{{ hostvars[item].ov_backup_ip }}"
|
||||||
|
}
|
||||||
|
{% endif %}
|
||||||
|
|
||||||
|
|
||||||
|
# vim: set tabstop=4 shiftwidth=4 expandtab smarttab:
|
||||||
Loading…
x
Reference in New Issue
Block a user