geerlingguy.elasticsearch-curator

Ansible Rolle: Elasticsearch Curator

CI

Eine Ansible Rolle, die Elasticsearch Curator auf RedHat/CentOS oder Debian/Ubuntu installiert.

Anforderungen

Keine, aber es ist viel hilfreicher, wenn Sie Elasticsearch irgendwo laufen haben!

Auf RedHat/CentOS stellen Sie sicher, dass das EPEL-Repository konfiguriert ist, damit das Paket python-pip installiert werden kann. Sie können das EPEL-Repository einfach hinzufügen, indem Sie geerlingguy.repo-epel zu den Rollen in Ihrem Playbook hinzufügen.

Rollenvariablen

Verfügbare Variablen sind unten aufgelistet, zusammen mit Standardwerten (siehe defaults/main.yml):

elasticsearch_curator_version: ''

Die Version von elasticsearch-curator, die installiert werden soll. Verfügbare Versionen sind im Python Package Index aufgeführt. Standardmäßig wird keine Version angegeben, sodass die neueste Version installiert wird.

elasticsearch_curator_cron_jobs:
  - name: "Elasticsearch Curator-Aktionen ausführen."
    job: "/usr/local/bin/curator ~/.curator/action.yml"
    minute: 0
    hour: 1

Eine Liste von Cron-Jobs. Normalerweise würde man einen Cron-Job ausführen, der die in action.yml definierten Aktionen nutzt, aber Sie können Cron-Jobs auch aufteilen oder curator_cli verwenden, um Aktionen einzeln auszuführen, anstatt über eine Aktionsdatei. Sie können die Werte minute, hour, day, weekday und month zu den Cron-Jobs hinzufügen – Werte, die nicht explizit gesetzt sind, haben standardmäßig *. Sie können auch state verwenden, um zu definieren, ob der Job present oder absent sein soll.

elasticsearch_curator_config_directory: ~/.curator

Das Verzeichnis, in dem die Konfiguration von Curator (und die Aktionsdatei) gespeichert wird.

elasticsearch_curator_hosts:
  - 'localhost:9200'
elasticsearch_curator_http_auth: ''

Diese Variablen steuern Parameter, die in der Standarddatei elasticsearch_curator_yaml verwendet werden. Wenn Sie Ihre eigene benutzerdefinierte elasticsearch_curator_yaml definieren, müssen Sie diese Variablen möglicherweise nicht festlegen oder überschreiben. _hosts ist eine Liste von Hosts mit Ports und _http_auth ist ein einfacher http_auth-String user:pass, falls Ihre Elasticsearch-Instanz eine einfache HTTP-Authentifizierung benötigt.

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']

Dieses YAML geht in die Datei ~/.curator/curator.yml und speichert die Verbindungsdetails, die Elasticsearch Curator beim Verbinden mit Elasticsearch verwendet, sowie die Protokollierungskonfiguration von 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:

Dieses YAML geht in die Datei ~/.curator/action.yml und definiert die Aktionen, die Curator ausführt, wenn der Standard-Cron-Job ausgeführt wird. Siehe Dokumentation: Curator-Aktionsdatei.

elasticsearch_curator_pip_package: 'python3-pip'
elasticsearch_curator_pip_executable: "{{ 'pip3' if elasticsearch_curator_pip_package.startswith('python3') else 'pip' }}"

Das System-Pip-Paket, das installiert werden muss, und das zu verwendende pip-Executable. Für ältere Betriebssysteme oder bei Verwendung von Python 2 müssen Sie dies möglicherweise überschreiben und auf python-pip und pip ändern.

Abhängigkeiten

  • geerlingguy.repo-epel (nur RedHat/CentOS)

Beispiel-Playbook

- hosts: search
  roles:
    - { role: geerlingguy.elasticsearch-curator }

Lizenz

MIT / BSD

Autorinformationen

Diese Rolle wurde 2014 von Jeff Geerling erstellt, dem Autor von Ansible for DevOps.

Installieren
ansible-galaxy install geerlingguy.elasticsearch-curator
Lizenz
mit
Downloads
110.2k
Besitzer
Father, author, developer, maker. Sometimes called "an inflammatory enigma". #stl #drupal #ansible #k8s #raspberrypi #crohns