diff --git a/roles/build/files/kibanalogrotate.conf b/roles/build/files/kibanalogrotate.conf
new file mode 100644
index 0000000000000000000000000000000000000000..3b753cebacfcc15e97862cab618cbbdaa93686a3
--- /dev/null
+++ b/roles/build/files/kibanalogrotate.conf
@@ -0,0 +1,8 @@
+/usr/share/kibana/kblog
+{
+        rotate 0
+        daily
+        missingok
+        notifempty
+	copytruncate
+}
diff --git a/roles/build/files/kibanasupervisord.conf b/roles/build/files/kibanasupervisord.conf
new file mode 100644
index 0000000000000000000000000000000000000000..7216d6eb5ab37e4c702e46843dbb096d129678a3
--- /dev/null
+++ b/roles/build/files/kibanasupervisord.conf
@@ -0,0 +1,33 @@
+[unix_http_server]
+file=/tmp/supervisor.sock
+
+[supervisord]
+pidfile=/tmp/supervisord.pid
+nodaemon=true
+logfile=/var/log/supervisor/supervisord.log
+logfile_maxbytes=10MB
+logfile_backups=10
+loglevel=info
+childlogdir=/var/log/supervisor/
+
+[rpcinterface:supervisor]
+supervisor.rpcinterface_factory = supervisor.rpcinterface:make_main_rpcinterface
+
+[supervisorctl]
+serverurl=unix:///tmp/supervisor.sock
+
+[program:kibana]
+user=kibana
+directory=/usr/share/kibana
+command=sh -c "/usr/share/kibana/bin/kibana -c /usr/share/kibana/config/kibana.yml > kblog 2>&1"
+
+[program:cron]
+autostart=true
+autorestart=true
+command=crond -n
+logfile_maxbytes=10MB
+stdout_logfile_backups = 0
+stderr_logfile_backups = 0
+stderr_logfile = /var/log/supervisor/cron_stderr.log
+stdout_logfile = /var/log/supervisor/cron_stdout.log
+
diff --git a/roles/build/templates/odfekibana/Dockerfile-kibana.j2 b/roles/build/templates/odfekibana/Dockerfile-kibana.j2
index 3e5d1932de7e38df805d6fa7a2bdb030261823c6..634690c46cbace0faa0500b71a5fd1831f332de0 100644
--- a/roles/build/templates/odfekibana/Dockerfile-kibana.j2
+++ b/roles/build/templates/odfekibana/Dockerfile-kibana.j2
@@ -1,5 +1,8 @@
 FROM {{repo}}/centos:{{version}}{{suffix}}
 
+RUN yum install -y supervisor
+RUN yum clean all
+
 ENV PATH="/usr/share/kibana/bin:${PATH}"
 
 RUN groupadd -g 1000 kibana && \
@@ -13,6 +16,8 @@ RUN rpm --import https://artifacts.elastic.co/GPG-KEY-elasticsearch && \
     chown -R kibana /usr/share/kibana/config/
 
 RUN echo 'kibana ALL=(ALL:ALL) NOPASSWD: ALL' >> /etc/sudoers
+COPY kibanasupervisord.conf /etc/supervisord.conf
+COPY kibanalogrotate.conf /etc/logrotate.d/kibana.conf
 
 EXPOSE 5601
 USER kibana
diff --git a/roles/build/templates/odfekibana/Dockerfile-odfekibana.j2 b/roles/build/templates/odfekibana/Dockerfile-odfekibana.j2
index 256d187ee81232feb2370655f31ce43893ea1064..a8f4fdc464c3d91d3ad11c9ed336054cc4161fb8 100644
--- a/roles/build/templates/odfekibana/Dockerfile-odfekibana.j2
+++ b/roles/build/templates/odfekibana/Dockerfile-odfekibana.j2
@@ -16,5 +16,3 @@ RUN chown -R kibana:kibana /usr/share/kibana/plugins/thehive_button
 
 RUN echo 'kibana ALL=(ALL:ALL) NOPASSWD: ALL' >> /etc/sudoers
 
-USER kibana
-
diff --git a/roles/odfekibana/tasks/main.yml b/roles/odfekibana/tasks/main.yml
index 49924ee700e2752e4c1141b68eed4f410ddf3ace..de89a77becee078489558b90d881bf0c9a967694 100644
--- a/roles/odfekibana/tasks/main.yml
+++ b/roles/odfekibana/tasks/main.yml
@@ -23,6 +23,7 @@
     - start
 
 - name: Copy certificates in odfe kibana conf dir
+  remote_user: kibana
   copy:
     src:  "{{ item }}"
     dest: "config/{{ item }}"
@@ -38,6 +39,7 @@
     - start
 
 - name: Get openid authkey
+  remote_user: kibana
   set_fact:
     kibanasecret: "{{lookup('file', 'files/kibanasecret',convert_data=False) | from_json }}"
   tags:
@@ -62,6 +64,7 @@
 #  tags:
 #    - start
 - name: Configure odfe kibana properties
+  remote_user: kibana
   template:
     src: "{{item}}.j2"
     dest: "config/{{item}}"
@@ -71,6 +74,7 @@
     - start
 
 - name: Configure odfe kibana start script
+  remote_user: kibana
   template:
     src: "{{item}}.j2"
     dest: "{{item}}"
@@ -87,6 +91,7 @@
 
 
 - name: Generate configuration for thehive_button plugin
+  remote_user: kibana
   template:
     src: files/env.js.j2
     dest: "/usr/share/kibana/plugins/thehive_button/public/env.js"
@@ -96,14 +101,14 @@
     - start
 
 
-- name: Start OpenDistro Kibana for Elasticsearch
-  command: /usr/share/kibana/startkibana.sh
-  #shell: exec /usr/share/kibana/bin/kibana -c config/kibana.yml &
-  #shell: "nohup /usr/share/kibana/bin/kibana -c config/kibana.yml &"
+- name: Start Supervisord (kibana and cron)
+  remote_user: root
+  shell: "/usr/bin/supervisord -c /etc/supervisord.conf &"
   tags:
     - start
 
 - name: Wait for Kibana
+  remote_user: kibana
   wait_for:
     host: "{{groups['odfekibanacontainers'][0]}}"
     port: 5601
@@ -113,6 +118,7 @@
     - start
 
 - name: Check Kibana health
+  remote_user: kibana
   shell: 'curl -k -b /tmp/cookie.txt -c /tmp/cookie.txt -X "GET" "https://{{dslproxy}}:5601/api/status" \
               | egrep status....overall....state...green'
   register: result
@@ -149,6 +155,7 @@
     - start
 
 - name: Import graphs to kibana
+  remote_user: kibana
   shell: 'curl -X "POST" "https://{{dslproxy}}:5601/api/saved_objects/_import?overwrite=true" \
           -b /tmp/cookie.txt -c /tmp/cookie.txt \
           -k --user admin:{{ odfees_adminpass }} \
@@ -166,6 +173,7 @@
     - start
 
 - name: Grant admin permissions to users
+  remote_user: kibana
   shell: 'curl -X "POST" "https://{{dslproxy}}:5601/api/v1/configuration/rolesmapping/all_access" \
           -b /tmp/cookie.txt -c /tmp/cookie.txt \
           -k --user admin:{{ odfees_adminpass }} \
@@ -196,6 +204,7 @@
 #    - stop
 
 - name: Stop OpenDistro Kibana for Elasticsearch
-  command: "pkill -SIGTERM -F {{inventory_hostname}}.pid"
+  remote_user: root
+  command: "pkill -SIGTERM -F /tmp/supervisord.pid"
   tags:
     - stop
diff --git a/soctools-inventory b/soctools-inventory
index 798d3a1e09dbecc8542815e755cbd173e5c2285d..f8897eb15739f01229c97f817908f7853db84e44 100644
--- a/soctools-inventory
+++ b/soctools-inventory
@@ -40,7 +40,7 @@ dsoclab-nifi-2 ansible_connection=docker FILEBEAT_FILES='["/opt/nifi/nifi-curren
 dsoclab-nifi-3 ansible_connection=docker FILEBEAT_FILES='["/opt/nifi/nifi-current/logs/nifi-app.log","/opt/nifi/nifi-current/logs/nifi-bootstrap.log","/opt/nifi/nifi-current/logs/nifi-user.log"]' FILEBEAT_LOG_TYPE="nifi"
 #dsoclab-odfe-1 ansible_connection=docker FILEBEAT_FILES='[""]'
 #dsoclab-odfe-2 ansible_connection=docker FILEBEAT_FILES='[""]'
-#dsoclab-kibana ansible_connection=docker FILEBEAT_FILES='[""]'
+dsoclab-kibana ansible_connection=docker FILEBEAT_FILES='["/usr/share/kibana/kblog"]' FILEBEAT_LOG_TYPE="kibana"
 #dsoclab-keycloak ansible_connection=docker FILEBEAT_FILES='[""]'
 dsoclab-mysql ansible_connection=docker FILEBEAT_FILES='["/var/opt/rh/rh-mariadb103/log/mariadb/mariadb.log"]' FILEBEAT_LOG_TYPE="mysql"
 #dsoclab-misp ansible_connection=docker FILEBEAT_FILES='[""]'