Версия Zabbix 4.4 оказалась очень успешной, в сочетании с обширными новыми функциями и при сохранении классического интерфейса, она понравилась (и, вероятно, до сих пор нравится) многим.
Но увы, версия 4.4 имела короткий период поддержки и после выхода 5.0 была объявлена неподдерживаемой.
Последний релиз — 4.4.10 от 29 июня 2020 года.
Я решил продолжить развитие этой ветки путем портирования исправлений и нового функционала из версий 5.0, 5.2. и 5,4 Ранее я работал в компании, которая использовала Zabbix для мониторинга различных баз данных (Oracle, MySQL, PostgreSQL, MSSQL) и помимо собственной разработки Zabbix-агента с нативной (без внешних скриптов) поддержкой для мониторинга СУБД, компания также использовала настроенная версия Zabbix. Мы использовали версию 4.4 и хотя она официально поддерживалась, нам этого хватило.
После выхода Zabbix 5.0 версия 4.4 была снята с поддержки и для нее больше не выпускались обновления для исправления проблем.
Мы думали о переходе на 5.0, но нас сильно расстроил новый интерфейс пятёрки и некоторые нововведения; с другой стороны, в версии 5.0 появилось много полезных и новых функций, которые улучшили мониторинг.
Вот почему я решил перенести некоторые новые функции (ZBXNEXT) из версии 5.x в версию 4.4, а также были перенесены исправления проблем (ошибки, ZBX).
Главный принцип бэкпортирования, которого я придерживаюсь, — не менять структуру базы данных, чтобы в будущем можно было легко и безопасно перейти с кастомной версии 4.4 на более новую 5.x. Еще я попробовал запустить систему автотестов (cmocka и selenium), чтобы оперативно выявлять проблемы с нарушениями функциональности при бэкпортировании патчей.
Проект получил название Zabbix Next: Продолжение разработки Zabbix версии 4.4.x (неофициальная) и остановился на Github. Там вы найдете готовые исходные архивы, готовые сборки агентов для Windows (подписаны моим сертификатом кодовой подписи), там же есть инструкции( на русском И по-английски ) для новой установки или для обновления официальной версии 4.4.10 до моей неофициальной.
Существуют готовые репозитории пакетов для RedHat-подобных операционных систем (RedHat Enterprise/CentOS/Oracle Linux 7.x, 8.x) и для Ubuntu (14.04, 16.04, 18.04, 20.04).
Также могу собрать zabbix-агент для Solaris и AIX 7.1/7.2 с необходимым уровнем TL, если вдруг понадобится.
На данный момент мною выпущено уже 10 неофициальных релизов версии 4.4, последний — 4.4.21 от 28 июня 2021 года.
Релизы стараюсь синхронизировать с релизами официального Zabbix, то есть в среднем 1 релиз в месяц.
Теперь попробую описать, что нового можно увидеть в моей неофициальной версии.
Конечно новинок очень много, я не буду описывать их все в этой статье, но полный список патчей всегда доступен на Github. .
Итак, что нового в 4.4.21 (неофициальная): ДБС-001 - На странице "Проблемы" реализована возможность отображения 4-х тегов.
Это моя собственная модификация, 3-х тегов оказалось мало и поэтому был реализован функционал отображения от 1 до 4-х тегов.
ДБС-002 - На странице "Проблемы" в столбце "Теги" добавлен пробел для разделения тегов при их выборе и копировании в буфер обмена.
Тоже моя модификация.
Если выделить мышкой список тегов и скопировать его, то при вставке значение тега сливается с именем следующего тега в одно целое и это ужасно неудобно.
ДБС-003 - Добавлен переход на страницу "Последние данные" со страницы Настройки -> Узлы сети.
Очень полезный патч от сообщества Zabbix. Когда вы редактируете хост, иногда необходимо сразу после редактирования сразу перейти к просмотру его последних данных, и этот патч позволяет легко это сделать.
ДБС-004 - Изменены некоторые настройки по умолчанию в веб-интерфейсе - ZBX_UNITS_ROUNDOFF_MIDDLE_LIMIT изменен с 4 на 2, а ZBX_DEFAULT_URL изменен с zabbix.phpЭaction=dashboard.view на zabbix.phpЭaction=problem.view. Отображение четырех знаков после запятой кажется пустой тратой драгоценного строкового пространства на странице «Проблемы».
Почему такая точность? Неудобно еще и то, что при входе новых пользователей они по умолчанию попадают в личный кабинет, хотя по факту они должны сразу перейти на страницу с проблемами.
ДБС-005 - Увеличена ширина всплывающего окна на странице "Проблемы" при нажатии на проблему.
Здесь все просто – если элемент данных имеет очень длинное имя, то он просто не умещается в ширину выпадающего списка и его имя обрезается.
Из-за этого в случае нескольких элементов данных со схожими именами нам было не реально понять, какой из них нам нужен.
На скриншоте ниже список обрезан примерно по красной линии.
ДБС-006 - На странице «Проблемы» столбец «Теги» перенесен на позицию после столбца «Проблема», а также увеличена ширина столбца «Теги».
Это сделано для того, чтобы можно было легко выбрать сразу 2 столбца — Проблема и Теги и скопировать это, например, в чат клиента.
Более того, теги — один из важных элементов, и их расположение в последнем столбце меня очень смущало.
ZBXNEXT-5554 — Использование прокси-сервера http/socks для веб-перехватчиков.
Новый параметр HTTPProxy. Эта функция появилась только в версии 5.0. ZBXNEXT-5903 — VMWARE Data Center Discovery, новый элемент данных vmware.dc.discovery[url] возвращает JSON, содержащий параметры {#DATACENTER} и {#DATACENTERID}.
Данная возможность появилась только в версиях 4.0.23, 5.0.3. ZBXNEXT-6004 - Информация о сетевом узле в журнале событий VMWARE. Информация, возвращаемая элементом данных vmware.eventlog[url,mode], содержит информацию об исходном хосте, если такая информация найдена в журнале.
Данная возможность появилась только в версиях 4.0.23, 5.0.3. ZBXNEXT-435 — Поддержка указания строки подключения к СУБД Oracle в формате имени сетевой службы (TNSNAME).
Это старый ZBXNEXT, который вышел под другим номером (ZBXNEXT-5759) только в 5.4. Поскольку на моем предыдущем месте работы в качестве СУБД мы использовали Oracle, то этот ZBXNEXT был одним из первых в моей сборке.
Надо сказать, что традиционно Zabbix поддерживал соединения в Oracle путем указания строки подключения в формате Easy Connect, и только в 5.4 наконец-то реализовали возможность указывать соединение в формате Net Service Name (TNSNAME).
ZBXNEXT-1961 - Мониторинг ODBC без DSN. К элементам db.odbc.* добавлен новый параметр строки подключения.
Элементы db.odbc.* теперь можно настроить двумя способами: с использованием имени источника данных, заданного в /etc/odbc.ini, и с помощью строки подключения.
Эта функция появилась только в версии 5.0. ZBXNEXT-4647, ZBXNEXT-6096 — Поддержка дайджест-аутентификации для агента HTTP и в веб-сценариях.
Эта функция появилась только в версии 5.2. ZBXNEXT-5592 — Удалена поддержка IBM DB2 на сервере Zabbix. ZBXNEXT-5716 — Удалена поддержка библиотеки mbedTLS. ZBXNEXT-5725 - Проблемы, отображаемые в разделе «Мониторинг -> Проблемы», теперь можно фильтровать по одному или нескольким индивидуально выбранным уровням серьезности.
Раньше была фильтрация только по минимальному уровню важности.
Эта функция появилась только в версии 5.0.
ZBXNEXT-5879 - Фильтрация в правилах обнаружения.
Теперь вы можете фильтровать по группе хостов, хосту, типу элемента обнаружения, статусу правила обнаружения и другим параметрам.
Кроме того, добавленный первый столбец в списке теперь всегда отображает хост правила обнаружения.
ZBXNEXT-6139 - Получение заголовков HTTP-ответа.
Теперь можно получить заголовки HTTP-ответа из объекта CurlHttpRequest в веб-перехватчиках.
Эта функция появилась только в версии 5.0.4. ZBXNEXT-3940 - Ручная очистка SNMP-кеша Zabbix-сервера и прокси.
Опция -R теперь имеет команду snmp_cache_reload, которая перезагружает кэш SNMP и очищает сохраненные параметры SNMP (время работы двигателя, загрузка двигателя, идентификатор ядра, учетные данные) для всех сетевых узлов.
Требуется Net-SNMP версии 5.3.0 или выше.
Эта функция появилась только в версии 5.0. ZBXNEXT-2480 - Отключить автозаполнение в веб-интерфейсе полей, содержащих конфиденциальные данные (поля паролей, ключи PSK, имена пользователей, ключи SSL и т. д.).
Это не позволяет большинству браузеров использовать автозаполнение в затронутых полях.
Эта функция появилась только в версии 5.0.6. ZBXNEXT-3205 — Поддержка регулярных выражений в контексте пользовательских макросов.
Пример синтаксиса: {$MACRO:regex:"регулярное выражение"}.
Использование регулярных выражений может значительно сократить количество пользовательских контекстов макросов, которые необходимо определить.
Эта функция появилась только в версии 5.0.2. ZBXNEXT-3588, ZBXNEXT-6247, ZBXNEXT-6042 - Несколько ZBXNEXT, связанных с улучшением производительности сервера Zabbix. Портированы с версии 5.0. ZBXNEXT-6345 - Агент Zabbix для Windows теперь заменяет SID на имя учетной записи и имя домена в сообщениях журнала событий.
Эта функция появилась только в версии 5.0.7. ZBXNEXT-6307 - Для Java-шлюза появился новый параметр zabbix.propertiesFile, который позволяет указать имя файла, содержащего дополнительные параметры запуска процессов, поэтому эти параметры не будут отображаться в строке запуска в процессах.
Также в этом файле вы можете указать параметры, которые переопределяют параметры командной строки.
Эта функция появилась только в версии 5.0.7. ZBXNEXT-170 - Массовая отвязка шаблонов при использовании хоста или массовое обновление шаблонов.
Эта функция появилась только в версии 5.0.
ZBXNEXT-1423 — Добавлен новый элемент данных IPMI ipmi.get, который возвращает JSON с информацией, связанной с датчиком IPMI. Этот элемент данных можно использовать для обнаружения датчиков IPMI. Эта функция появилась только в версии 5.0. ZBXNEXT-1578 - Пользовательские макросы теперь поддерживаются в полях имени пользователя и пароля IPMI в настройках хоста.
Эта функция появилась только в версии 5.0. ZBXNEXT-5538, ZBXNEXT-5720 — Пара ZBXNEXT, связанная с реализацией и улучшением постраничного вывода данных на странице «Последние данные» и многое другое.
Эти улучшения появились только в версии 5.0. ZBXNEXT-5486, ZBXNEXT-5538 — Пара ZBXNEXT, связанная с переносом страниц Администрирование -> Общие, пользователей и групп пользователей в фреймворк MVC. Эти улучшения появились только в версии 5.0. ZBXNEXT-5898 - В поле «Описание» теперь поддерживаются (расширяются) пользовательские макросы.
Данные улучшения появились только в версии 5.2. ZBXNEXT-6380 - Новый элемент данных vmware.cl.perfcounter[ , , , ], который позволяет получать метрики счетчиков производительности кластера VMware. Данные улучшения появились только в версии 5.4. ZBXNEXT-6443, ZBXNEXT-6183 — Поддержка функций sha256() и md5() в JavaScript. Эта функция появилась только в версии 5.0.9. ZBXNEXT-6441 — Поддержка HTTP-аутентификации в веб-перехватчиках.
Вы можете использовать метод SetHttpAuth(битовая маска, имя пользователя, пароль) для объекта CurlHttpRequest в JavaScript. Эта функция появилась только в версии 5.0.9. Это далеко не весь список портированных ZBXNEXT из версий 5.0, 5.2 и 5.4. О списке исправленных ошибок говорить не буду; исправлено более 130 проблем, присутствовавших в версии 4.4.10. Еще 7 новых ZBXNEXT портированы на версию 4.4.18 (ZBXNEXT-1797, ZBXNEXT-2727, ZBXNEXT-5369, ZBXNEXT-5786, ZBXNEXT-5829, ZBXNEXT-6442, ZBXNEXT-6503).
Еще 3 новых ZBXNEXT портированы на версию 4.4.20-21 (ZBXNEXT-4910, ZBXNEXT-284, ZBXNEXT-6662) Все эти ZBXNEXT еще больше улучшают функционал неофициальной ветки 4.4. Еще хочу сказать, что данный проект используется в производстве в нескольких компаниях, поэтому ни о какой экспериментальной разработке речи не идет. Посетите страницу проекта на Github. , пользуйтесь на здоровье, но не забывайте, что это неофициальная версия и техническая.
Служба поддержки Zabbix SIA не сможет помочь вам решить проблемы.
P.S. Если вы нашли ошибку в моей неофициальной версии или у вас есть предложение по портированию какого-нибудь ZBXNEXT, то открывайте Issue на Github, подумаем и обсудим.
Теги: #Системное администрирование #открытый код #мониторинг #zabbix
-
Как Yahoo Опережает Других
19 Oct, 24 -
Где Работают Фрилансеры?
19 Oct, 24 -
Под Впечатлением От Первой Встречи Спикеров
19 Oct, 24