Upgrade to Pro — share decks privately, control downloads, hide ads and more …

«Эвенты Zabbix в ElasticSearch» — Илья Аблеев, Badoo

Badoo Tech
June 26, 2018
9.1k

«Эвенты Zabbix в ElasticSearch» — Илья Аблеев, Badoo

Руководитель отдела мониторинга в Badoo, инициатор и лидер Zabbix Moscow Meetup.

ElasticSearch для хранения эвентов (не истории!) Zabbix'а в Badoo начали использовать много лет назад. Точнее, сначала мы начали использовать Splunk, и лишь потом подключили Elastic. В докладе я расскажу, какие проблемы мы решаем такой интеграцией, и как это решение может быть полезно любому пользователю: визуализация событий, графики, отчёты, «комплексные запросы — это просто». Пару лет назад на митапе я показывал скриншот, как это выглядит. Настало время рассказать, как это работает.

Выступление на Zabbix Moscow Meetup 2018 в офисе Badoo.

Badoo Tech

June 26, 2018
Tweet

More Decks by Badoo Tech

Transcript

  1. Илья Аблеев · 23 июня 2018
    Эвенты Zabbix в
    ElasticSearch

    View Slide

  2. 2015 2016
    2017 2018
    ?

    View Slide

  3. ?

    View Slide

  4. © Boryaspec
    http://nozacem.lv

    View Slide

  5. View Slide

  6. View Slide

  7. Эвент – одиночное
    возникновение того, что
    заслуживает внимания.
    Например, изменение состояния
    триггера.
    zabbix.com/documentation

    View Slide

  8. View Slide

  9. Плюсы:
    • эвенты есть
    • можно ограничить вывод по группе, хосту, триггеру
    Минусы:
    • нет комплексной фильтрации
    • нотификации перестают приходить в почту/смс/итд после удаления eventid
    • акнолиджи также перестают работать
    Events (до 3.4)

    View Slide

  10. View Slide

  11. View Slide

  12. Плюсы:
    • появилась более сложная фильтрация
    • проблемный eventid не удаляется, пока не станет OK
    Минусы (субъективные, не зависит от версии):
    • табличный вид
    • постраничная навигация
    • (cубъективно!!!) долго открывается страница эвентов
    Events Problems (начиная с 3.4)

    View Slide

  13. View Slide

  14. View Slide

  15. Кол-во триггеров Кол-во эвентов (1d)
    Кол-во эвентов
    (30d)
    zabbix1 929K ~26K ~450K
    zabbix2 40K ~1.7K ~38K
    zabbix3 125K ~250 ~35K
    zabbixnet 21K 500 ~10K
    Zabbix в Badoo – цифры

    View Slide

  16. Немного теории
    https://www.zabbix.com/documentation/3.0/manual/api/reference/event/object

    View Slide

  17. View Slide

  18. View Slide

  19. 1 2 4
    3

    View Slide

  20. Важно помнить
    • эвенты приходится удалять (1 млн строк за 30 дней)
    • при удалении – теряется история
    • эвенты удаляются (айдишки меняются) при:
    - пересоздании триггера (напр. LLD)
    - пересоздании хоста (напр. дискавери)
    - перепривязки шаблона

    View Slide

  21. 1. Хранить долго
    2. Делать выборку быстро
    3. Строить сложные запросы простым способом (любому сотруднику)
    Наши требования к истории событий

    View Slide

  22. Эвенты – логи

    View Slide

  23. Первая версия – Splunk
    Нагляднее, чем просто число или таблица, правда?

    View Slide

  24. Первая версия – Splunk
    • Не у каждого есть, не каждый купит, а значит доклад потеряет ценность :)
    • Специфично используем внутри компании, пришлось искать альтернативы

    View Slide

  25. Вторая версия – ElasticSearch (+Kibana)
    Всё ещё нагляднее, чем список.

    View Slide

  26. View Slide

  27. !!!

    View Slide

  28. View Slide

  29. View Slide

  30. Техническая реализация

    View Slide

  31. 1. Временная таблица в базе (где и работает Zabbix server)
    2. Скрипт по экшену записывает эвенты в таблицу в читабельном виде
    3. Перекладываем из таблицы в ElasticSearch по крону (последовательно)
    … и в продакшен

    View Slide

  32. 1
    2
    3
    4

    View Slide

  33. View Slide

  34. Поделимся? Конечно.
    https://github.com/ableev/Zabbix-Events-to-ElasticSearch
    Кто хочет попробовать – пишите :)

    View Slide

  35. Спасибо!
    Habr: Badoo
    https://www.meetup.com/Zabbix-Moscow-Meetup/
    Me: @ableev (everywhere)

    View Slide