Thank you for reading this post, don't forget to subscribe!
Введение или что нового в zabbix 3.2
Начнем, как обычно, с рассмотрения наиболее интересных и полезных нововведений. Вот список наиболее значимых из них с моей точки зрения, с учетом моего опыта использования заббикса:
- У триггеров появилось новое поле для тэгов. По тэгам их теперь можно будет группировать. Думаю, это полезно будет практически всем. Хорошее нововведение, о котором я даже не задумывался раньше.
- Проблемы можно будет закрывать вручную. А вот этого я очень ждал. Иногда висит какая-то проблема. Ты о ней уже давно знаешь, но не можешь по тем или иным причинам исправить. Нужно либо триггер отключать, любо исправлять. Теперь проблему можно будет просто закрыть.
- Вложенные группы узлов. Буквально недавно обратил внимание на это ограничение, когда строил очень распределенную структуру. Оказалось, что группу в группе создать нельзя. Мне было очень неудобно из-за этого, пришлось придумывать коды в названиях групп, чтобы как-то размечать их. Теперь группы могут быть вложенными.
- Появилась совершенно новая страничка с проблемами. На мой взгляд получилось удобно и функционально. Классное нововведение.
- Новое условие закрытия триггера. Тоже полезное нововведенеие, сейчас расскажу, о чем речь. К примеру, у вас стоит оповещение - при превышении 85-ти градусов температуры процессора идет уведомление о проблеме. Если у вас температура будет прыгать в районе 83-87 вы будете постоянно получать уведомления об открытии и закрытии проблемы. Теперь можно установить в триггере, что он считается закрытым, только если температура упала ниже 75.
- Просмотр автоматически созданных элементов данных и работа с ними как с обычными элементами. Удобная штука, которая позволит быстро очистить хост от лишнего мусора, например в виндовом шаблоне в автообнаруженных сетевых интерфейсах.
Там много разных нововведений, я отметил лишь те, что показались удобными мне. Подробнее со списком изменений можно познакомиться в официальной документации. Перейдем непосредственно к обновлению. Делать будем по той же схеме, что и раньше, при обновлении с 2.4 до 3.0.
Подготовка к обновлению
Я опишу процедуру обновления zabbix до 3.2 на примере CentOS 7.
Останавливаем сервер и делаем на всякий случай бэкап базы данных:
1 2 |
# 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
Очищаем и пересоздаем кэш yum:
1 2 |
# yum clean all # yum makecache |
К обновлению подготовились, можно приступать.
Установка обновления zabbix 3.0 до 3.2
Выполняем непосредственно обновление zabbix:
1 |
# yum install zabbix-server-mysql zabbix-web-mysql zabbix-agent |
Подтверждаете установку и ждете обновления. На этом все, проблем никаких не должно возникнуть. Все конфиги остаются прежними, в отличие от перехода с версии 2.4 до 3.0. Там пришлось проверять конфиг самого сервера, конфигурацию httpd и подключение к mysql. В данном случае это не требуется. Запускаете сервер с агентом и проверяете работу:
1 2 |
# systemctl start zabbix-server # systemctl start zabbix-agent |
Для проверки посмотрите на лог файл сервера. Там должны увидеть информацию об обновлении базы данных и успешном запуске сервера:
Если все в порядке, то заходите в веб интерфейс и тестируйте нововведения.
Сам я столкнулся с одной ошибкой, связанной с тем, что у меня zabbix работает на web сервере nginx. Если у вас zabbix настроен на nginx, или httpd работает не под пользователем apache, то необходимо выполнить еще пару действий, связанных с изменением прав доступа. По умолчанию подразумевается, что заббикс будет работать под apache, поэтому конфигурационные файлы создаются с правами доступа пользователя apache. Если вы это не измените и попытаетесь войти в web интерфейс, то ничего не получится. Увидите ошибку сервера в браузере, а в логах nginx будет следующее:
1 2 |
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:
1 2 |
# chown -R nginx. /etc/zabbix/web # chown -R nginx. /usr/share/zabbix |
После этого веб интерфейс заработает.