diff --git a/inventories/filebeat b/inventories/filebeat index 81047ba6bbb52b04ed3e0935a7b8ff439a9e6772..067871d702a8d20fc9f2642e21074ef9a9b1cc32 100644 --- a/inventories/filebeat +++ b/inventories/filebeat @@ -9,6 +9,7 @@ dsoclab-kibana ansible_connection=docker FILEBEAT_FILES='["/usr/share/kibana/kbl dsoclab-keycloak ansible_connection=docker FILEBEAT_FILES='["/var/log/supervisor/*.log"]' FILEBEAT_LOG_TYPE="keycloak" FILEBEAT_LOG_FORMAT="text" dsoclab-mysql ansible_connection=docker FILEBEAT_FILES='["/var/opt/rh/rh-mariadb103/log/mariadb/mariadb.log"]' FILEBEAT_LOG_TYPE="mysql" FILEBEAT_LOG_FORMAT="text" dsoclab-haproxy ansible_connection=docker FILEBEAT_SYSLOG_PORT=9000 FILEBEAT_LOG_TYPE="haproxy" FILEBEAT_LOG_FORMAT="text" -#dsoclab-zookeeper ansible_connection=docker FILEBEAT_FILES='[""]' +dsoclab-zookeeper ansible_connection=docker FILEBEAT_FILES='["/var/log/supervisor/*.log"]' FILEBEAT_LOG_TYPE="zookeeper" FILEBEAT_LOG_FORMAT="text" dsoclab-cortex ansible_connection=docker FILEBEAT_FILES='["/var/log/supervisor/*.log"]' FILEBEAT_LOG_TYPE="cortex" FILEBEAT_LOG_FORMAT="text" dsoclab-thehive ansible_connection=docker FILEBEAT_FILES='["/var/log/supervisor/*.log"]' FILEBEAT_LOG_TYPE="thehive" FILEBEAT_LOG_FORMAT="text" +dsoclab-cassandra ansible_connection=docker FILEBEAT_FILES='["/var/log/supervisor/*.log"]' FILEBEAT_LOG_TYPE="cassandra" FILEBEAT_LOG_FORMAT="text" diff --git a/roles/build/files/cassandrasupervisord.conf b/roles/build/files/cassandrasupervisord.conf new file mode 100644 index 0000000000000000000000000000000000000000..fd57452d81e378adfb4a0ee5ba0efb60b8ebf46a --- /dev/null +++ b/roles/build/files/cassandrasupervisord.conf @@ -0,0 +1,32 @@ +[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:cassandra] +directory=/usr/share/cassandra +user=cassandra +group=cassandra +environment = CASSANDRA_HOME="/usr/share/cassandra",CASSANDRA_CONF="/usr/share/cassandra/conf",CASSANDRA_INCLUDE="/usr/share/cassandra/cassandra.in.sh" +command=/bin/bash -c '/usr/sbin/cassandra -f' +autostart=false +autorestart=true +logfile_maxbytes=10MB +stdout_logfile_backups = 0 +stderr_logfile_backups = 0 +stderr_logfile = /var/log/supervisor/cassandra_stderr.log +stdout_logfile = /var/log/supervisor/cassandra_stdout.log + diff --git a/roles/build/files/zookeepersupervisord.conf b/roles/build/files/zookeepersupervisord.conf new file mode 100644 index 0000000000000000000000000000000000000000..3a407c85495a93262e1b928690f0d179de58b903 --- /dev/null +++ b/roles/build/files/zookeepersupervisord.conf @@ -0,0 +1,30 @@ +[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:zookeeper] +directory=/opt/zookeeper +user=root +group=root +command=/bin/bash -c '/opt/zookeeper/bin/zkServer.sh start-foreground' +autostart=true +autorestart=true +logfile_maxbytes=10MB +stdout_logfile_backups = 0 +stderr_logfile_backups = 0 +stderr_logfile = /var/log/supervisor/zookeeper_stderr.log +stdout_logfile = /var/log/supervisor/zookeeper_stdout.log diff --git a/roles/build/templates/cassandra/Dockerfile.j2 b/roles/build/templates/cassandra/Dockerfile.j2 index 94b0ca08c01de7c4b225bdcb81c7a35c2ffb33ff..052cbd188b5195405dd147753a785c6de2287762 100644 --- a/roles/build/templates/cassandra/Dockerfile.j2 +++ b/roles/build/templates/cassandra/Dockerfile.j2 @@ -29,7 +29,8 @@ RUN echo "[cassandra]" > /etc/yum.repos.d/cassandra.repo && \ sed -i -e 's,/etc/cassandra,/usr/share/cassandra,g' /usr/share/cassandra/cassandra.in.sh && \ chmod a+x /start.sh && \ yum -y clean all +COPY cassandrasupervisord.conf /etc/supervisord.conf EXPOSE 7000 9042 -#ENTRYPOINT ["/usr/bin/supervisord", "-c", "/etc/supervisord.conf"] -USER cassandra +ENTRYPOINT ["/usr/bin/supervisord", "-c", "/etc/supervisord.conf"] +#USER cassandra # ENTRYPOINT ["/start.sh"] diff --git a/roles/build/templates/zookeeper/Dockerfile.j2 b/roles/build/templates/zookeeper/Dockerfile.j2 index 209069c8137b1ee53bac1fbecda2efc9f388e9e2..1ac8a58f59b5e0e95ee9a2f85d166be84fa2c6e2 100644 --- a/roles/build/templates/zookeeper/Dockerfile.j2 +++ b/roles/build/templates/zookeeper/Dockerfile.j2 @@ -29,6 +29,8 @@ EXPOSE 2181 2888 3888 WORKDIR ${ZOOKEEPER_BASE_DIR}/zookeeper -ENTRYPOINT ["/opt/zookeeper/bin/zkServer.sh"] -CMD ["start-foreground"] - +#ENTRYPOINT ["/opt/zookeeper/bin/zkServer.sh"] +#CMD ["start-foreground"] +RUN yum install supervisor -y +COPY zookeepersupervisord.conf /etc/supervisord.conf +ENTRYPOINT ["/usr/bin/supervisord", "-c", "/etc/supervisord.conf"] diff --git a/roles/cassandra/tasks/main.yml b/roles/cassandra/tasks/main.yml index 7912910a2ebcd07a79d6649b7529fae5bde3a0cf..b5dfeb4677a946f5637309ffc143f259685b7e3d 100644 --- a/roles/cassandra/tasks/main.yml +++ b/roles/cassandra/tasks/main.yml @@ -1,6 +1,7 @@ --- - name: Configure Cassandra + remote_user: cassandra template: src: cassandra.yaml.j2 dest: /usr/share/cassandra/conf/cassandra.yaml @@ -8,11 +9,13 @@ - start - name: Start Cassandra - command: "/start.sh" + remote_user: root + command: "supervisorctl start cassandra" tags: - start - name: Wait for Cassandra + remote_user: root wait_for: host: "{{groups['cassandra'][0]}}" port: 9042 @@ -22,7 +25,8 @@ - start - name: Stop Cassandra - command: "pkill -SIGTERM -F /var/run/cassandra/cassandra.pid" + remote_user: root + command: "supervisorctl stop cassandra" tags: - stop diff --git a/roles/docker/tasks/cassandra.yml b/roles/docker/tasks/cassandra.yml index a26bd28c104bc70cc17916496a1da8b68d978cd9..b913425d7171f5bb30f9b5a2434b521a09879ae6 100644 --- a/roles/docker/tasks/cassandra.yml +++ b/roles/docker/tasks/cassandra.yml @@ -10,7 +10,6 @@ networks_cli_compatible: yes volumes: - "{{cassandra_name}}:/var/lib/cassandra" - entrypoint: "/bin/bash" interactive: "yes" with_items: "{{ groups['cassandra'] }}" tags: