logstash

Ansible Роль: Logstash

Статус сборки

Это роль Ansible, которая устанавливает Logstash на RedHat/CentOS и Debian/Ubuntu.

Обратите внимание, что эта роль по умолчанию устанавливает шаблон grok для syslog; если вы хотите добавить больше фильтров, посмотрите документацию по logstash_configuration_files и logstash_filter_files.

В качестве примера вы можете создать файл с именем 13-myapp.conf и добавить соответствующий фильтр grok, а затем перезапустить Logstash, чтобы начать его использование. Протестируйте ваш grok regex с помощью Grok Debugger.

Требования

Хотя возможны и другие методы, эта роль предназначена для работы с Elasticsearch в качестве бэкенда для хранения логов.

Переменные роли

Доступные переменные перечислены ниже вместе с их значениями по умолчанию (см. defaults/main.yml):

logstash_listen_port_beats: 5044

Порт, на котором Logstash будет слушать beats.

logstash_version: 2.3

Основная версия Logstash для установки по умолчанию.

logstash_configuration_files:
  - 01-lumberjack-input.conf
  - 30-lumberjack-output.conf

logstash_filter_files:
  - 10-syslog.conf
  - 11-nginx.conf
  - 12-apache.conf
  - 14-solr.conf
  - 15-drupal.conf
  logstash_elasticsearch_host: localhost

Список файлов конфигурации (входов/выходов) и файл фильтров для установки. По умолчанию устанавливаются файлы входа/выхода lumberjack и переменные фильтры. Вы можете указать свои собственные файлы конфигурации, разместив файлы входа/выхода в своем каталоге templates, а фильтры в каталоге files. Затем создайте свой собственный список в каталоге vars/main.yml и vars_files в вашей обертке роли и включите эту роль для развертывания Logstash с вашей конфигурацией. См. Пример плейбука ниже.

logstash_elasticsearch_hosts:
  - http://localhost:9200

Хосты, на которые Logstash будет отправлять логи в Elasticsearch.

logstash_ssl_dir: /etc/pki/logstash
logstash_ssl_certificate_file: logstash-forwarder-example.crt
logstash_ssl_key_file: logstash-forwarder-example.key

Конфигурация SSL для Logstash для приема запросов от logstash-forwarder, работающего на удаленных хостах. Примечание по безопасности: на производственных или публичных (например, любых непроверочных) серверах вы должны создать свою пару ключей/сертификатов и использовать её вместо включенного по умолчанию! Вы можете использовать OpenSSL для создания файлов ключей и сертификатов, с такой командой: openssl req -x509 -batch -nodes -days 3650 -newkey rsa:2048 -keyout logstash.key -out logstash.crt.

Обратите внимание, что filebeat и logstash могут не работать правильно с самоподписанными сертификатами, если у вас также не добавлена полная цепочка доверия (включая Центр сертификации для вашего самоподписанного сертификата) на сервере. См.: https://github.com/elastic/logstash/issues/4926#issuecomment-203936891

Для logstash_ssl_certificate_file и logstash_ssl_key_file вы можете указать путь относительно каталога роли или абсолютный путь к файлу.

logstash_local_syslog_path: /var/log/syslog
logstash_monitor_local_syslog: true

Должна ли конфигурация для локального файла syslog (определенного как logstash_local_syslog_path) быть добавлена в Logstash. Установите это значение в false, если вы мониториете локальный syslog другим способом или если вам не важен локальный файл syslog. Другие локальные логи могут быть добавлены вашими собственными файлами конфигурации, размещенными в /etc/logstash/conf.d.

logstash_enabled_on_boot: yes

Установите это значение в no, если не хотите, чтобы Logstash запускался при старте системы.

logstash_install_plugins:
  - logstash-input-beats

Список плагинов Logstash, которые должны быть установлены.

logstash_install_dir: /usr/share/logstash

Путь к каталогу установки. Ранее путь "/opt/logstash" был жестко закодирован, теперь по умолчанию используется "/usr/share/logstash".

Другие заметки

Если вы замечаете высокую загрузку ЦП от одного из процессов logstash, и вы используете Logstash вместе с другим приложением на порту 80 в платформе, такой как Ubuntu с upstart, процесс logstash-web может застрять в цикле, пытаясь запуститься на порту 80, не удаваясь, и пытаясь запуститься снова, из-за присутствия флага restart в /etc/init/logstash-web.conf.

Чтобы избежать этой проблемы, измените эту строку, добавив limit к выражению respawn, или установите сервис logstash-web в enabled=no в вашем плейбуке, например:

- name: Убедитесь, что процесс logstash-web остановлен и отключен.
  service: name=logstash-web state=stopped enabled=no

Пример плейбука

- hosts: search
  vars_files:
    - vars/main.yml

  roles:
    - geerlingguy.elasticsearch
    - geerlingguy.logstash

Лицензия

MIT / BSD

Информация об авторе

Эта роль была создана в 2014 году Джеффом Гирлингом, автором Ansible for DevOps.

О проекте

Logstash for Linux.

Установить
ansible-galaxy install solutionDrive/ansible-role-logstash
Лицензия
mit
Загрузки
485
Владелец