Авторские статьи

Заметки про FileBeat из стека ELK.


Стек ElasticSearch + LogStash + Kibana (ELK) часто выручает админа в плане богатых возможностей проекта и его относительной бесплатности. В данной статье собраны 2 заметки, которые помогут сэкономить время при развёртывании.

FileBeat и IPv6

Весь проект ElasticSearch + LogStash + Kibana написан на языке программирования Java, которая в новых версиях ELK теперь идёт в составе проекта (bundle). FileBeat - "помощник" для LogStash, который занят отправкой логов как в LogStash, так и прямиком в ElasticSearch.

filebeat

Раньше модуль NetFlow для создания коллектора (активировался в LogStash) + анализатор (dashboard и аналитика через GUI Kibana), но в новых версиях стека рекомендуется активировать коллектор NetFlow в FileBeat. Но что LogStash что FileBeat при старте открывают порты на IPv6 и не открывают на IPv4 интерфейсах.

Рекомендуется применять параметр Java -Djava.net.preferIPv4Stack=true для указания предпочтения 4 версии IP перед 6, но с FileBeat всё сложнее чем с LogStash, так как у него нет простого пути указать через его конфигурационный файл данный параметр. Вы можете выкрутиться и использовать в linux серверах файл /etc/environment
_JAVA_OPTIONS="-Djava.net.preferIPv4Stack=true"

Рекомендую простой способ тем кто пока не использует у себя IPv6 и просто отключить его через параметр ядра в файле /etc/default/grub
GRUB_CMDLINE_LINUX_DEFAULT="ipv6.disable=1"
sudo update-grub; sudo reboot

FileBeat и старое именование индексов

В новых версиях стека ELK стали активно использовать index lifecycle management (ILM). Теперь новый индекс по умолчанию будет создан при достижении любого из 2 параметров: или индекс стал больше 50 Гб или прошло уже 30 дней. Мне такое поведение не нравится и, в идеале, нужно создать свою политику-хотелку и применить её для существующих и будущих индексов, но я пошёл другим путём.

Мне, по ряду причин, очень нравится старое поведение: новый индекс каждый день. Так как аналитика и просмотр графиков чаще всего затрагивает последние во времени события, то ElasticSearch работает обычно с "базой-индексом" текущего дня, которая относительно небольшая. Мне лично приятно сознавать что я не напрягаю "базу-индекс" в 50 Гб, просматривая последние 15 минут. ElasticSearch быстр и не тупой, но всё же ...
Пока варварски решил вернуть старое поведение через отключение ILM.

Останавливаем службу FileBeat sudo systemctl stop filebeat

Вы НЕ должны трогать файл /etc/filebeat/filebeat.reference.yml, а все свои хотелки НУЖНО указывать в файле /etc/filebeat/filebeat.yml

sudo -e /etc/filebeat/filebeat.yml

output.elasticsearch.hosts: ["localhost:9200"]
output.elasticsearch.index: "filebeat-%{+yyyy.MM.dd}"
setup.ilm.enabled: false
setup.template.enabled: true
setup.template.name: "filebeat"
setup.template.pattern: "filebeat-*"
setup.dashboards.index: "filebeat*"

Запустите тест-проверку конфигурационного файла и создание индекса filebeat test config && sudo filebeat setup --index-management

Перезапустите FileBeat sudo systemctl restart filebeat; sleep 2; sudo systemctl status filebeat

В статье упомянул про NetFlow, хотя заметка про возвращении старой схемы наименования индекса, поэтому быстро дам выжимку из официальной документации по активированию любого модуля на примере NetFlow - sudo filebeat modules enable netflow
Подправьте файл /etc/filebeat/modules.d/netflow.yml под свои нужды и/или добавьте нужные параметры из официальной документации.

Дополнительные материалы:
Журналы Postfix в ElasticSearch.

Дата последней правки: 2021-05-12 13:13:19

RSS vasilisc.com   


Разделы

Главная
Новости
Ворох бумаг
Видео Linux
Игры в Linux
Безопасность
Статьи об Astra Linux
Статьи о FreeBSD
Статьи об Ubuntu
Статьи о Snappy
Статьи об Ubuntu Phone
Статьи о Kubuntu
Статьи о Xubuntu
Статьи о Lubuntu
Статьи об Open Source
Карта сайта