diff --git a/roles/nifi/tasks/init.yml b/roles/nifi/tasks/init.yml
index 58b26f3fc2507c71a56dde9ac0709feda5c4e6d4..7d28b1cbf16c43b1ad0c73c31b6c423dac148fb8 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: