geerlingguy.elasticsearch-curator

Rôle Ansible : Elasticsearch Curator

CI

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.

À propos du projet

Elasticsearch curator for Linux.

Installer
ansible-galaxy install geerlingguy.elasticsearch-curator
Licence
mit
Téléchargements
110.2k
Propriétaire
Father, author, developer, maker. Sometimes called "an inflammatory enigma". #stl #drupal #ansible #k8s #raspberrypi #crohns