geerlingguy.elasticsearch-curator
Ansible Rolle: Elasticsearch Curator
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.
Elasticsearch curator for Linux.
ansible-galaxy install geerlingguy.elasticsearch-curator