В IT есть такое суеверие: «Работает, не трогай». Это можно сказать и про нашу систему мониторинга. В Southbridge мы используем Zabbix — когда мы его выбирали, он был очень крут. И, по сути, альтернатив у него не было.
Со временем наша экосистема обросла инструкциями, дополнительными обвязками, появилась интеграция с redmine. У Zabbix появился мощный конкурент, который превосходил во многих аспектах: скорость работы, HA практически из коробки, красивая визуализация, оптимизация работы в kubernethes окружении.
Но мы не торопимся переходить. Мы решили заглянуть на огонек в Zabbix и поинтересоваться, какие фишки они планируют сделать в ближайшие релизы. Мы не церемонились и задавали неудобные вопросы Сергею Сорокину, директору по развитию Zabbix, и Виталию Журавлеву, Solution architect. Что из этого получилось, читайте далее.
1. Расскажите об истории компании. Как родилась идея продукта?
История компании началась в 1997 году, когда основатель и владелец компании Алексей Владышев работал администратором баз данных в одном из банков. Алексею казалось неэффективным управлять базами без наличия на руках данных об исторических значениях самых различных параметров, без понимания текущего и исторического состояния окружающей среды.
При этом присутствующие в тот момент на рынке решение по мониторингу являются очень дорогостоящими, неповоротливыми, и требующими больших ресурсов. Поэтому Алексей начинает писать различные скрипты, которые позволяют ему эффективно мониторить вверенную ему часть инфраструктуры. Это превращается в хобби. Алексей меняет работы, но интерес к проекту остаётся. В 2000-2001 годах проект переписывается с нуля — и Алексей задумывается над тем, чтобы дать возможность другим администраторам использовать наработки. При этом встал вопрос, под какой лицензией выпустить существующий код. Алексей принял решение выпустить его под лицензией GPLv2. Инструмент сразу заметили в профессиональной среде. Со временем к Алексею стали приходить запросы на оказание поддержки, проведение обучения, расширение возможностей программного обеспечения. Количество таких заказов постоянно росло. Так, естественным образом, пришло решение о создании компании. Компания была основана 12 апреля 2005 года
2. Какие ключевые точки можете выделить в истории развития Zabbix?
Таких точек на данный момент несколько:
а. Начало работы Алексея над скриптами — 1997 год.
б. Публикация кода под лицензией GPLv2 — 2001 год.
в. Основание компании Zabbix — 2005 год.
г. Заключение первых партнёрских договоров, создание партнёрской программы — 2007 год.
д. Основание Zabbix Japan LLC — 2012 год.
е. Основание Zabbix LLC (USA) — 2015 год
ж. Основание ООО Заббикс — 2018 год
3. Сколько у вас работает людей?
На данный момент в группе компаний Zabbix работает чуть больше 70 сотрудников: разработчиков, тестировщиков, руководителей проектов, инженеров поддержки, консультантов, продавцов, сотрудников маркетинга.
4. Как вы пишете roadmap, собираете ли обратную связь от пользователей? Как определяете, куда двигаться дальше?
При создании Roadmap для следующей версии Zabbix мы ориентируемся на следующие важные факторы, точнее, мы собираем Roadmap по следующием категориям:
а. Стратегические улучшения Zabbix. Что-то, что Zabbix сам считаем очень важным. Например, Zabbix agent написанный на Go.
б. Вещи, которые хотят увидеть в Zabbix клиенты и партнёры Zabbix. И за которые они готовы заплатить.
в. Пожелания/предложения от Zabbix community.
г. Технические долги. :) Вещи, которые мы выпустили в прошлых версиях, но не обеспечили полную функциональность, не сделали достаточно гибкими, не предложили все варианты.
5. Можете сравнить Zabbix и prometheus? Что в Zabbix лучше, а что хуже?
Основное отличие, на наш взгляд, Prometheus является системой в первую очередь для сбора метрик — и чтобы собрать полноценный мониторинг на предприятии, необходимо добавить к прометеусу множество других компонентов, таких как графана для визуализации, отдельное лонг-терм хранилище, отдельно где-то управлять проблемами, отдельно работать с логами…
Не будет в Prometheus и никаких типовых шаблонов мониторинга, получив все-все тысячи метрик от экспортеров, нужно будет самостоятельно найти в них проблемные сигналы. Настройка Prometheus — конфигурационные файлы. Где-то это удобней, где-то нет.
Zabbix — это универсальная платформа для создания мониторинга «от и до», у нас своя визуализация, корреляция проблем и их отображения, распределение прав доступа к системе, аудит действий, множество вариантов сбора данных через агента, прокси, по совершенно различным протоколам, возможность быстро расширить систему плагинами, скриптами, модулями…
А можно просто собирать данные, как есть, например, по протоколу HTTP, а дальше превращать ответы в полезные метрики при помощи таких функций препроцессинга, как JavaScript, JSONPath, XMLPath, CSV и тому подобных. Многие пользователи ценят Zabbix за возможность настроить и управлять системой через веб-интерфейс, за возможность описания типовых конфигурация мониторинга в виде шаблонов, которыми можно делиться друг с другом, и содержащих не только метрики, но и правила обнаружения, пороговые значения, графики, описания — полный набор объектов для мониторинга типовых объектов.
Многим нравится также возможность автоматизировать управление и настройку через Zabbix API. В общем, не хочется устраивать холивар. Нам кажется, что обе системы хорошо подходят под свои задачи и могут гармонично дополнять друг друга, например, Zabbix с версии 4.2 может снимать данные с экспортеров Prometheus или с него самого.
6. Не думали над тем, чтобы сделать zabbix saas?
Думали и сделаем в будущем, но хотим сделать такое решение максимально удобным для клиентов. В этом случае стандартный Zabbix должен быть предложен вместе со средствами коммуникации, расширенными средствами для сбора данных и так далее.
7. Когда ждать zabbix ha? И ждать ли?
Zabbix HA однозначно ждать. Мы очень надеемся увидеть что-то в Zabbix 5.0 LTS, но ситуация станет яснее в ноябре 2019 года, когда полностью будет подтверждён Roadmap Zabbix 5.0.
8. Почему media type имеет такой скудный выбор из коробки? Не планируете добавить Slack, telegram и так далее? А jabber еще кто-то пользуется?
Jabber в версии Zabbix 4.4 убрали, но зато добавили Webhooks. Касательно media types, не хотелось бы делать конкретные аппликации из системы, но стандартные средства обмена сообщениями. Не секрет, что множество подобных чатов или сервис десков имеют API через HTTP — поэтому в этом году с выходом 4.4 ситуация изменится.
С появлением вебхуков в Zabbix можно ожидать все самые востребованные интеграции из коробки в ближайшее время. При этом интеграции будут двухсторонние, а не только простые уведомления в одну сторону. А те media types, до которых мы не доберёмся, сделает наше community — ведь теперь media type целиком может быть экспортирован в конфигурационный файл, выложен на share.zabbix.com или github. И другим пользователям нужно будет только импортировать файл, чтобы начать использовать такую интеграцию. При этом никаких дополнительных скриптов ставить не придется!
9. Почему не развивается направление Virtual machine discovery? Есть только vmware. Многие ждут интеграции с ec2, openstack.
Нет, направление развивается. Например, в 4.4 появился дискавери datastore через ключ vm.datastore.discovery. В 4.4 также появились очень классные ключи wmi.getall – ожидаем, что через него, вместе с ключом perf_counter_en можно будет сделать хороший мониторинг Hyper-V. Ну, и будут другие важные изменения в этом направлении в Zabbix 5.0.
10. Не думали отказаться от шаблонов и сделать как у prometeus, когда забирается все, что отдается?
Прометеус автоматом забирает все метрики, это удобно. А шаблон — это больше, чем просто набор метрик, это «контейнер», который содержит всю необходимую типовую конфигурацию мониторинга данного типа ресурса или сервиса. В нем есть уже набор важных триггеров, графиков, правил обнаружения, в нем есть описания метрик и пороговых значений, которые помогают пользователю понять, что собирается, и какие пороги именно проверяются и почему. При этом шаблонами легко делиться с другими пользователями — и они получат хороший мониторинг своей системы, даже не обязательно будучи экспертом в ней.
11. Почему так мало метрик из коробки? Это же сильно усложняет настройку с точки зрения operation.
Если из коробки вы имеете в виду готовые шаблоны, то именно сейчас мы работаем над расширением и улучшением наших шаблонов. Zabbix 4.4 вышел с новым, улучшенным набором и с лучшими возможностями.
Для Zabbix всегда можно на share.zabbix.com найти готовый шаблон практически под любую систему. Но мы решили, что должны делать базовые шаблоны и сами, показывая пример остальным, а также освобождая пользователей от написания в очередной раз шаблона для какого-нибудь MySQL. Поэтому сейчас в Zabbix официальных шаблонов с каждой версией будет становиться только больше.
12. Когда можно будет строить триггеры, не привязанные к хостам, а например на основание labels. Например, у нас мониторится сайт из n разных точек, и мы хотим простой триггер, который срабатывает когда сайт не доступен из 2-х и более точек.
На самом деле, такая функциональность есть в Zabbix уже несколько лет, написанная для одного из клиентов. Клиент — ICANN. Также подобные проверки можно сделать, например, через aggregated items или используя Zabbix API. Сейчас активно работаем над тем, чтобы упростить создание подобных проверок.
PS: На одном из Слёрмов разработчики Zabbix поинтересовались у нас, что мы хотим увидеть в продукте, чтобы мониторить кластеры Kubernetes именно с помощью Zabbix, а не Prometheus.
Здорово, когда разработчики идут навстречу клиентам, а не остаются вещью себе. И теперь мы каждый релиз встречаем с искренним интересом — радует то, что всё больше и больше фич, о которым мы говорили, обретают плоть и кровь.
Пока разработчики не замыкаются в себе, а интересуются потребностями клиентов, продукт живет и развивается. Будем следить за новыми релизами Zabbix.
PPS: Мы через несколько месяцев запустим онлайн-курс по мониторингу. Кому интересно, подписывайтесь, чтобы не пропустить анонс. А пока можно пройти наш Слёрм по Kubernetes.