From 20c49beb763fbc39b7c24fa3abca18f447909711 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?V=C3=A1clav=20Barto=C5=A1?= <bartos@cesnet.cz>
Date: Wed, 3 Nov 2021 21:30:06 +0100
Subject: [PATCH] Set up compression of rotated NiFi logs

NiFi logs can take up to 3 GB per node in default configuration. This configures log rotation in a way that old log files are gzipped and therefore much smaller.
---
 roles/nifi/tasks/init.yml | 9 +++++++++
 1 file changed, 9 insertions(+)

diff --git a/roles/nifi/tasks/init.yml b/roles/nifi/tasks/init.yml
index 58b26f3..7d28b1c 100644
--- a/roles/nifi/tasks/init.yml
+++ b/roles/nifi/tasks/init.yml
@@ -58,6 +58,15 @@
     src: nifi.properties.j2
     dest: "{{ ansible_facts.env['NIFI_HOME'] }}/conf/nifi.properties"
 
+- name: Configure compression of NiFi log files
+  # NiFi log files can consume ~3GB (on each node) in default configuration.
+  # Add ".gz" to the filename pattern, which enables compression of rolled log files
+  remote_user: nifi
+  replace:
+    path: "{{ ansible_facts.env['NIFI_HOME'] }}/conf/logback.xml"
+    regexp: '\.log</fileNamePattern>'
+    replace: '.log.gz</fileNamePattern>'
+
 - name: Copy authorizations.xml
   remote_user: nifi
   copy:
-- 
GitLab