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