From 47157118e7870e0c42ad945006109deb1d50c61b Mon Sep 17 00:00:00 2001 From: Timo Makinen Date: Fri, 27 Dec 2024 15:12:48 +0000 Subject: [PATCH] telegraf: Move config into repository --- roles/telegraf/tasks/main.yml | 6 ++-- roles/telegraf/templates/telegraf.conf.j2 | 36 +++++++++++++++++++++++ 2 files changed, 39 insertions(+), 3 deletions(-) create mode 100644 roles/telegraf/templates/telegraf.conf.j2 diff --git a/roles/telegraf/tasks/main.yml b/roles/telegraf/tasks/main.yml index 8cd7022..d1ab303 100644 --- a/roles/telegraf/tasks/main.yml +++ b/roles/telegraf/tasks/main.yml @@ -9,10 +9,10 @@ name: telegraf state: installed -- name: Copy config - ansible.builtin.copy: +- name: Create config + ansible.builtin.template: dest: /etc/telegraf/telegraf.conf - src: "{{ ansible_private }}/files/telegraf/telegraf.conf" + src: telegraf.conf.j2 mode: "0640" owner: root group: _telegraf diff --git a/roles/telegraf/templates/telegraf.conf.j2 b/roles/telegraf/templates/telegraf.conf.j2 new file mode 100644 index 0000000..2f1056e --- /dev/null +++ b/roles/telegraf/templates/telegraf.conf.j2 @@ -0,0 +1,36 @@ +[[outputs.influxdb_v2]] + urls = ["https://influxdb.foo.sh:443"] + token = "{{ influxdb_token }}" + organization = "foo.sh" + bucket = "sensordata" + +[[inputs.mqtt_consumer]] + servers = ["ssl://{{ inventory_hostname }}:8883"] + tls_ca = "{{ tls_certs }}/ca.crt" + tls_cert = "{{ tls_certs }}/{{ inventory_hostname }}.crt" + tls_key = "{{ tls_private }}/{{ inventory_hostname }}.key" + topics = [ + "+/+/+/relay/0/power", + "+/+/+/temperature", + "+/+/+/sensor/battery", + "+/+/+/sensor/lux", + "+/+/+/sensor/state", + "+/+/+/sensor/temperature", + ] + data_type = "float" + data_format = "value" + + [[inputs.mqtt_consumer.topic_parsing]] + topic = "+/+/+/relay/0/power" + tags = "location/room/device/_/_/_" + measurement = "_/_/_/_/_/measurement" + + [[inputs.mqtt_consumer.topic_parsing]] + topic = "+/+/+/temperature" + tags = "location/room/device/_" + measurement = "_/_/_/temperature" + + [[inputs.mqtt_consumer.topic_parsing]] + topic = "+/+/+/sensor/+" + tags = "location/room/device/_/_" + measurement = "_/_/_/_/measurement"