Конвейер логов начинается со сбора: кто-то должен прочитать файлы логов на каждом из серверов «Гонца» и отправить строки дальше. Ставить на каждый сервер Logstash дорого: это программа на Java, ей нужны сотни мегабайт памяти. Для сбора у Elastic есть маленькие агенты, они называются Beats.
Почтальоны на местах
Представь большую компанию с филиалами в разных городах. Документы обрабатывает центральная бухгалтерия, но в каждом филиале сидит курьер: он собирает бумаги за день и отправляет их в центр. Курьер ничего не проверяет и не пересчитывает, он просто ничего не теряет и вовремя отправляет.
Beats и есть такие курьеры. Это маленькие программы на Go, каждая занимает десятки мегабайт памяти и умеет собирать один вид данных:
| Агент | Что собирает |
|---|---|
| Filebeat | строки из файлов логов, а также из журнала systemd, Kafka, stdin контейнеров |
| Metricbeat | метрики системы и сервисов: процессор, память, диск, nginx, PostgreSQL, Redis |
| Packetbeat | сетевой трафик: HTTP-запросы, DNS, запросы к базам по сети |
| Heartbeat | доступность: раз в N секунд проверяет, отвечает ли адрес |
| Auditbeat | события безопасности: кто менял файлы, кто входил в систему |
| Winlogbeat | журналы событий Windows |
Собранное агент отправляет в Logstash для обработки или сразу в Elasticsearch, если обрабатывать нечего.
урок из курса
Урок из курса «Elasticsearch и ELK». Курс покупается один раз и остаётся навсегда: 500 ₽.
Оплата пока не подключена: премиум и курсы открываются промокодом.