geerlingguy.elasticsearch-curator
Rol de Ansible: Elasticsearch Curator
Una Rol de Ansible que instala Elasticsearch Curator en RedHat/CentOS o Debian/Ubuntu.
Requisitos
Ninguno, ¡pero es mucho más útil si tienes Elasticsearch funcionando en algún lugar!
En RedHat/CentOS, asegúrate de tener el repositorio EPEL configurado, para que se pueda instalar el paquete python-pip
. Puedes instalar el repositorio EPEL simplemente agregando geerlingguy.repo-epel
a los roles de tu playbook.
Variables de Rol
Las variables disponibles se enumeran a continuación, junto con los valores predeterminados (ver defaults/main.yml
):
elasticsearch_curator_version: ''
La versión de elasticsearch-curator
que se instalará. Las versiones disponibles están en el Índice de Paquetes de Python. Por defecto, no se especifica ninguna versión, por lo que se instalará la versión más reciente.
elasticsearch_curator_cron_jobs:
- name: "Ejecutar acciones del curator de elasticsearch."
job: "/usr/local/bin/curator ~/.curator/action.yml"
minute: 0
hour: 1
Una lista de trabajos cron. Normalmente se ejecutaría un trabajo cron utilizando las acciones definidas en action.yml
, pero puedes dividir los trabajos cron o usar curator_cli
para ejecutar acciones de forma individual en lugar de a través de un archivo de acción. Puedes agregar cualquiera de minute
, hour
, day
, weekday
y month
a los trabajos cron; los valores que no se definan explícitamente predeterminarán a *
. También puedes usar state
para definir si el trabajo debe estar present
o absent
.
elasticsearch_curator_config_directory: ~/.curator
El directorio en el que se almacenará la configuración de Curator (y el archivo de acción).
elasticsearch_curator_hosts:
- 'localhost:9200'
elasticsearch_curator_http_auth: ''
Estas variables controlan parámetros utilizados en el elasticsearch_curator_yaml
predeterminado. Si defines tu propio elasticsearch_curator_yaml
, puede que no necesites definir o sobrescribir estas variables. _hosts
es una lista de hosts con puertos, y _http_auth
es una cadena básica de http_auth
usuario:contraseña
, si tu instancia de Elasticsearch requiere autorización HTTP básica.
elasticsearch_curator_yaml: |
---
client:
hosts: {{ elasticsearch_curator_hosts | to_yaml }}
url_prefix:
use_ssl: False
certificate:
client_cert:
client_key:
ssl_no_validate: False
http_auth: {{ elasticsearch_curator_http_auth }}
timeout: 30
master_only: False
logging:
loglevel: INFO
logfile:
logformat: default
blacklist: ['elasticsearch', 'urllib3']
Este YAML se guarda en el archivo ~/.curator/curator.yml
y almacena los detalles de conexión que utiliza Elasticsearch Curator al conectarse a Elasticsearch, así como la configuración de registro de Curator.
elasticsearch_curator_action_yaml: |
---
actions:
1:
action: delete_indices
options:
ignore_empty_list: True
disable_action: False
filters:
- filtertype: pattern
kind: prefix
value: logstash-
exclude:
- filtertype: age
source: name
direction: older
timestring: '%Y.%m.%d'
unit: days
unit_count: 45
exclude:
Este YAML se guarda en el archivo ~/.curator/action.yml
y define las acciones que Curator realiza cuando se ejecuta el trabajo cron predeterminado. Consulta la documentación: Archivo de acciones de Curator.
elasticsearch_curator_pip_package: 'python3-pip'
elasticsearch_curator_pip_executable: "{{ 'pip3' if elasticsearch_curator_pip_package.startswith('python3') else 'pip' }}"
Paquete de pip del sistema que necesita ser instalado, y el ejecutable pip
a ejecutar. Para sistemas operativos más antiguos o al usar Python 2, puede que necesites sobrescribir esto y cambiarlos a python-pip
y pip
, respectivamente.
Dependencias
- geerlingguy.repo-epel (solo RedHat/CentOS)
Ejemplo de Playbook
- hosts: search
roles:
- { role: geerlingguy.elasticsearch-curator }
Licencia
MIT / BSD
Información del Autor
Esta rol fue creada en 2014 por Jeff Geerling, autor de Ansible for DevOps.
Elasticsearch curator for Linux.
ansible-galaxy install geerlingguy.elasticsearch-curator