From 15f2af1b0217da0a0281268442202f22915570a1 Mon Sep 17 00:00:00 2001 From: Bartosz Bezak Date: Mon, 13 Jul 2020 08:37:25 +0000 Subject: [PATCH] Fix Logstash 6 log rotation - Stable/Ussuri Logstash 6 introduced in Centos 8 in Train release comes with log4j2 configuration that does not remove old compressed logs after rotation Log rotation config backported from Logstash 7 - Combination of Size Based and Time Based policies. Deletion occurs after 30 days or 3000 MB log files size - whichever comes first. Change-Id: Ib44f493aad0813a8aba916c7c353b60cab954b5f Closes-Bug: #1886975 --- docker/logstash/Dockerfile.j2 | 9 +++++++++ releasenotes/notes/bug-1886975-454ac12be3d8e1d3.yaml | 9 +++++++++ 2 files changed, 18 insertions(+) create mode 100644 releasenotes/notes/bug-1886975-454ac12be3d8e1d3.yaml diff --git a/docker/logstash/Dockerfile.j2 b/docker/logstash/Dockerfile.j2 index 57a5a8460b..74d1651ec4 100644 --- a/docker/logstash/Dockerfile.j2 +++ b/docker/logstash/Dockerfile.j2 @@ -27,6 +27,15 @@ ENV JAVA_HOME /usr/lib/jvm/java-11-openjdk-{{debian_arch}}/ # Java together. {{ macros.install_packages([elk_java_package]) }} {{ macros.install_packages(logstash_packages | customizable("packages")) }} + +# NOTE(bbezak): log-rotation/deletion config backported from logstash 7 +# https://github.com/elastic/logstash/commit/1ea1d1982d4174868f8de6c09be2e695b3e6597c +RUN sed -i /etc/logstash/log4j2.properties \ +-e '/appender.rolling.policies.size.size/a appender.rolling.strategy.type = DefaultRolloverStrategy\nappender.rolling.strategy.max = 30' \ +-e '/appender.json_rolling.policies.size.size/a appender.json_rolling.strategy.type = DefaultRolloverStrategy\nappender.json_rolling.strategy.max = 30' \ +-e '/appender.rolling_slowlog.policies.size.size/a appender.rolling_slowlog.strategy.type = DefaultRolloverStrategy\nappender.rolling_slowlog.strategy.max = 30' \ +-e '/appender.json_rolling_slowlog.policies.size.size/a appender.json_rolling_slowlog.strategy.type = DefaultRolloverStrategy\nappender.json_rolling_slowlog.strategy.max = 30' + COPY extend_start.sh /usr/local/bin/kolla_extend_start RUN chmod 755 /usr/local/bin/kolla_extend_start diff --git a/releasenotes/notes/bug-1886975-454ac12be3d8e1d3.yaml b/releasenotes/notes/bug-1886975-454ac12be3d8e1d3.yaml new file mode 100644 index 0000000000..8264f26ae6 --- /dev/null +++ b/releasenotes/notes/bug-1886975-454ac12be3d8e1d3.yaml @@ -0,0 +1,9 @@ +--- +fixes: + - | + Logstash 6 introduced in Centos 8 in Train release comes with log4j2 + configuration that does not remove old compressed logs after rotation + https://github.com/elastic/logstash/issues/11883 + Log rotation config backported from Logstash 7 - Combination of Size + Based and Time Based policies. Deletion occurs after 30 days or + 3000 MB log files size - whichever comes first.