Utilización de Elasticsearch Curator
Utilice Elasticsearch Curator para gestionar los índices de Elasticsearch en Elastic Stack.
Elasticsearch Curator es una herramienta para gestionar los índices mediante la eliminación periódica de datos antiguos. De forma predeterminada, Curador se ejecutará diariamente y eliminará los registros que tengan más de 5 días, pero puede personalizar los valores.
¿Cómo funciona Curator?
Elasticsearch Curator se ejecuta como un trabajo cron de Kubernetes, que puede planificar para su ejecución periódica. De forma predeterminada, el trabajo cron activa Curador para que se ejecute una vez al día a las 00:01:00 (puede configurar la planificación). Cuando se ejecuta, Curador depura los registros de Elasticsearch y, a continuación, actualiza sus índices. De forma predeterminada, el historial de trabajos retiene un trabajo satisfactorio y un trabajo con error, de forma que no se elimina ningún registro hasta la próxima vez que se ejecute el trabajo. Si un trabajo falla o se suspende, no se reinicia.
- Los registros deben estar asociados con Component Pack for Connections (las características de métricas y búsqueda de escritura anticipada no se ven afectadas).
- Los registros deben tener una antigüedad específica, que se puede configurar (el valor predeterminado es 5 días).
Puede personalizar los filtros, tal como se explica en las siguientes secciones.
Configuración de la planificación de trabajos cron de Kubernetes para depurar registros
Los trabajos de Curator se ejecutan en función del siguiente valor de trabajo cron:
elasticsearch-curator.logging.elasticsearch.cronjobSchedule=schedule
De forma predeterminada, el trabajo se ejecuta justo después de medianoche, todos los días. Para cambiar la planificación, ejecute un mandato de Helm install o upgrade que incluya la planificación de trabajo cron. Por ejemplo, la siguiente instalación de Helm establece el trabajo para ejecutarse cada hora:
helm install \
--name=elasticstack carpetaExtraída/microservices_connections/hybridcloud/helmbuilds/elasticstack-0.1.0-20181014-210326.tgz \
--set \
global.onPrem=true,\
global.image.repository=registro_Docker/connections,\
elasticsearch-curator.logging.elasticsearch.cronjobSchedule="0 * * * *"
Para obtener información sobre la sintaxis de la planificación de trabajos cron, consulte la documentación de Trabajos cron de Kubernetes, por ejemplo, en https://kubernetes.io/docs/tasks/job/automated-tasks-with-cron-jobs/.
Configuración del filtro de antigüedad de registros
Los índices de Elasticsearch se basan en los datos de los registros de sucesos. Cuanto más registros se conserven, más datos habrá para las búsquedas y más tiempo tardará cada búsqueda. Además, necesitará más espacio en el volumen permanente de Elasticsearch para contener todos los datos. Para limitar los tiempos de búsqueda (y el espacio de almacenamiento necesario), debe depurar los registros más antiguos periódicamente.
Los trabajos de Curator depuran los registros basándose en el siguiente filtro de antigüedad:
elasticsearch-curator.logging.elasticsearch.daysToKeepLogs=antigüedad_registros
De forma predeterminada, cada vez que se ejecuta el trabajo, el filtro depura los registros que tienen más de 5 días. Para cambiar la antigüedad de los registros, ejecute un mandato de Helm install o upgrade que incluya el filtro de antigüedad de registros. Por ejemplo, la siguiente instalación de Helm establece la antigüedad de los registros para depurar los registros que tienen más de 30 días:
helm install \
--name=elasticstack carpetaExtraída/microservices_connections/hybridcloud/helmbuilds/elasticstack-0.1.0-20181014-210326.tgz \
--set \
global.onPrem=true,\
global.image.repository=registro_Docker/connections,\
elasticsearch-curator.logging.elasticsearch.daysToKeepLogs="30"