elasticsearch-curator
Ansible Роль: Elasticsearch Curator
Ansible роль, которая устанавливает Elasticsearch Curator на RedHat/CentOS или Debian/Ubuntu.
Требования
Нет, но будет намного полезнее, если у вас работает Elasticsearch!
На RedHat/CentOS убедитесь, что у вас настроен репозиторий EPEL, чтобы можно было установить пакет python-pip
. Вы можете установить репозиторий EPEL, просто добавив geerlingguy.repo-epel
в роли вашего плейбука.
Переменные роли
Доступные переменные перечислены ниже с значениями по умолчанию (см. defaults/main.yml
):
elasticsearch_curator_version: ''
Версия elasticsearch-curator
, которую нужно установить. Доступные версии перечислены на Python Package Index. По умолчанию версия не указана, поэтому будет установлена последняя версия.
elasticsearch_curator_cron_jobs:
- name: "Запустить действия Elasticsearch Curator."
job: "/usr/local/bin/curator ~/.curator/action.yml"
minute: 0
hour: 1
Список заданий cron. Обычно вы запускаете одно задание cron, используя действия, определенные в action.yml
, но вы можете разделить задания cron или использовать curator_cli
для выполнения действий по отдельности, вместо использования файла действий. Вы можете добавить любые параметры minute
, hour
, day
, weekday
, и month
к заданиям cron — значения, которые не заданы явно, будут по умолчанию равны *
. Вы также можете использовать state
, чтобы указать, должно ли задание быть present
(присутствует) или absent
(отсутствует).
elasticsearch_curator_config_directory: ~/.curator
Каталог, в котором будет храниться конфигурация Curator (и файл действий).
elasticsearch_curator_hosts:
- 'localhost:9200'
elasticsearch_curator_http_auth: ''
Эти переменные управляют параметрами, используемыми в файле по умолчанию elasticsearch_curator_yaml
. Если вы определите свой собственный elasticsearch_curator_yaml
, возможно, вам не нужно будет определять или переопределять эти переменные. _hosts
— это список хостов с портами, а _http_auth
— строка базовой авторизации user:pass
, если ваша инстанция Elasticsearch требует базовой HTTP-авторизации.
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']
Этот YAML помещается в файл ~/.curator/curator.yml
и хранит данные подключения, которые использует Elasticsearch Curator для подключения к Elasticsearch, а также конфигурацию логирования 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:
Этот YAML помещается в файл ~/.curator/action.yml
и определяет действия, которые Curator выполняет, когда запускается задание cron по умолчанию. См. документацию: Файл действий Curator.
elasticsearch_curator_pip_package: 'python3-pip'
elasticsearch_curator_pip_executable: "{{ 'pip3' if elasticsearch_curator_pip_package.startswith('python3') else 'pip' }}"
Системный пакет pip, который необходимо установить, и исполняемый файл pip
для выполнения. Для старых ОС или при использовании Python 2, возможно, вам придется переопределить это и изменить на python-pip
и pip
соответственно.
Зависимости
- geerlingguy.repo-epel (только для RedHat/CentOS)
Пример плейбука
- hosts: search
roles:
- { role: geerlingguy.elasticsearch-curator }
Лицензия
MIT / BSD
Информация об авторе
Эта роль была создана в 2014 году Джеффом Гирлингом, автором Ansible for DevOps.
ansible-galaxy install geerlingguy/ansible-role-elasticsearch-curator