geerlingguy.elasticsearch-curator
Rôle Ansible : Elasticsearch Curator
Un rôle Ansible qui installe Elasticsearch Curator sur RedHat/CentOS ou Debian/Ubuntu.
Exigences
Aucune, mais c'est beaucoup plus utile si vous avez Elasticsearch en fonctionnement quelque part !
Sur RedHat/CentOS, assurez-vous d'avoir le dépôt EPEL configuré, afin que le package python-pip
puisse être installé. Vous pouvez installer le dépôt EPEL en ajoutant simplement geerlingguy.repo-epel
aux rôles de votre playbook.
Variables du Rôle
Les variables disponibles sont listées ci-dessous, avec des valeurs par défaut (voir defaults/main.yml
) :
elasticsearch_curator_version: ''
La version de elasticsearch-curator
à installer. Les versions disponibles sont listées sur le Python Package Index. Par défaut, aucune version n'est spécifiée, donc la dernière version sera installée.
elasticsearch_curator_cron_jobs:
- name: "Exécuter les actions du curator Elasticsearch."
job: "/usr/local/bin/curator ~/.curator/action.yml"
minute: 0
hour: 1
Une liste de tâches cron. En général, vous exécuteriez une tâche cron en utilisant les actions définies dans action.yml
, mais vous pouvez diviser les tâches cron ou utiliser curator_cli
pour exécuter les actions individuellement plutôt que via un fichier d'actions. Vous pouvez ajouter des valeurs pour minute
, hour
, day
, weekday
et month
aux tâches cron—les valeurs qui ne sont pas explicitement définies par défaut seront *
. Vous pouvez également utiliser state
pour définir si la tâche doit être présente
ou absente
.
elasticsearch_curator_config_directory: ~/.curator
Le répertoire dans lequel la configuration de Curator (et le fichier d'action) sera stockée.
elasticsearch_curator_hosts:
- 'localhost:9200'
elasticsearch_curator_http_auth: ''
Ces variables contrôlent les paramètres utilisés dans le elasticsearch_curator_yaml
par défaut. Si vous définissez votre propre elasticsearch_curator_yaml
, vous n'aurez peut-être pas besoin de définir ou de remplacer ces variables. _hosts
est une liste d'hôtes avec des ports, et _http_auth
est une chaîne user:pass
pour l'authentification HTTP basique, si votre instance Elasticsearch nécessite une autorisation HTTP de base.
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']
Ce YAML est placé dans le fichier ~/.curator/curator.yml
et stocke les détails de connexion que Curator utilise lorsqu'il se connecte à Elasticsearch, ainsi que la configuration de journalisation 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:
Ce YAML est placé dans le fichier ~/.curator/action.yml
et définit les actions que Curator effectue lorsque la tâche cron par défaut est exécutée. Voir la documentation : Fichier d'actions du Curator.
elasticsearch_curator_pip_package: 'python3-pip'
elasticsearch_curator_pip_executable: "{{ 'pip3' if elasticsearch_curator_pip_package.startswith('python3') else 'pip' }}"
Package pip système à installer, et l'exécutable pip
à exécuter. Pour les systèmes d'exploitation plus anciens ou en utilisant Python 2, vous devrez peut-être remplacer cela par python-pip
et pip
, respectivement.
Dépendances
- geerlingguy.repo-epel (uniquement pour RedHat/CentOS)
Exemple de Playbook
- hosts: search
roles:
- { role: geerlingguy.elasticsearch-curator }
Licence
MIT / BSD
Informations sur l'Auteur
Ce rôle a été créé en 2014 par Jeff Geerling, auteur de Ansible for DevOps.
Elasticsearch curator for Linux.
ansible-galaxy install geerlingguy.elasticsearch-curator