Как стать автором
Обновить

Логи из Linux в Zabbix. Подробнейшая инструкция

Уровень сложностиПростой
Время на прочтение4 мин
Количество просмотров14K
Всего голосов 14: ↑12 и ↓2+10
Комментарии21

Комментарии 21

Забикс не очень хорошая идея для хранения логов. Там MySQL под капотом. Рано или поздно понадобится парсить логи, а их уже накопилось много и поиск превратится в ад. Лучше elasticsearch или Loki.

А забикс оставьте для мониторинга.

Чисто ради справедливости, Заббикс умеет и в Постгрес

а форк заббикса в лице Glaber умеет и в кликхаус

Пока ресурсы есть - пусть лежат. В случае проблем поставим период хранения в один день

  1. MySql в zabbix уже мало кто использует. В основном это постгря + таймскале дб

  2. В статье вроде не слова о хранении логов, к конечном итоге можно просто отключить хранение по этому ЭД

  3. А если просто стоит задача на какой-то виртуалке реагировать на определенное событие в логах, что ради этого ELK разворачивать?

Странная статья с учётом того, что является практически пересказом документации. При этом, текстовые логи потихоньку выпиливаются и всё переводится на systemd-journald. Потому, открывая статью налеялся увидеть решение чтение логов оттуда, минуя текстовый файл.

Документация немного отличается по синтаксису и в последней версии нифига не работает. Про ту порнографию которую они устраивают в триггерах я вообще молчу
systemd-journald - спасибо, изучу

есть вот такая штука, она когда-то прекрастно работала, сейчас заброшена (и я не могу сказать работает ли с актуальным заббиксом)

Очень удивляет отсутствие в zabbix нормального (а лучше нативного) решения для работы с логами journald. Неужели у community нет в нем потребности?

А вот универсального решения для определения версии ос у меня нет

У меня дебиан, так что может вопрос глуп, но чем плохи команды:

cat /etc/lsb-release

cat /etc/os-release

?

Из *release могу извлеч только ссылку на сайт редхата
Как тут это под кат засунуть?
NAME="Fedora Linux"
VERSION="38 (Workstation Edition)"
ID=fedora
VERSION_ID=38
VERSION_CODENAME=""
PLATFORM_ID="platform:f38"
PRETTY_NAME="Fedora Linux 38 (Workstation Edition)"
ANSI_COLOR="0;38;2;60;110;180"
LOGO=fedora-logo-icon
CPE_NAME="cpe:/o:fedoraproject:fedora:38"
DEFAULT_HOSTNAME="fedora"
HOME_URL="https://fedoraproject.org/"
DOCUMENTATION_URL="https://docs.fedoraproject.org/en-US/fedora/f38/system-administrators-guide/"
SUPPORT_URL="https://ask.fedoraproject.org/"
BUG_REPORT_URL="https://bugzilla.redhat.com/"
REDHAT_BUGZILLA_PRODUCT="Fedora"
REDHAT_BUGZILLA_PRODUCT_VERSION=38
REDHAT_SUPPORT_PRODUCT="Fedora"
REDHAT_SUPPORT_PRODUCT_VERSION=38
SUPPORT_END=2024-05-14
VARIANT="Workstation Edition"
VARIANT_ID=workstation

Позвольте порекомендовать свой шаблон Operating System Identification, который без лишних скриптов извлекает информацию из /etc/os-release и оформляет в виде элементов.

http://vasilisc.com/template-zabbix-operating-system-identification
https://github.com/zabbix/community-templates/tree/main/Operating_Systems/Linux/template_operating_system_identification/6.0

А надёжнее: cat/etc/*release

НЛО прилетело и опубликовало эту надпись здесь

zabbix любят за:
1) он универсален, им можно мониторить любые ОС и любые сервисы при помощи всего одного агента (встречал инсталяции где прометеевских экспортеров на машине стоял десяток порождая чуть ли не больше процессов чем полезные сервисы)
2) у него низкий порог вхождения (натыкать мышкой даже если кликов много справится любой джун и любой профи, а вот первые шаги в освоении того же прометея на моих глазах ставили людей в ступор)
3) не надо путать сложно и неудобно. конфигурировать zabbix неудобно, да, написать ямлик и залить его ансиблом быстрее и удобнее, но точно не проще
4) он одновременно и allinone и распределяемый (можно в пару команд получить рабочий инстанс который уже из коробки будет иметь набор полезных местрик, шаблонов, графиков в удобной вебморде и даже будет сам слать аллерты десятком разных каналов, а можно и разкидать по разным серверам например если надо отделить субд от сервера что полезно при больших инсталяциях (насколько я помню тот же прометей вообще не умеет ни в постгрю ни в мускуль и если он отожрался - страдай))
5) коммюнити (заббикс инструмент зарекомендовавший себя годами, по нему есть очень много инфы, в коммюнити всегда можно найти совет)
6) он всё ещё распространяется в виде собранных и протестированных мейнтейнерами пакетов а не бинарём

я ни сколько не говорю что заббикс это волшебная палочка решающая все проблемы, есть много кейсов где он не подходит, но всё же его есть за что любить. в моей домашней инфре я так его ни на что и не заменил хотя неоднократно пытался при том что на работе его почти нет (остался только для сбора метрик с сетевых железок) и почти всё мониторится одним из форков прометея неравномерным слоем размазанным по кубернетису.

По пункту 4, прометей тоже можно раскидать по разным серверам, и все сливать в единую БД, причем поддерживается куча разных видов БД. И инсталляция такой сборки гораздо проще и быстрее чем инсталляция распределеннного заббикса, сам разворачивал обоих, знаю о чем говорю.

Конфигурировать можно через API calls. Зачем кликать мышкой, если GUI вообще не обязателен?

В логах часто повторяется оно и тоже в некоторый промежуток времени. В новых версиях Zabbix можно отбрасывать повторы (Троттлинг), что помогает базе данных не пухнуть так быстро. Поэтому настоятельно рекомендую периодически заменять стандартные шаблоны Zabbix на новые версии, так как они "хорошеют день ото дня". А в вашей наработке тоже можно добавить троттлинг и хранить в базе меньше лишнего.

https://www.zabbix.com/documentation/current/ru/manual/config/items/preprocessing

не работает на пассивном агенте :(

Лучше использовать elk. Он умеет триггерить в сторону заббикса. Очень удобная штука

Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Истории