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

Накануне вышла новая версия системы мониторинга Zabbix 3.0. Я люблю эту систему больше остальных и постоянно ее использую. Поэтому практически сразу было принято решение обновить одну из рабочих систем 2.4 до последней версии 3.0 и посмотреть на нее. Заодно написать инструкцию по обновлению.

Углубленный онлайн-курс по MikroTik

Научиться настраивать MikroTik с нуля или систематизировать уже имеющиеся знания можно на углубленном онлайн-курcе по администрированию MikroTik. Автор курcа – сертифицированный тренер MikroTik Дмитрий Скоромнов. Более 40 лабораторных работ по которым дается обратная связь. В три раза больше информации, чем в MTCNA.

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

Здесь вы можете прочитать об обновления zabbix 3.0 до 3.2.

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

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

Акцент сделан на новом интерфейсе. Лично мне он не очень понравился. Выглядит свежо, но не так наглядно, как старый. Конечно, это субъективно и скорее всего я просто привык к старому внешнему виду. Так что это только мое ощущение. Но лично из-за него мне не хочется пока полностью обновляться на 3.0, надо привыкнуть немного. Из-за того, что убрали почти все рамки в элементах дизайна, он стал сливаться, взгляд хуже выхватывает необходимые данные.

Из тех изменений, что лично мне помогут в моих кейсах по использованию заббикс, так это однозначно авторизация по smtp. Наконец-то они это сделали. Теперь можно обойтись без костылей для отправки уведомлений с smtp авторизацией. Второе, на что обратил внимание - продвинутый планировщик в итемах. Теперь можно указать к итему расписание опроса, к примеру с 9 до 18 по рабочим дням. Это удобно, реально не хватало раньше. Еще полезная фишка - обнаружение служб windows.

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

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

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

В качестве подопытного у нас будет CentOS 7.

Обновление zabbix на CentOS 7

Процедура обновления описана в официальном руководстве. Там просто перечислены этапы. Мы же подробно остановимся на каждом этапе и выполним все необходимые действия в консоли.

Первым делом останавливаем zabbix 2.4:

# systemctl stop zabbix-server

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

# /usr/bin/mysqldump --opt -v --databases zabbix -uzabbix -ppassword | /usr/bin/gzip -c > /root/zabbix.sql.gz

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

Добавляем репозиторий для версии 3.0:

# rpm -ivh http://repo.zabbix.com/zabbix/3.0/rhel/7/x86_64/zabbix-release-3.0-1.el7.noarch.rpm

Если получаем ошибку:

file /etc/yum.repos.d/zabbix.repo from install of zabbix-release-3.0-1.el7.noarch conflicts with file from package zabbix-release-2.4-1.el7.noarch

то нужно удалить предыдущий репозиторий:

# yum remove zabbix-release-2.4-1.el7.noarch

И снова попытаться установить новый.

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

# yum clean all
# yum makecache
Обращаю внимание на этот момент. Я первый раз обновлялся и забыл про кэш. Очень долго не мог понять, почему yum мне упорно говорит при обновлении, что у меня уже стоят последние версии zabbix, хотя репозиторий подключен от версии 3.0.

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

Теперь можно непосредственно обновлять. Устанавливаем новые версии:

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

Обновление zabbix 2.4 до 3.0

Проверяем файл с конфигурацией web интерфейса в настройках httpd по адресу /etc/httpd/conf.d. Там должен быть только один zabbix.conf. Редактируем его - снимаем комментарий со строчки:

php_value date.timezone Europe/Moscow

указываем в ней свой часовой пояс. Перезапускаем httpd:

# systemctl restart httpd

Редактируем новый конфиг заббикс сервера /etc/zabbix/zabbix_server.conf.rpmnew, указываем в нем данные для подключения к mysql базе:

DBName=zabbix
DBUser=zabbix
DBPassword=zabbix

Остальное можно оставить по-умолчанию, если вы не делаете дополнительных настроек. Переносите или перезаписываете старый конфиг, а новый переименовываете в zabbix_server.conf:

# cp /etc/zabbix/zabbix_server.conf.rpmnew /etc/zabbix/zabbix_server.conf
cp: overwrite ‘/etc/zabbix/zabbix_server.conf’? y

Запускаем обновленный zabbix 3.0:

# systemctl start zabbix-server

Смотрим лог /var/log/zabbix/zabbix_server.log. Там должна быть информация об обновлении структуры базы:

9697:20160220:000843.919 starting automatic database upgrade
9697:20160220:000844.029 completed 0% of database upgrade
9697:20160220:000844.129 completed 1% of database upgrade
9697:20160220:000844.329 completed 2% of database upgrade
9697:20160220:000844.485 completed 3% of database upgrade
9697:20160220:000844.640 completed 4% of database upgrade

Дожидаетесь окончания и проверяете веб интерфейс заббикса по старому адресу. Все должно работать на новой версии. Если обновляли и агента, то не забудьте его перезапустить на всякий случай:

# systemctl restart zabbix-agent

Заключение

Я очень рад, что такая качественная и серьезная система мониторинга, при том абсолютно бесплатная, развивается и выходят новые версии. Приятно пользоваться современным продуктом. Есть хорошая документация, сайт с полной информацией о продукте. Рекомендую всем, кто выбирает систему мониторинга использовать Zabbix 3.0 По словам разработчиков, они активно работают над продуктом. На подходе очередное обновление 3.2, где будут дополнительные изменения функционала. Я планирую продолжить цикл статей по настройке заббикса.

upd. 02.03.2016 Небольшое дополнение после пары недель эксплуатации новой версии.

Если вы настраивали мониторинг температуры по моей статье, либо если у вас есть свои скрипты сбора данных, исполняемых на стороне клиента, то вам надо обратить внимание на еще одну настройку сервера - Timeout. В конфиге 3-й версии сервера таймаоут по-умолчанию 4 секунды. В моем случае с измерением температуры, скрипт на клиенте не успевал за это время отдавать данные. В результате в логах сервера постоянно было:

11864:20160302:145628.456 Zabbix agent item "Temperature.CPU" on host "fileserver" failed: first network error, цait for 15 seconds
11864:20160302:145636.475 resuming Zabbix agent checks on host "1Csrv": connection restored
11864:20160302:145640.478 Zabbix agent item "Temperature.CPU1" on host "1Csrv" failed: first network error, wait for 15 seconds
11864:20160302:145643.488 resuming Zabbix agent checks on host "fileserver": connection restored
11864:20160302:145647.492 Zabbix agent item "Temperature.CPU" on host "fileserver" failed: first network error, wait for 15 seconds
11864:20160302:145655.513 resuming Zabbix agent checks on host "1Csrv": connection restored
11864:20160302:145703.150 resuming Zabbix agent checks on host "fileserver": connection restored

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

Причем проблемы были только на некоторых хостах, не на всех. Там, где скрипт не успевал отработать за 4 секунды, была ошибка. После увеличения параметра Timeout на сервере до 15-ти секунд все проблемы с доступностью хостов исчезли.

Помогла статья? Подписывайся на telegram канал автора

Анонсы всех статей, плюс много другой полезной и интересной информации, которая не попадает на сайт.

Дополнительные материалы по Zabbix

Углубленный онлайн-курс по MikroTik.

Научиться настраивать MikroTik с нуля или систематизировать уже имеющиеся знания можно на углубленном онлайн-курcе по администрированию MikroTik. Автор курcа – сертифицированный тренер MikroTik Дмитрий Скоромнов. Более 40 лабораторных работ по которым дается обратная связь. В три раза больше информации, чем в MTCNA.
Рекомендую полезные материалы по Zabbix:
Настройки системы
  • Установка 4.0
  • Обновление 3.0 -> 3.2
  • Обновление 3.4 -> 4.0
  • Установка Zabbix Proxy
  • Работа на NGINX
Видео и подробное описание установки и настройки Zabbix 4.0, а также установка агентов на linux и windows и подключение их к мониторингу.
Подробное описание обновления системы мониторинга zabbix версии 3.4 до новой версии 4.0.
Пошаговая процедура обновления сервера мониторинга zabbix 2.4 до 3.0. Подробное описание каждого шага с пояснениями и рекомендациями.
Подробное описание установки и настройки zabbix proxy для организации распределенной системы мониторинга. Все показано на примерах.
Подробное описание установки системы мониторинга Zabbix на веб сервер на базе nginx + php-fpm.
Мониторинг служб и сервисов
 
  • Температура процессора
  • Nginx и php-fpm
  • Mysql репликация
  • Службы Linux
  • Рейд mdadm
  • Транки Asterisk
  • Synology
Мониторинг температуры процессора с помощью zabbix на Windows сервере с использованием пользовательских скриптов.
Настройка полноценного мониторинга web сервера nginx и php-fpm в zabbix с помощью скриптов и пользовательских параметров.
Мониторинг репликации mysql с помощью Zabbix. Подробный разбор методики и тестирование работы.
Описание настройки мониторинга tcp служб с помощью zabbix и его инструмента простых проверок (simple checks)
Настройка мониторинга рейда mdadm с помощью zabbix. Подробное пояснение принципа работы и пошаговая инструкция.
Подробное описание мониторинга регистраций транков (trunk) в asterisk с помощью сервера мониторинга zabbix.
Подробная инструкция со скриншотами по настройке мониторинга по snmp дискового хранилища synology с помощью сервера мониторинга zabbix.
Мониторинг различных значений
  • Мониторинг сайта
  • Мониторинг бэкапов
  • Размер бэкапа
  • Делегирование домена
  • Значения из текстового файла
  • Мониторинг логов
Настройка мониторинга web сайта в zabbix. Параметры для наблюдения - доступность сайта, время отклика, скорость доступа к сайту.
Один из способов мониторинга бэкапов с помощью zabbix через проверку даты последнего изменения файла из архивной копии с помощью vfs.file.time.
Подробное описание настройки мониторинга размера бэкапов в Zabbix с помощью внешних скриптов.
Пример настройки мониторинга за временем делегирования домена с помощью Zabbix и внешнего скрипта. Все скрипты и готовый шаблон представлены.
Описание мониторинга лог файлов в zabbix на примере анализа лога программы apcupsd. Отправка оповещений по событиям из лога.

Автор Zerox

Владимир, системный администратор, автор сайта. Люблю настраивать сервера, изучать что-то новое, делиться знаниями, писать интересные и полезные статьи. Открыт к диалогу и сотрудничеству. Если вам интересно узнать обо мне побольше, то можете послушать интервью. Запись на моем канале - https://t.me/srv_admin/425 или на сайте в контактах.

8 комментариев

  1. Дмитрий

    Добрый день! У меня был установлен заббикс 2.4 уже 2 года. Прочитав Вашу статья я решил обновить его до версии 3 а затем и до 3.2
    У меня Centos 6. Все делал по инструкции (репозиторий для своей версии ОС скачал) и вроде все шло хорошо, но на стадии:
    Проверяем файл с конфигурацией web интерфейса в настройках httpd по адресу /etc/httpd/conf.d. Там должен быть только один zabbix.conf.
    Было замечено, что у меня старый zabbix.conf переименовался с префиксом .rpmnew, а нового ничего не появилось. Пробовал удалять и заново переустанавливать zabbix-server-mysql zabbix-web-mysql но ничего не получилось.
    Сейчас при запуске сервер запускается, а web нету. Установлен httpd.
    Перед переустановкой сохранял php скрипты командой из вашей следующей статьи по обновлению до версии 3,2 cp -R /usr/share/zabbix /root .
    Вопрос как дальше жить и куда копать? :-(

    • С префиксом .rpmnew обычно создается новый конфиг, а старый остается со старым именем. Но в общем, ничего страшного, можно вручную создать этот файл. Содержание его должно быть следующее:

      Alias /zabbix /usr/share/zabbix
      
      <Directory "/usr/share/zabbix">
          Options FollowSymLinks
          AllowOverride None
          Require all granted
      
          <IfModule mod_php5.c>
              php_value max_execution_time 300
              php_value memory_limit 128M
              php_value post_max_size 16M
              php_value upload_max_filesize 2M
              php_value max_input_time 300
              php_value always_populate_raw_post_data -1
              php_value date.timezone Europe/Moscow
          </IfModule>
      </Directory>
      
      <Directory "/usr/share/zabbix/conf">
          Require all denied
      </Directory>
      
      <Directory "/usr/share/zabbix/app">
          Require all denied
      </Directory>
      
      <Directory "/usr/share/zabbix/include">
          Require all denied
      </Directory>
      
      <Directory "/usr/share/zabbix/local">
          Require all denied
      </Directory>

      Пути следует заменить на свои, перезапустить httpd и зайти на веб интерфейс.

      • Дмитрий

        Теперь ошибка стала другая

        Internal Server Error

        The server encountered an internal error or misconfiguration and was unable to complete your request.

        В логах Апатч пишет
        [Thu Jan 26 18:14:11 2017] [notice] Apache/2.2.15 (Unix) DAV/2 PHP/5.3.3 mod_ssl/2.2.15 OpenSSL/1.0.1e-fips mod_perl/2.0.4 Perl/v5.10.1 configured -- re$
        [Thu Jan 26 18:14:14 2017] [crit] [client 192.168.11.35] configuration error: couldn't perform authentication. AuthType not set!: /zabbix/
        [Thu Jan 26 18:14:18 2017] [crit] [client 192.168.11.35] configuration error: couldn't perform authentication. AuthType not set!: /

        • Дмитрий

          Нашел, что ошибка в Апатче 2.2 из-за строчки Require all granted и ее надо заменить на Allow from all. А так в целом все пути проверил все должно было заработать. Но ошибка стала HTTP ERROR 500 и без всяких надписей.

          Вот теперь у меня остался один вопрос, вы не подскажите как обратно всё вернуть?:-D

          • Не стоит отчаиваться :) Ошибка у тебя простая. Нужно сконфигурировать web сервер. У меня нет под рукой конфига под 2.2, похоже мой просто не подошел из-за разницы версий. Что в файле, который стал .rpmnew? Там должен быть подходящий конфиг.

            Надо просто все аккуратно проверить. Можно скачать исходники какой-нибудь старой версии и посмотреть там файл конфигурации для httpd 2.2, либо написать самому. Я думаю в интернете не будет большой проблемы его найти.

            Потом нужно проверить все пути и права доступа к папкам. Веб сервер должен иметь доступ к файлам со скриптами php от заббикса.

            В общем, эта проблема вполне решаема.

  2. Ростислав

    Спасибо за подсказку про Timeout! Получал такую же ошибку. Думал, что ошибся с настройками. По пять раз мануал перечитал. А оказалось, что по таймауту отваливается.

    • Да я сам какой-то скрипт отлаживал огромное количество времени и не мог понять, почему работает нестабильно. Он то успевал в таймаут отработать, то нет. Практически случайно догадался, что дело в нем.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Нажимая кнопку "Отправить комментарий" Я даю согласие на обработку персональных данных.
Используешь Telegram? Подпишись на канал автора →
This is default text for notification bar