Админизм

блого-заметки об администрировании и программировании (python, ruby, php). Траблшутинг в «примерах» и HOWTO.

О себе | Литература и ресурсы | Все посты | E-mail

Ротация индектов Elasticsearch — утилита curator Ubuntu 19.04/18.04/16.04

Была поставлена задача — произвести ротацию старых индексов у Elasticsearch, т.к старые индексы не несут пользы и занимают достаточно много места. После недолгих поисков выбор пал на утилиту curator
Подробнее можно найти на сайте elastic.co

Устанавливаем утилиту как pip-пакет
Сперва проверяем, установлен ли pip


sudo apt-get install python-pip


Установка утилиты


sudo pip install elasticsearch-curator


Для Ubuntu 12.04 — 16.04 LTS


wget https://packages.elastic.co/curator/5/debian/pool/main/e/elasticsearch-curator/elasticsearch-curator_5.7.5_amd64.deb

sudo dpkg -i elasticsearch-curator_5.7.5_amd64.deb


Для Ubuntu 18.04 LTS и новее


https://packages.elastic.co/curator/5/debian9/pool/main/e/elasticsearch-curator/elasticsearch-curator_5.7.5_amd64.deb

sudo dpkg -i elasticsearch-curator_5.7.5_amd64.deb


Примеры конфигурационных файлов. Для  curator.yml обращаем внимание на hosts — указываем сервер elasticsearch, port — порт тоже

curator.yml


---
client:
  hosts:
    - 127.0.0.1
  port: 9200
  url_prefix:
  use_ssl: False
  certificate:
  client_cert:
  client_key:
  ssl_no_validate: False
  http_auth:
  timeout: 30
  master_only: False

logging:
  loglevel: INFO
  logfile:
  logformat: default
  blacklist: ['elasticsearch', 'urllib3']


Для delete_indices.yml, с помощью которого удаляем нужные индексы, обращаем внимание на value — название индекса, timestring — форматы даты, который используется при ротации, unit и unit_count — период для ротации.

delete_indices.yml


---
actions:
  1:
    action: delete_indices
    description: >-
      Delete indices older than 20 days (based on index name
    options:
      ignore_empty_list: False
      timeout_override:
      continue_if_exception: False
      disable_action: False
    filters:
    - filtertype: pattern
      kind: prefix
      value: packetbeat-6.5.4-
      exclude:
    - filtertype: age
      source: name
      direction: older
      timestring: '%Y.%m.%d'
      unit: days
      unit_count: 20
      exclude:


Пример команды для запуска, для тестового запуска указываем —dry-run


sudo curator --config ~/curator.yml --dry-run ~/delete_indices.yml


ну или боевой запуск


sudo curator --config ~/curator.yml ~/delete_indices.yml


При необходимости указываем выполнение через crontab

Источники:
http://robwillis.info/2017/11/elk-stack-installing-and-configuring-curator/
https://anotheritguy.com/index.php/2018/08/install-configure-elastic-curator-for-index-management/
http://www.madhur.co.in/blog/2017/04/09/usingcuratordeleteelasticindex.html

Postfix: Скрыть некоторые заголовки

Создаем файл /etc/postfix/headers.pcre и указываем в нем следующие строки


/^User-Agent:/ IGNORE
/^X-Mailer:/ IGNORE
/^X-Originating-IP:/ IGNORE
/^Received:/ IGNORE


В конец файла /etc/postfix/main.cf добавляем следующие строки


smtp_header_checks = pcre:/etc/postfix/headers.pcre


Перезапускаем сервис postfix


sudo systemctl restart postfix


или


sudo service postfix restart


Kubernetes: Ошибки с доступом в dashboard

При переходе по ссылке http://localhost:8001/api/v1/namespaces/kube-system/services/http:kubernetes-dashboard:/proxy/#!/overview?namespace=default возникла следующая ошибка: namespaces is forbidden: User «system:serviceaccount:kube-system:kubernetes-dashboard» cannot list resource «namespaces» in API group «» at the cluster scope

Вариант решения:


 kubectl create clusterrolebinding kubernetes-dashboard --clusterrole=cluster-admin --serviceaccount=kube-system:kubernetes-dashboard


Источник

Ранее Ctrl + ↓