Установка Zabbix 4.2a + MySQL 8 + Apache на CentOS 7

Главная Форумы SOFTWARE System settings Установка Zabbix 4.2a + MySQL 8 + Apache на CentOS 7

Просмотр 3 сообщений - с 1 по 3 (из 3 всего)
  • Автор
    Сообщения
  • #440
    E-tec
    Хранитель

      В этой теме я расскажу как развернуть Zabbix сервер на CentOS linux. Я использую (как всегда) минимальный для установки образ, на этот раз это будет CentOS-7-x86_64-Minimal-1810, скачать можно на оф. сайте CentOS. Для начала подготовим ОС для развертывания zabbix и скачаем необходимые для удобства пакеты:

      # yum update
      # yum install ssh mc net-tools nano wget

      Первым делом нужно отключить фаервол CentOS и и убрать его с авто загрузки, можно конечно поиграть с его правилами, но проще его выключить совсем:

      # systemctl stop firewalld
      # systemctl disable firewalld

      Теперь нужно добавим репозиторий zabbix в нашу CentOS:
      # rpm -Uvh http://repo.zabbix.com/zabbix/4.1/rhel/7/x86_64/zabbix-release-4.1-1.el7.noarch.rpm

      Установим сервер с заббиксом
      # yum install zabbix-agent zabbix-server-mysql zabbix-web-mysql

      Сейчас, можно немного поправить конфиг apache (можно собственно не лезть и не менять нечего):
      # nano /etc/httpd/conf.d/zabbix.conf

      Нужно убрать комментарий со строки, выставить таймзону своего региона:

      В этой строке прописываем свою временную зону, я вписал Asia/Yekaterinburg. Как это сделаете, нужно перезагрузить апач:
      # service httpd restart

      Добавим сразу демон httpd в автозагрузку, чтоб его не мучать в следующие разы:
      # systemctl enable httpd

      Устанавливаем mysql
      # wget https://dev.mysql.com/get/mysql80-community-release-el7-1.noarch.rpm

      После завершения скачивания вы должны увидеть, что файл .rpm был сохранён. Теперь нам нужно подготовить репозиторий, чтобы позже мы смогли установить пакет MySQL в него. Наберите:
      # rpm -Uvh mysql80-community-release-el7-1.noarch.rpm

      Как только 100% достигнуто, можно переходить к установке MySQL на вашем сервере.
      # yum install mysql-server

      Если вы увидите сообщение Complete! в конце процесса установки, это будет означать, что установка MySQL на вашем сервере прошла успешно. Теперь надо запустить sql сервер командой:
      # systemctl start mysqld

      Команда systemctl не показывает вывод некоторых команд. Чтобы убедиться, что демон запущен, введите:
      # systemctl status mysqld

      Если сервер MySQL был запущен, в выводе команды будут строки:

      Примечание: Автозапуск MySQL настраивается самостоятельно во время установки. Чтобы отключить автозапуск, введите:
      # systemctl disable mysqld

      Во время установки MySQL генерирует временный пароль для root-пользователя. Найдите его в mysqld.log с помощью команды:

      # grep 'temporary password' /var/log/mysqld.log
      2016-12-01T00:22:31.416107Z 1 [Note] A temporary password is generated for root@localhost: mqRfBU_3Xk>r

      Запишите пароль, чтобы пройти аутентификацию. Конечно, этот пароль нужно заменить более сложным. Стандартная политика требует, чтобы пароль состоял из 12 символов (включая буквы верхнего и нижнего регистра, цифры и специальные символы). Подключаемся к БД
      # mysql -proot -p

      Меняем временный пароль, на свой командой:
      > ALTER USER 'root'@'localhost' IDENTIFIED BY 'PASSWORD';

      Далее создаем новую базу данных и пользователя:

      > create database zabbix character set utf8 collate utf8_bin;
      > create user zabbix@localhost identified with mysql_native_password by 'PASSWORD';

      Дадим права новому пользователю и перезапустим список привилегий

      > grant all privileges on zabbix.* to zabbix@localhost;
      > FLUSH PRIVILEGES;

      Выходим из mysql командой quit.

      Импортируем данные в созданную БД:
      # zcat /usr/share/doc/zabbix-server-mysql*/create.sql.gz | mysql -u zabbix -p zabbix
      Вводим пароль пользователя zabbix из mysql и ждем пока закончится импорт базы данных… (У меня импорт занял около 10 минут, набираемся терпением и ждем).

      Далее идем в конфигурацию zabbix-server
      nano /etc/zabbix/zabbix_server.conf

      ищем строки отвечающие за подключение к базе данный mysql и дописываем пароль для подключения пользователя zabbix

      После того как база импортировалась запускаем zabbix

      # systemctl start zabbix-server
      # systemctl enable zabbix-server

      Смотрим логи zabbix-server
      # cat /var/log/zabbix/zabbix_server.log

      Если есть в логе есть ошибки с строками как у меня ниже

      Идем настраивать SELinux. Это нормально, сейчас настроим SELinux для нормальной работы Zabbix. Для этого устанавливаем пакет policycoreutils-python, скачиваем готовый модуль для SELinux и применяем его.

      # yum install policycoreutils-python
      # cd ~
      # curl https://support.zabbix.com/secure/attachment/53320/zabbix_server_add.te > zabbix_server_add.te
      # checkmodule -M -m -o zabbix_server_add.mod zabbix_server_add.te
      # semodule_package -m zabbix_server_add.mod -o zabbix_server_add.pp
      # semodule -i zabbix_server_add.pp

      Теперь нам надо перезапустить zabbix-server.
      # systemctl restart zabbix-server

      Снова проверяйте log файл. Теперь ошибок быть не должно. Как я уже сказал, если у вас отключен SELinux, то делать описанные выше манипуляции с модулем не надо.

      Идем в браузер на IP адрес сервера zabbix в моем случае это 192.168.1.111
      http://192.168.1.111/zabbix

      начинаем установку сервера

      выполняем шаги установки в веб интерфейсе по очереди, соблюдая все правила, обратить внимание на подключение к MySQL правильно введите все данные, как закончили подключаемся к zabbix серверу через web интерфейс (стандартный логин Admin пароль zabbix), если в панели управления видим надпись Zabbix сервер запущен НЕТ, выполянем следующие действия:
      # nano /etc/zabbix/web/zabbix.conf.php

      Ищем строки:

      $ZBX_SERVER = 'Пишем IP адрес сервера вместо localhost';
      $ZBX_SERVER_PORT = '10051';
      $ZBX_SERVER_NAME = 'Пишем название сервера, если не указали ранее';

      Перезагружаем zabbix сервер
      # service zabbix-server restart

      Если не помогло, копаем дальше… Проверьте, чтобы все параметры базы данных в zabbix.conf.php(/etc/zabbix/web/zabbix.conf.php) и zabbix_server.conf(/etc/zabbix/zabbix_server.conf) были правильные. В том числе: DBHost, DBName, DBUser, DBPassword.

      Измените параметры SElinux:

      # setsebool -P httpd_can_network_connect on
      # setsebool -P httpd_can_connect_zabbix 1
      # setsebool -P zabbix_can_network 1

      После этих команд нужно перезапустить zabbix-server и httpd сервер

      # service zabbix-server restart
      # service httpd restart

      После этого должно точно заработать, если все данные были верно введены!

      На этом установка сервера завершена!
      Настройку клиентов смотрим -> ТУТ

      Наглядный пример:

      • Тема изменена 5 лет, 4 месяца назад пользователем E-tec.
      • Тема изменена 5 лет, 4 месяца назад пользователем E-tec.
      • Тема изменена 5 лет, 4 месяца назад пользователем E-tec.
      • Тема изменена 5 лет, 4 месяца назад пользователем E-tec.

      #934
      kramer75
      Участник

        1.в строке yum install ssh mc net-tools nano wget

        ssh не установится , видать лишнее

        2. в строке yum install zabbix-agent zabbix-server-mysql zabbix-frontend-php zabbix-web-mysql

        пакет zabbix-frontend-php не находит. Вроде он для Debian\Ubuntu.

        3. по такому замечанию systemctl disable mysqld после перезагрузки ПК sql и следственно zabbix работать не будет. и не работало.

        поставил по инструкции, кроме вышеизложеного появилась ошибка при регистрации zabbix server в вебпанели “Get value from agent failed: cannot connect to [[127.0.0.1]:10050]: [111] Connection refused
        нужно запустить агента: systemctl start zabbix-agent
        и в автозагрузку его вставить: systemctl enable zabbix-agent

        #966
        E-tec
        Хранитель

          1.в строке yum install ssh mc net-tools nano wget

          ssh не установится , видать лишнее

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

          2. в строке yum install zabbix-agent zabbix-server-mysql zabbix-frontend-php zabbix-web-mysql

          пакет zabbix-frontend-php не находит. Вроде он для Debian\Ubuntu.

          Действительно, этот пакет есть, только в репозиториях zabbix 4.0, для 4.2 похоже он не нужен. Проверил дополнительно, пакет не найден. Спасибо за информацию удалю из мануала!

          3. по такому замечанию systemctl disable mysqld после перезагрузки ПК sql и следственно zabbix работать не будет. и не работало.

          Естественно, на то это и было выделено в Примечание, для тех кто хочет обновить или просто остановить демона

          поставил по инструкции, кроме вышеизложеного появилась ошибка при регистрации zabbix server в вебпанели “Get value from agent failed: cannot connect to [[127.0.0.1]:10050]: [111] Connection refused
          нужно запустить агента: systemctl start zabbix-agent
          и в автозагрузку его вставить: systemctl enable zabbix-agent

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

        Просмотр 3 сообщений - с 1 по 3 (из 3 всего)
        • Для ответа в этой теме необходимо авторизоваться.
        Авторизация
        *
        *
        Регистрация
        *
        *
        *
        Пароль не введен
        *
        Генерация пароля