From e870e0971cd5154c28f01e89d7fffe0c477001db Mon Sep 17 00:00:00 2001 From: Adrien Waksberg Date: Wed, 13 Oct 2021 16:25:21 +0200 Subject: [PATCH] feat: add submodule for inputs --- CHANGELOG.md | 4 ++++ README.md | 8 ++++++++ meta/main.yml | 1 + templates/telegraf.conf.j2 | 14 ++++++++++++++ 4 files changed, 27 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 013ac86..c7c84cb 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,10 @@ Which is based on [Keep A Changelog](http://keepachangelog.com/) ## [Unreleased] +### Added + +- add submode for inputs + ## v1.0.0 - 2021-08-20 ### Added diff --git a/README.md b/README.md index bbfb55a..791eeec 100644 --- a/README.md +++ b/README.md @@ -38,6 +38,14 @@ Install and configure Telegraf totalcpu: true collect_cpu_time: false report_active: false + postgresql_extensible: + address: "host=localhost" + submodule: + - name: query + version = 901 + sqlquery = "SELECT pg_is_in_recovery()::INT" + withdbname = false + tagvalue = "" ``` * `telegraf_outputs` - hash with outputs configuration diff --git a/meta/main.yml b/meta/main.yml index ec8c35e..5ab66e9 100644 --- a/meta/main.yml +++ b/meta/main.yml @@ -1,6 +1,7 @@ --- galaxy_info: role_name: telegraf + namespace: nishiki author: Adrien Waksberg company: Adrien Waksberg description: Install and configure Telegraf diff --git a/templates/telegraf.conf.j2 b/templates/telegraf.conf.j2 index be42881..b84971f 100644 --- a/templates/telegraf.conf.j2 +++ b/templates/telegraf.conf.j2 @@ -27,11 +27,25 @@ [[inputs.{{ input }}]] {% for option, value in options.items() %} +{% if option != 'submodule' %} {{ option }} = {% if value is sameas true %}true {% elif value is sameas false %}false {% elif value is string %}"{{ value }}" {% elif value is number %}{{ value }} {% else %}["{{ value|join('", "') }}"] {% endif %} +{% else %} +{% for submod in value %} + [[inputs.{{ input }}.{{ submod.name }} ]] +{% for opt, val in submod.config.items() %} + {{ opt }} = {% if val is sameas true %}true +{% elif val is sameas false %}false +{% elif val is string %}"{{ val }}" +{% elif val is number %}{{ val }} +{% else %}["{{ val|join('", "') }}"] +{% endif %} +{% endfor %} +{% endfor %} +{% endif %} {% endfor %} {% endfor %}