Проект Glaber (https://glaber.io) развивает форк системы мониторинга Zabbix, нацеленный на повышение эффективности, производительности и масштабируемости, а также подходящий для создания отказоустойчивых конфигураций, динамически выполняемых на нескольких серверах. Изначально проект развивался как набор патчей для повышения производительности Zabbix, но в апреле началась работа по созданию обособленного форка. Код проекта распространяется (https://gitlab.com/mikler/glaber) под лицензией GPLv2.На больших нагрузках пользователи Zabbix сталкиваются с отсутствием кластеризации как таковой в бесплатной версии и проблемами при необходимости хранения в СУБД очень больших объёмов данных. Поддерживаемые в Zabbix реляционные СУБД, такие как PostgreSQL, MySQL, Oracle и mssql, плохо адаптированы для хранения трендов для истории - выборка по большому количеству метрик за пол года уже будет "тяжёлой" и нужно оптимизировать СУБД и запросы, строить кластеры серверов баз данных и т.п.
В качестве выхода в Glaber воплощена идея по использованию специализированной СУБД ClickHouse (https://clickhouse.yandex/), которая обеспечивает хорошее сжатие данных и очень высокую скорость обработки запросов (на том же оборудовании можно добиться снижения нагрузки на CPU и дисковую систему в 20-50 раз). Кроме поддержки ClickHouse в Glaber также добавлены (https://gitlab.com/mikler/glaber/wikis/home) различные оптимизации, такие как использование асинхронных snmp-запросов, массовая (пакетная) обработка данных от агентов мониторинга и использование nmap для распараллеливания проверки доступности хостов, которые позволили ускорить опрос состояний более чем в 100 раз. В Glaber также ведётся работа над поддержкой кластеризации (https://gitlab.com/mikler/glaber/wikis/ru-manual/%D0...), для которой в будущем планируется использовать etcd (https://www.opennet.ru/opennews/art.shtml?num=48024).URL: https://glaber.io
Новость: https://www.opennet.ru/opennews/art.shtml?num=51053
> и проблемами при необходимости хранения в СУБД очень больших объёмов данных.
> идея по использованию специализированной СУБД ClickHouseНо ведь люди уже используют связку ClickHouse и Zabbix (основного, а не форка).
где и какие люди ? было несколько упоминаний в видео и докладов, не более, ничего в виде патча до этого лично я не видел, если речь об https://mmakurov.blogspot.com/ - то это и есть тот же автор, только патч приобрел свое название и получил новые фичи.
Да, вот эти ребята. А я думал они в upstream это внедрили.
Гуглю за авторов форка. Оно?:https://www.altinity.com/blog/2018/9/3/clickhouse-monitoring...
Авторы (во втором случае) те же. Вопрос снят.
В первом случае "Zabbix template for monitoring ClickHouse."
> ClickHouseОтлично! Теперь ещё PHP заменить на Telegraf/Chronograf/Capacitor, и будет отличный мониторинг, лол.
PHP там только вебморду обслуживает, так что тёплое на мягкое предлагаешь заменить.
Ага, главное побольше новых непонятных слов, что бы сойти за умного.
Дорогая редакция!Пишет вам тонкая ценительница Шопенгауэра и других умных слов...
> PostgreSQL, MySQL, Oracle и mssqlТаки Zabbix не поддерживает MS SQL Server.
сори за дезинформацию, исправил ;)
У zabbix отвратительное взаимодействие с комьюнити, в частности продвинуть свои патчи просто не реально, их не примут, а попробуют написать свою реализацию, то есть на это потребуется куча времени у официальных разрабов, а время стоит денег и поэтому фактически свои патчи влить в забикс нереально. Ну и самой компании zabbix sia по сути не выгодно делать гибкую и производительную систему мониторинга из коробки, т.к. тогда к ним никто не будет обращаться для платной оптимизации безбожно тормозящих инсталяций у клиентов, которые достигли предела производительности.
> их не примут, а попробуют написать свою реализацию, то есть на это потребуется куча
> времени у официальных разрабовСмотрите чуть ширше и дальше, и поймете, что такая политика позволит в будущем сменить лицензию достаточно просто, ибо все авторы собраны в одну корзину и получают з/п из одного окна.
Интересная штука.
А в Docker контейнерах она будет?
да, позжее
Давно пора!
"с отсутствием кластеризации как таковой в бесплатной версии" - ех, если не умеешь Corosync/Pacemaker, то это не означает отсутсвие кластеризации, и где нашлась платная версия? Еще и MS SQL вписали в поддерживаемые... Походу форкать не безопасно, мифические спеки мерещаться.
Платная, имеется ввиду поддержка и те плюшки, которые она дает.
Что касается Corosync/Pacemaker - это ок, но ведь не из коробки... diff я думаю понятен.
> если не умеешь Corosync/PacemakerЭто, случаем, не те же нашлёпки, из-за которых гитхаб сутки валялся, потому что готовить их уметь надо как рыбу фугу?
Сам спросил, сам отвечу: нет, там был Orchestrator, очередная поделка про Raft.https://github.blog/2018-10-30-oct21-post-incident-analysis/
Впрочем, моего недоверия к остальным кластеризаторам «просто добавить воды» это всё равно не снимает.
> это всё равно не снимает.пох/нах, хватит плодить трёхбуквенные ники. мы т-тя видим.
это не мой ник - я бы ту фигню даже и изучать не стал. Везде где читаю "кластеры на линухах" - читаю "данные и надежность не требовались". Ни разу еще не ошибся.
Ну у каждого свое кривоглазие.
Не читайте, от этого глазам вредно
Ну вот по факту да. Тот же коросинк - адовое нестабильное угрёбище, разве что в пределах одного зала юзабельное, да и то с оговорками. Пацемакер - адовый набор бессмысленной и беспощадной конфигурации и кривых скриптов вокруг.На винде правда ещё хуже.
> На винде правда ещё хуже.ну хер знает - 140T на нем живет, и то что четыре года назад положено - все еще выглядит как настоящее, а не мешаниной байтиков. Проблемы были, но не с развалом кластера, и редко.
Правда, в отличие от коровасинка навоз не я выношу, так что может коллеги там так же и страдают, просто снаружи ничем не воняет.
Нет, это как раз и есть отсутствие кластеризации на уровне приложения, раз вынуждает использовать внешний стек (вроде сorosync/pacemaker) для отслеживания и управления его состояниями.
Крутота. Люблю Zabbix, но проблем роста у него миллион. Рад, что кто-то взялся за решение
Попытка адаптации заббикса под яндексовскую поделку методом костылинга через форк? Не, нафигг.
Ну кликхаус далеко не поделка
С остальным согласен
Просто оставлю это здесь: https://getnoc.com/
Трогали 100500 лет назад. Слишком много гвоздями прибитых сущностей, Zabbix зело универсальнее.
> использование nmap для распараллеливания проверки доступности хостовкакое-то костыльное решение
На самом деле nmap и к обычному заббиксу прикручивается без проблем, через sender и API, если очень хочется, для этого не надо форк городить. Примитивный скрипт: через API выгребаем все "nmap.ping" (условно) трап-итемы, скармливаем нмапу, пушим назад через сендер.
>nmap и к обычному заббиксу прикручивается
>для этого не надо форк
>Примитивный скрипт: через API выгребаем все "nmap.ping" (условно) трап-итемы,А чтоб заменить встроенную реализацию icmpping[] таки надо форк.
Ещё можно переписать на динамический язык такой, где можно реализацию "переобувать" на ходу,... но это ж ещё больший форк.
> А чтоб заменить встроенную реализацию icmpping[] таки надо форк.Можно и из буханки хлеба троллейбус сделать, но зачем? :)
>> А чтоб заменить встроенную реализацию icmpping[] таки надо форк.
> Можно и из буханки хлеба троллейбус сделать, но зачем? :)Деситтна, зачем это яндексу....
Поиграть в угадайку-перепись прямо ЗДЕСЬ >>==>
> Деситтна, зачем это яндексу....Тут вопрос по-другому стоит. Зачем вообще яндекс?
>> использование nmap для распараллеливания проверки доступности хостов
> какое-то костыльное решениеТы панимаешь, zabbix [sia] не умеет в параллелизьм, yandex не умеет в параллелизьм... Поэтому один пускает фиксированное число однопоточных воркеров, второй заменяет их вызовом внеш.утили, таки умеющей в параллелизьм...
Эдак, скоро кто-нибудь додумается SNMP для-вместо Zabbix-в собирать с помощью collectd... fping-и пускать с помошью xargs или GNU parallel...
Это ж он -- юникс вей!
> Эдак, скоро кто-нибудь додумается SNMP для-вместо Zabbix-в собирать с помощью collectd...Не, вот с SNMP как раз у заббикса-то всё и очень хорошо.
Да и fping, честно говоря. Ну fping и fping. Форкается, задачи принимает пачками, каши много не просит.
Нафига поделие нужно? Закопать давно пора это Г.Используем божественную Icinga2, которая умеет в Ifra as Code и в кластеризацию из коробки.
+умеет в TSDB из коробки.
+классное комюнити.
Цинга - это очень куцый обрезок по сравнению с Zabbix, по функциональности близко не стоящий. Нет, там где полтора локалхоста и три свитча - нормально, но если надо мониторить фурами, то уже не катит.
3k+ хостов достаточно?Там, где можно парой строчек обойтись в Icinga, придется возить мішей в зябиксе до посинения. Ну, или обмазаться XML.
Так себе удоволсьтвие в любом случае.
> 3k+ хостов достаточно?дай угадаю - либо все абсолютно одинаковые, либо вы собираете миллионы ненужных метрик (а потом эти же люди жалуются, что жабикс+mysql тормозит и требуют нескучных новых кликшмяк-технологий)
> Там, где можно парой строчек обойтись в Icinga, придется возить мішей в зябиксе до посинения.
> Ну, или обмазаться XML.или освоить, наконец, LLD и шаблоны. Но это, видимо, для вас сложно.
P.S. с xml все как раз плохо - уже почти половина настроек в него не экспортируется.
Для неискателей легких путей еще есть прямая запись в базу. Чем мы и пользоватилсь еще задолго до того как появился экспорт, дискавери в ее нынешнем пригодном для пользования виде и т д - к сожалению, ее структура либо вообще не документирована (примерно представляя себе уровень разработчиков, легко в это поверю) либо хранится за десятью замками для любимых коммерческих клиентов.
Не угадал. Хості разніе, но хостнейм стандартизировані, так как кровавій ентерпрайз.
Поетому у нас есть возможность привязівать шаблоні на основе хостнеймов + есть инвентарная база (а-ля Device42), в которой хранится вся инфа про инфру и постоянно синкается.Про метрики - не миллион, но собираем. Надо же как-то хотя б сеть (пинг) мониторить между 5 ДЦ.
> 3k+ хостов достаточно?В моём случае недостаточно.
Ну и хосты != элементы для проверки. Хотя бы 100000 элементов наскребёте?
Да, конечно. Так как там крутятся свои продукті, то чеки на каждій продукт свои - проверки всяких АРІ, внутренних компонентов систем.
Примерно 130к сервис-чеков, которіе размазані по поллерам (агентам) и сателитам (аналог заббикс-прокси).Часть чеков идет по снмп.
130k уже нормально, да, согласен.У нас >10k хостов и >500k совершенно разнородных чеков (ping, SNMP, tcp, Web, скрипты, агенты, парсеры и сендеры). Часть хостов импортируется через API.
SNMP навскидку больше всего. Размазано... ну как размазано, сервер и две прокси, всё на одной аппаратной площадке под XenServer.
~300k чеков на основном сервере, ~200k на отдельном прокси для тех хостов, которые идут через API - они могут из сети пропадать, это управляемые хосты клиентов. И ещё ~30к на отдельном прокси для "медленных" хостов типа оборудования DWDM/SDH, которые могут результат по SNMP то отдавать, то не отдавать, или отдавать секунд за 40-70 - на этом прокси выкручены таймауты.
Совершенно разнородных - в смысле в плане методов проверки. Так-то конечно всё собрано в темплейты и LLD, кое-что регулируется постпроцессингом, кое-что API.
Мі делали тесті - ложили один из мастеров 9 сигналом - все чеки переезжали на второго мастера буквально за 2 минуті.
Вместе с оповещениями и всем другим. После поднятия второго мастера, Icinga сама снова распределяет всю эту штуку по ооим мастерам.Что будет, если у вас ляжет сервак? Как отказоустойчивость реализована?
> Что будет, если у вас ляжет сервак? Как отказоустойчивость реализована?У нас тут несколько моментов.
- Ничего страшного не случится, не 100% критичный сервис.
- Уйдёт уведомление мне лично и ещё нескольким людям.
- Будет заново поднят или перезапущен на другой Xen-ноде.
- За 5 лет не ложился сам по себе в принципе, только во время плановых работ.
Короче говоря, в нашем случае мы тупо не заморачиваемся. Даже если оно за год три раза ляжет само по себе на сутки, 99% доступности нас устраивает :)Если бы заморачивался - делал бы очень просто: реплицированная база мастер-мастер, кроме хистори, и вторая нода, готовая подняться в любой момент.
> Там, где можно парой строчек обойтись в Icinga, придется возить мішей вКроме мыши есть ещё:
- LLD
- Шаблоны
- API
я добился прогресса просто переселив заббикс с мускула на пг, нагрузка ушла полностью и он теперь не ссыт мне в мозги.
через годик приходи. расскажешь про "vacuum full нинужна, нинужна, нинужна, и задепрекейтим, задепрекейтим". И про то как он у тебя "не тормозит".
> через годик приходи. расскажешь про "vacuum full нинужна,прямо сейчас: pg_repack же.
>И про то как он у тебя "не тормозит".Но да, тормозит адски. :(
ПользователЯ ж привыкли, что метрики-хосты только добавляют, "всё ж работает, чё" (а я ж не _померял_ те тормоза, да--). А ещё нам бы надо хранить то, что старше года, в трендсах-то, и не стирать -- буде взбредёт в голову, аналитичненько!, посмотреть кривулину "за всё время".Во-о-от... база растёт и тормозит, и тормозит и растёт.
П[ро|ост]гресс-то не остановить.Вот уже пора [опять, кстати, да! в районе 1.8 делал-- потом патч посеял] ...
...переписывать housekeeper, чтоб не падало.Опять хочется странного типа cstore_fdw, tab_tier или типа. Но нет Героя. То есть кроме -- косоглазых продаванов с амазонами, ажурами, кликхаусами, таймскейлами, уисперами.
Мож, просто поменять 15К шпиндели на такой же массив из 8... или 16?... флешей-ссд-нвме и ещё пару лет сидеть ровно. План!
Ну я так и сделал, хотя по сути и на дисках жило ровно ещё.
Только не NVMe, а обычные SAS Enterprise Mixed WL. Теперь запаса по росту точно лет на пять.
>через годик приходи. расскажешь про "vacuum full нинужнаА через 2 года vacuum full действительно станет "нинужна"
ты опоздал родиться - я эту сказку про нинужна и "в следующей версии уже совсем зуб даем стоодинпроцент задиприкейтим!" - с 2009го слышу. А оно - вот...а учитывая что именно с этой базой делает жаббикс с его delete/update ... in (... ... стопиццотштук ) - результат довольно предсказуем.
https://npm.pkg.github.com/Doctorbal/zabbix-postgres-partiti...и остатки ваших волос будут гладкими и шелковистыми.
> https://npm.pkg.github.com/Doctorbal/zabbix-postgres-partiti...
> и остатки ваших волос будут гладкими и шелковистыми.Спасибо! Буду читать...
Пока смущают версии, например, -- у меня другие. Копать :/ надо. #лопата-здесьВ этом зоопарке --
"" With PostgreSQL version 11 it is possible to create a "default" partition. This stores rows that do not fall into any existing partition's range. ""
https://npm.pkg.github.com/Doctorbal/zabbix-postgres-partiti...-- только самые прожжённые "консультанты" :((( разберутся.
"" This extension should work with Postgres 9.1 and above. ""
https://github.com/peak6/tab_tier#compatibilityВидимо, tab_tier основан на том, что _все_ insert-ы идут в "default table" -- до версии, типа, 11 без учёта ограничений.
Забудьте слова Zabbix и Яндекс! Нет там его давно, как и тех людей, которые его пытались подпиливать и поддерживать. они своих собственных систем мониторинга понаписали.
> они своих собственных систем мониторинга понаписали.но те настолько секретные, что тебя убьют если ты о них скажешь, или настолько гнилые, что их существование стараются не афишировать чтоб не позориться?
По памяти помню пару. Первая - это juggler:
https://events.yandex.ru/lib/talks/35/Вторая - golovan (система мониторинга поискового кластера). И та и другая написана на python, если что.
Все, нет там вашего Zabbix. Выносите тело.~> host golovan.yandex-team.ru
golovan.yandex-team.ru is an alias for yasm.yandex-team.ru.
yasm.yandex-team.ru is an alias for yasm.search.yandex.net.
yasm.search.yandex.net has address 141.8.146.12
yasm.search.yandex.net has IPv6 address 2a02:6b8:0:3400::2:12~> host zabbix.yandex-team.ru
Host zabbix.yandex-team.ru not found: 3(NXDOMAIN)
Ну, там уже давно не только python, все тормоза "смазаны" плюсами тоже, впрочем, достаточно давно
Странно что никто не упомнает модный нынче гоу-Прометеус.
А интересно бы мнения узнать.
> Странно что никто не упомнает модный нынче гоу-Прометеус.
> А интересно бы мнения узнать.Модные ребяты про него уже "узнали". Теперь им стыдно, молчат.
ну, этот форк был всего лишь вопрос времени. забиксовцам давно уже про это все говорили, а они не чесались. посмотрим теперь, насколько стабильным выйдет форк.
Форк скорее мёртв?
Нет конечно, вот сегодня вышел релиз с фиксами.