Решение проблемы

Обновление Zabbix 3.0 до 3.2


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

Для чистой установки и настройки заббикс используйте отдельную статью — установка и настройка zabbix 3.2 на centos 7.

Содержание:

  • 1 Введение или что нового в zabbix 3.2
  • 2 Подготовка к обновлению
  • 3 Установка обновления zabbix 3.0 до 3.2
  • 4 Заключение
  • 5 Дополнительные материалы по Zabbix

Введение или что нового в zabbix 3.2

Обновление Zabbix 3.0 до 3.2

Начнем, как обычно, с рассмотрения наиболее интересных и полезных нововведений. Вот список наиболее значимых из них с моей точки зрения, с учетом моего опыта использования заббикса:

  • У триггеров появилось новое поле для тэгов. По тэгам их теперь можно будет группировать. Думаю, это полезно будет практически всем. Хорошее нововведение, о котором я даже не задумывался раньше.
  • Проблемы можно будет закрывать вручную. А вот этого я очень ждал. Иногда висит какая-то проблема. Ты о ней уже давно знаешь, но не можешь по тем или иным причинам исправить. Нужно либо триггер отключать, любо исправлять. Теперь проблему можно будет просто закрыть.
  • Вложенные группы узлов. Буквально недавно обратил внимание на это ограничение, когда строил очень распределенную структуру. Оказалось, что группу в группе создать нельзя. Мне было очень неудобно из-за этого, пришлось придумывать коды в названиях групп, чтобы как-то размечать их. Теперь группы могут быть вложенными.
  • Появилась совершенно новая страничка с проблемами. На мой взгляд получилось удобно и функционально. Классное нововведение.
  • Новое условие закрытия триггера. Тоже полезное нововведенеие, сейчас расскажу, о чем речь. К примеру, у вас стоит оповещение — при превышении 85-ти градусов температуры процессора идет уведомление о проблеме. Если у вас температура будет прыгать в районе 83-87 вы будете постоянно получать уведомления об открытии и закрытии проблемы. Теперь можно установить в триггере, что он считается закрытым, только если температура упала ниже 75.
  • Просмотр автоматически созданных элементов данных и работа с ними как с обычными элементами. Удобная штука, которая позволит быстро очистить хост от лишнего мусора, например в виндовом шаблоне в автообнаруженных сетевых интерфейсах.

Там много разных нововведений, я отметил лишь те, что показались удобными мне. Подробнее со списком изменений можно познакомиться в официальной документации. Перейдем непосредственно к обновлению. Делать будем по той же схеме, что и раньше, при обновлении с 2.4 до 3.0.

Подготовка к обновлению

Я опишу процедуру обновления zabbix до 3.2 на примере CentOS 7. Работать будем на следующей системе:

Версия CentOS

Останавливаем сервер и делаем на всякий случай бэкап базы данных:

# systemctl stop zabbix-server

# /usr/bin/mysqldump --opt -v --databases zabbix -uzabbix -ppassword | /usr/bin/gzip -c > /root/zabbix.sql.gz
zabbix название базы данных заббикса
-uzabbix ключ -u и дальше имя пользователя базы данных
-ppassword ключ -p и дальше пароль пользователя бд, если в пароле есть спецсимволы, экранируйте их одиночными кавычками, например вот так: -p’!8M#1b%dbZ*’

На всякий случай сохраним php скрипты админки, чтобы можно было оперативно запустить старую версию в случае нештатной ситуации:

# cp -R /usr/share/zabbix /root

Устанавливаем репозиторий версии zabbix 3.2:

# yum install http://repo.zabbix.com/zabbix/3.2/rhel/7/x86_64/zabbix-release-3.2-1.el7.noarch.rpm

Установка репозитория zabbix

Очищаем и пересоздаем кэш yum:

# yum clean all

# yum makecache

К обновлению подготовились, можно приступать.

Установка обновления zabbix 3.0 до 3.2

Обновление Zabbix 3.0 до 3.2

Выполняем непосредственно обновление zabbix:

# yum install zabbix-server-mysql zabbix-web-mysql zabbix-agent

Обновление zabbix

Подтверждаете установку и ждете обновления. На этом все, проблем никаких не должно возникнуть. Все конфиги остаются прежними, в отличие от перехода с версии 2.4 до 3.0. Там пришлось проверять конфиг самого сервера, конфигурацию httpd и подключение к mysql. В данном случае это не требуется. Запускаете сервер с агентом и проверяете работу:

# systemctl start zabbix-server

# systemctl start zabbix-agent

Для проверки посмотрите на лог файл сервера. Там должны увидеть информацию об обновлении базы данных и успешном запуске сервера:

лог zabbix-server

Если все в порядке, то заходите в веб интерфейс и тестируйте нововведения.

Сам я столкнулся с одной ошибкой, связанной с тем, что у меня zabbix работает на web сервере nginx. Если у вас zabbix настроен на nginx, или httpd работает не под пользователем apache, то необходимо выполнить еще пару действий, связанных с изменением прав доступа. По-умолчанию подразумевается, что заббикс будет работать под apache, поэтому конфигурационные файлы создаются с правами доступа пользователя apache. Если вы это не измените и попытаетесь войти в web интерфейс, то ничего не получится. Увидите ошибку сервера в браузере, а в логах nginx будет следующее:

PHP message: PHP Fatal error: require_once(): Failed opening required '/etc/zabbix/web/maintenance.inc.php' (include_path='.:/usr/share/pear:/usr/share/php') in /usr/share/zabbix/include/classes/core/ZBase.php on line 270" while reading response header from upstream, client: 78.27.225.129, server: zabbix.site.ru, request: "GET / HTTP/1.1", upstream: "fastcgi://unix:/var/run/php-fpm/php5-fpm.sock:", host: "zabbix.site.ru"

2016/09/19 17:57:07 [error] 973#0: *2227631 FastCGI sent in stderr: "PHP message: PHP Warning: require_once(/etc/zabbix/web/maintenance.inc.php): failed to open stream: Permission denied in /usr/share/zabbix/include/classes/core/ZBase.php on line 270

Чтобы это исправить, выставим права на папку /etc/zabbix/web и на всякий случай /usr/share/zabbix:

# chown -R nginx. /etc/zabbix/web

# chown -R nginx. /usr/share/zabbix

После этого веб интерфейс заработает.

Заключение

Сразу после обновления я проверил некоторые новые функции. Отредактировал триггеры в шаблонах, в которых хочу вручную закрывать проблемы. Этот функционал начинает работать только, если разрешен в свойствах триггера. Пробежался по другому функционалу. Надо теперь подумать, как использовать тэги, чтобы сделать работу с системой более удобной.

В общем, есть над чем подумать. Спасибо разработчикам за полезное обновление. Для меня система мониторинга zabbix вне конкуренции. Бесплатный и при этом очень качественный продукт, с которым приятно работать. Очень жду изменения внешнего вида графиков. Выглядят они архаично и не современно, обновление напрашивается, и разработчики об этом знают.


СМОТРИ ТАКЖЕ