From 1a745bfa22a5efaa164225f14b87409c5c0a0b16 Mon Sep 17 00:00:00 2001 From: Pim Kunis Date: Wed, 2 Aug 2023 18:07:24 +0200 Subject: [PATCH] add fluentd service --- ansible/roles/monitoring/docker-stack.yml.j2 | 11 +++++++++++ ...{elasticsearch.yml => elasticsearch.yml.j2} | 1 + ansible/roles/monitoring/fluent.conf.j2 | 18 ++++++++++++++++++ ansible/roles/monitoring/tasks/main.yml | 10 +++++++++- 4 files changed, 39 insertions(+), 1 deletion(-) rename ansible/roles/monitoring/{elasticsearch.yml => elasticsearch.yml.j2} (94%) create mode 100644 ansible/roles/monitoring/fluent.conf.j2 diff --git a/ansible/roles/monitoring/docker-stack.yml.j2 b/ansible/roles/monitoring/docker-stack.yml.j2 index bf8f9db..7d15a4d 100644 --- a/ansible/roles/monitoring/docker-stack.yml.j2 +++ b/ansible/roles/monitoring/docker-stack.yml.j2 @@ -9,6 +9,9 @@ configs: esdatasource: external: true name: "{{ esdatasource.config_name }}" + fluentconf: + external: true + name: "{{ fluentconf.config_name }}" volumes: escerts: @@ -96,3 +99,11 @@ services: configs: - source: esdatasource target: /etc/grafana/provisioning/datasources/elasticsearch.yaml + + fluentd: + image: git.kun.is/pim/fluentd:1.0.1 + ports: + - 24224:24224 + configs: + - source: fluentconf + target: /fluentd/etc/fluent.conf diff --git a/ansible/roles/monitoring/elasticsearch.yml b/ansible/roles/monitoring/elasticsearch.yml.j2 similarity index 94% rename from ansible/roles/monitoring/elasticsearch.yml rename to ansible/roles/monitoring/elasticsearch.yml.j2 index a898f3e..7d710c7 100644 --- a/ansible/roles/monitoring/elasticsearch.yml +++ b/ansible/roles/monitoring/elasticsearch.yml.j2 @@ -1,3 +1,4 @@ +# vi: ft=yaml apiVersion: 1 datasources: diff --git a/ansible/roles/monitoring/fluent.conf.j2 b/ansible/roles/monitoring/fluent.conf.j2 new file mode 100644 index 0000000..84895d9 --- /dev/null +++ b/ansible/roles/monitoring/fluent.conf.j2 @@ -0,0 +1,18 @@ +# vi: ft=yaml +# Receive events from 24224/tcp +# This is used by log forwarding and the fluent-cat command + + @type forward + port 24224 + + + + @type elasticsearch + host maestro.dmz + port {{ elasticsearch_port }} + include_timestamp true + + + + log_level info + diff --git a/ansible/roles/monitoring/tasks/main.yml b/ansible/roles/monitoring/tasks/main.yml index c5958c3..191f846 100644 --- a/ansible/roles/monitoring/tasks/main.yml +++ b/ansible/roles/monitoring/tasks/main.yml @@ -1,7 +1,15 @@ +- name: Create fluentd config + docker_config: + name: fluentconf + data: "{{ lookup('template', '{{ role_path }}/fluent.conf.j2') }}" + use_ssh_client: true + rolling_versions: true + register: fluentconf + - name: Create elasticsearch data source config docker_config: name: esdatasource - data: "{{ lookup('template', '{{ role_path }}/elasticsearch.yml') }}" + data: "{{ lookup('template', '{{ role_path }}/elasticsearch.yml.j2') }}" use_ssh_client: true rolling_versions: true register: esdatasource