From af3d99b629a8f48add8890d5f3e8acc1c7e7ef1a Mon Sep 17 00:00:00 2001 From: Jan David Mol <mol@astron.nl> Date: Fri, 15 Sep 2023 14:30:43 +0000 Subject: [PATCH] Fix parsing of MariaDB timestamps --- docker-compose/logstash/Dockerfile | 5 +++-- docker-compose/logstash/{loki.conf => logstash.conf} | 5 +++-- docker-compose/logstash/patterns/mariadb.txt | 2 ++ docker-compose/tango.yml | 1 + 4 files changed, 9 insertions(+), 4 deletions(-) rename docker-compose/logstash/{loki.conf => logstash.conf} (95%) create mode 100644 docker-compose/logstash/patterns/mariadb.txt diff --git a/docker-compose/logstash/Dockerfile b/docker-compose/logstash/Dockerfile index 94fa5ab4b..c455b2192 100644 --- a/docker-compose/logstash/Dockerfile +++ b/docker-compose/logstash/Dockerfile @@ -5,6 +5,7 @@ FROM ${SOURCE_IMAGE} ENV ELASTIC_CONTAINER=false # Provide our logstash config -COPY loki.conf /home/logstash/ +COPY logstash.conf /home/logstash/ COPY logstash.yml /usr/share/logstash/config/logstash.yml -COPY loki.conf /usr/share/logstash/pipeline/logstash.conf +COPY logstash.conf /usr/share/logstash/pipeline/logstash.conf +COPY patterns /usr/share/logstash/patterns diff --git a/docker-compose/logstash/loki.conf b/docker-compose/logstash/logstash.conf similarity index 95% rename from docker-compose/logstash/loki.conf rename to docker-compose/logstash/logstash.conf index 177ea72c8..71afa03e9 100644 --- a/docker-compose/logstash/loki.conf +++ b/docker-compose/logstash/logstash.conf @@ -97,10 +97,11 @@ filter { if [program] == "tangodb" { grok { id => "grok_tangodb" + patterns_dir => [ "/usr/share/logstash/patterns/" ] match => { "message" => [ - "%{TIMESTAMP_ISO8601:timestamp} .%{WORD:level}. %{GREEDYDATA:message}", - "%{TIMESTAMP_ISO8601:timestamp} 0 .%{WORD:level}. %{GREEDYDATA:message}" + "%{TIMESTAMP_ISO8601_MARIADB:timestamp} .%{WORD:level}. %{GREEDYDATA:message}", + "%{TIMESTAMP_ISO8601_MARIADB:timestamp} %{NONNEGINT} .%{WORD:level}. %{GREEDYDATA:message}" ] } "overwrite" => [ "timestamp", "level", "message" ] diff --git a/docker-compose/logstash/patterns/mariadb.txt b/docker-compose/logstash/patterns/mariadb.txt new file mode 100644 index 000000000..42d981acb --- /dev/null +++ b/docker-compose/logstash/patterns/mariadb.txt @@ -0,0 +1,2 @@ +# MariaDB uses ' 2' instead of '02' for hours. The following format accepts both. +TIMESTAMP_ISO8601_MARIADB %{YEAR}-%{MONTHNUM}-%{MONTHDAY}[T ] ?%{HOUR}:?%{MINUTE}(?::?%{SECOND})?%{ISO8601_TIMEZONE}? diff --git a/docker-compose/tango.yml b/docker-compose/tango.yml index 58dfc1915..9de7d9e1d 100644 --- a/docker-compose/tango.yml +++ b/docker-compose/tango.yml @@ -27,6 +27,7 @@ services: - MYSQL_DATABASE=tango - MYSQL_USER=tango - MYSQL_PASSWORD=tango + - MARIADB_AUTO_UPGRADE=1 volumes: - tangodb:/var/lib/mysql ports: -- GitLab