diff --git a/docker-compose/logstash/Dockerfile b/docker-compose/logstash/Dockerfile
index 94fa5ab4bfe9a6d5946da6dda9a018c8385ef592..c455b2192eee00a7a293c8f39422ebb54b556f3e 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 177ea72c8237826b40ef94323382c76f5c92781a..71afa03e94ef6427cdb06223a8f8ad1b452fa435 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 0000000000000000000000000000000000000000..42d981acb5fa74d858ea9cb83ad951c87248018a
--- /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 58dfc1915fa772020b7bec50b722c9e31b89d83b..9de7d9e1dc6d594b21ea967266c383886e82970e 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: