From 13dedddf418bae3cb7a357ee018a3645ee139d14 Mon Sep 17 00:00:00 2001 From: Jonas Gunz Date: Sat, 19 Feb 2022 21:37:05 +0100 Subject: icinga: add influxdb config option --- roles/icinga2/defaults/main.yml | 8 ++++++++ roles/icinga2/tasks/icinga.yml | 1 + roles/icinga2/templates/icinga2.conf.j2 | 1 + roles/icinga2/templates/influx.conf.j2 | 34 +++++++++++++++++++++++++++++++++ 4 files changed, 44 insertions(+) create mode 100644 roles/icinga2/templates/influx.conf.j2 diff --git a/roles/icinga2/defaults/main.yml b/roles/icinga2/defaults/main.yml index 7e4e5bc..d4fe89f 100644 --- a/roles/icinga2/defaults/main.yml +++ b/roles/icinga2/defaults/main.yml @@ -25,6 +25,14 @@ icinga: smtp_user: '' smtp_psw: '' from: '' + influx: + enable: false + host: 'localhost' + port: 8086 + ssl: true + database: 'icinga' + username: 'icinga' + password: '' constants: TicketSalt: '' NodeName: '{{ ansible_facts.fqdn }}' diff --git a/roles/icinga2/tasks/icinga.yml b/roles/icinga2/tasks/icinga.yml index 3efef4b..e9eae1a 100644 --- a/roles/icinga2/tasks/icinga.yml +++ b/roles/icinga2/tasks/icinga.yml @@ -47,6 +47,7 @@ - ido-mysql.conf - api_users.conf - constants.conf + - influx.conf - name: Install config from git git: diff --git a/roles/icinga2/templates/icinga2.conf.j2 b/roles/icinga2/templates/icinga2.conf.j2 index 13d2d7f..921c2d6 100644 --- a/roles/icinga2/templates/icinga2.conf.j2 +++ b/roles/icinga2/templates/icinga2.conf.j2 @@ -18,6 +18,7 @@ include include "features-enabled/*.conf" include "ido-mysql.conf" include "api_users.conf" +include "influx.conf" {% if icinga.config.manage is true %} include_recursive "conf.git.d" diff --git a/roles/icinga2/templates/influx.conf.j2 b/roles/icinga2/templates/influx.conf.j2 new file mode 100644 index 0000000..42b6d3b --- /dev/null +++ b/roles/icinga2/templates/influx.conf.j2 @@ -0,0 +1,34 @@ +/** +* vi: ft=icinga2 +* This File is managed by Ansible. Do NOT change. +*/ + +{% if icinga.influx.enable %} +object InfluxdbWriter "influxdb" { + host = "{{ icinga.influx.host }}" + ssl_enable = {{ icinga.influx.ssl | string | lower }} + port = {{ icinga.influx.port }} + database = "{{ icinga.influx.database }}" + username = "{{ icinga.influx.username }}" + password = "{{ icinga.influx.password }}" + flush_threshold = 1024 + flush_interval = 10s + enable_send_thresholds = true + enable_send_metadata = true + host_template = { + measurement = "$host.check_command$" + tags = { + hostname = "$host.name$" + } + } + service_template = { + measurement = "$service.check_command$" + tags = { + hostname = "$host.name$" + service = "$service.name$" + check_command = "$service.vars.check_command$" + instance = "$service.vars.instance$" + } + } +} +{% endif %} -- cgit v1.2.3