diff --git a/elasticsearch/defaults/main.yml b/elasticsearch/defaults/main.yml index 77e36070..5fce4ef6 100644 --- a/elasticsearch/defaults/main.yml +++ b/elasticsearch/defaults/main.yml @@ -8,6 +8,7 @@ elasticsearch_custom_tmpdir: Null elasticsearch_default_tmpdir: /var/lib/elasticsearch/tmp elasticsearch_jvm_xms: 2g elasticsearch_jvm_xmx: 2g +elasticsearch_log_rotate_days: 365 elasticsearch_curator: False diff --git a/elasticsearch/tasks/logs.yml b/elasticsearch/tasks/logs.yml new file mode 100644 index 00000000..ee3d7680 --- /dev/null +++ b/elasticsearch/tasks/logs.yml @@ -0,0 +1,9 @@ +--- + +- name: "log rotation script" + template: + src: rotate_elasticsearch_logs.j2 + dest: /etc/cron.daily/rotate_elasticsearch_logs + owner: root + group: root + mode: "0750" diff --git a/elasticsearch/tasks/main.yml b/elasticsearch/tasks/main.yml index 00be05ed..bc43bebd 100644 --- a/elasticsearch/tasks/main.yml +++ b/elasticsearch/tasks/main.yml @@ -10,6 +10,8 @@ - include: tmpdir.yml +- include: logs.yml + - include: plugin_head.yml when: elasticsearch_plugin_head diff --git a/elasticsearch/templates/rotate_elasticsearch_logs.j2 b/elasticsearch/templates/rotate_elasticsearch_logs.j2 new file mode 100644 index 00000000..14d2d31d --- /dev/null +++ b/elasticsearch/templates/rotate_elasticsearch_logs.j2 @@ -0,0 +1,9 @@ +#!/bin/sh +# {{ ansible_managed }} + +LOG_DIR=/var/log/elasticsearch +USER=elasticsearch +MAX_AGE={{ elasticsearch_log_rotate_days | mandatory }} + +find ${LOG_DIR} -type f -user ${USER} -name "*.log.????-??-??" -exec gzip --best {} \; +find ${LOG_DIR} -type f -user ${USER} -name "*.log.????-??-??.gz" -mtime +${MAX_AGE} -delete