Zabbix 4.4 Не Поддерживается - Но Я Решил Продолжить Его Разработку

Версия 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-х тегов.



Zabbix 4.4 Не поддерживается - Но я решил продолжить его разработку

ДБС-002 - На странице "Проблемы" в столбце "Теги" добавлен пробел для разделения тегов при их выборе и копировании в буфер обмена.

Тоже моя модификация.

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



Zabbix 4.4 Не поддерживается - Но я решил продолжить его разработку

ДБС-003 - Добавлен переход на страницу "Последние данные" со страницы Настройки -> Узлы сети.

Очень полезный патч от сообщества Zabbix. Когда вы редактируете хост, иногда необходимо сразу после редактирования сразу перейти к просмотру его последних данных, и этот патч позволяет легко это сделать.



Zabbix 4.4 Не поддерживается - Но я решил продолжить его разработку

ДБС-004 - Изменены некоторые настройки по умолчанию в веб-интерфейсе - ZBX_UNITS_ROUNDOFF_MIDDLE_LIMIT изменен с 4 на 2, а ZBX_DEFAULT_URL изменен с zabbix.phpЭaction=dashboard.view на zabbix.phpЭaction=problem.view. Отображение четырех знаков после запятой кажется пустой тратой драгоценного строкового пространства на странице «Проблемы».

Почему такая точность? Неудобно еще и то, что при входе новых пользователей они по умолчанию попадают в личный кабинет, хотя по факту они должны сразу перейти на страницу с проблемами.

ДБС-005 - Увеличена ширина всплывающего окна на странице "Проблемы" при нажатии на проблему.

Здесь все просто – если элемент данных имеет очень длинное имя, то он просто не умещается в ширину выпадающего списка и его имя обрезается.

Из-за этого в случае нескольких элементов данных со схожими именами нам было не реально понять, какой из них нам нужен.

На скриншоте ниже список обрезан примерно по красной линии.



Zabbix 4.4 Не поддерживается - Но я решил продолжить его разработку

ДБС-006 - На странице «Проблемы» столбец «Теги» перенесен на позицию после столбца «Проблема», а также увеличена ширина столбца «Теги».

Это сделано для того, чтобы можно было легко выбрать сразу 2 столбца — Проблема и Теги и скопировать это, например, в чат клиента.

Более того, теги — один из важных элементов, и их расположение в последнем столбце меня очень смущало.



Zabbix 4.4 Не поддерживается - Но я решил продолжить его разработку

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.

Zabbix 4.4 Не поддерживается - Но я решил продолжить его разработку

ZBXNEXT-5879 - Фильтрация в правилах обнаружения.

Теперь вы можете фильтровать по группе хостов, хосту, типу элемента обнаружения, статусу правила обнаружения и другим параметрам.

Кроме того, добавленный первый столбец в списке теперь всегда отображает хост правила обнаружения.



Zabbix 4.4 Не поддерживается - Но я решил продолжить его разработку

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.

Zabbix 4.4 Не поддерживается - Но я решил продолжить его разработку

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

Вместе с данным постом часто просматривают:

Автор Статьи


Зарегистрирован: 2019-12-10 15:07:06
Баллов опыта: 0
Всего постов на сайте: 0
Всего комментарий на сайте: 0
Dima Manisha

Dima Manisha

Эксперт Wmlog. Профессиональный веб-мастер, SEO-специалист, дизайнер, маркетолог и интернет-предприниматель.