Установка и настройка zabbix 3.4 на centos 7

Установка Zabbix на CentOS 6

  • 1 Установка Zabbix на CentOS 6.
    • 1.1 1. Установка Zabbix.
    • 1.2 2. Настройка Iptables
    • 1.3 3. Установка и настройка Mysql-сервера.
    • 1.4 4. Настройка SELinux
    • 1.5 Источники:

1. Установка Zabbix

Устанавливаем репозиторий l-sys.# rpm -ivh http://repo.zabbix.com/zabbix/2.4/rhel/6/x86_64/zabbix-release-2.4-1.el6.noarch.rpmУстанавливаем Zabbix-сервер для Mysql, веб-интерфейс и Zabbix-агент.# yum install zabbix-server-mysql zabbix-web-mysql zabbix-agent

2. Настройка Iptables

По умолчанию на CentOS 5 и 6 файервол разрешает все исходящие пакеты и разрешает входящие по 22 порту для SSH, все остальные входящие пакеты отбрасывается. Для работы Web-интерфейса Zabbix нам потребуется открыть 80 порт, а также 10051 для взаимодействия внешних Zabbix-агентов с сервером.

# iptables -A INPUT -p tcp -m state –state NEW -m tcp –dport 80 -j ACCEPT# iptables -A INPUT -p tcp -m state –state NEW -m tcp –dport 10051 -j ACCEPT# service iptables saveiptables: Saving firewall rules to /etc/sysconfig/iptables:[ OK ]Эти настройки работают в случае стандартно настроенного файервола, в котором существует правило пропускающее пакеты относящиеся к соединениям в состоянии related и established.

3. Установка и настройка Mysql-сервера

Устанавливаем, включаем в автозагрузку и запускаем сервис.# yum install mysql-server# chkconfig mysqld on# service mysqld startStarting mysqld: [ OK ]Запускаем скрипт-помощник по настройке mysql, изначально предназначенный для улучшения защищенности.

# mysql_secure_installationEnter current password for root (enter for none): # Пароль по умолчанию пустой, # поэтому смело жмем EnterSet root password? [Y/n] Y # Устанавливаем новый пароль rootNew password:Re-enter new password:Remove anonymous users? [Y/n] Y # Удаляем анонимных пользователейDisallow root login remotely? [Y/n] Y # Запрещаем удаленный вход для rootRemove test database and access to it? [Y/n] Y # Удаляем тестовую базу данныхReload privilege tables now? [Y/n] Y # Перезапускаем привилегииСоздаем базу данных для Zabbix-сервера в кодировке utf-8 с пользователем zabbix и паролем zabbix_passwd.# mysql -uroot -pEnter password:mysql> create database zabbix character set utf8 collate utf8_bin;mysql> grant all privileges on zabbix.* to zabbix@localhost identified by “zabbix_passwd”;mysql> flush privileges;mysql> quit;Переходим в каталог cd /usr/share/doc/zabbix-server-mysql-2.4.3/create и импортируем данные.# cd /usr/share/doc/zabbix-server-mysql-2.4.3/create# mysql -uzabbix -p zabbix < schema.sql# mysql -uzabbix -p zabbix < images.sql# mysql -uzabbix -p zabbix Hosts в Веб-интерфейсеДобавляем в автозапуск и запускаем:# chkconfig zabbix-agent on# service zabbix-agent startStarting ZABBIX agent: [ OK ]

SELinux (Security-Enhanced Linux) – это одна из реализаций принудительного контроля доступа, которая позволяет неплохо повысить безопасность системы, и если сервер доступен из интернета или используется в открытых сетях, то защитить его при помощи SELinux наша святая обязанность.В реализации SELinux под CentOS есть готовый модуль для Zabbix.# semodule -l | grep zabbixzabbix 1.2.0Он отлично работает с Zabbix 1.6 или 1.8, но в версии 2.0 перестают работать проверка запуска Zabbix-сервера из Web-интерфейса и внешние проверки на базе fping.Разрешаем php-скриптам web-интерфейса обращаться к порту 10051.# semanage port -a -t http_port_t -p tcp 10051Создаем текстовый файл zabbix_fping.te содержащий описание политики SELinux для fping:module zabbix_fping 1.0;require {type initrc_tmp_t;type ping_t;class file read;}allow ping_t initrc_tmp_t:file read;Компилируем, собираем и устанавливаем модуль.# checkmodule -M -m -o zabbix_fping.mod zabbix_fping.te# semodule_package -o zabbix_fping.pp -m zabbix_fping.mod# semodule -i zabbix_fping.ppНа этом настройка SELinux завершена, в ближайшее время постораюсь разместить все эти доработки в установочном скрите RPM-пакета.

Возможные ошибки:

Ошибка после установки Zabbix: Zabbix server is not running: the information displayed may not be currentЕсли вы установили серверную часть системы мониторинга Zabbix на системах RHEL (Oracle Linux, RedHat, CentOS) и вроде бы всё правильно, но в веб-интерфейсе вылазит ошибкаZabbix server is not running: the information displayed may not be currentЗдесь обычно 2 варианта:1. Самый простой – не запущен или не корректно сконфигурирован демон zabbix-server. Проверьте, совпадают ли номера портов в конфигах zabbix-server (/etc/zabbix/zabbix_server.conf) и zabbix-web (/etc/zabbix/web/zabbix.conf.php), а так же правильно ли настроено подключение к БД.2. Если всё в конфигурационных файлах правильно и демон запущен, это скорее всего значит, что вам надо или отключить систему защиты SeLinux совсем или – что будет корректнее – изменить политику доступа к портам системы для демона httpd.Проверим, что проблема действительно в настройках SeLinux:tail -f /var/log/audit/audit.log |grep -i avcДолжны периодически добавляться в лог строки вроде этой:type=AVC msg=audit(1395664684.460:297): avc: denied { name_connect } for pid=3078 comm=”httpd” dest=10051 scontext=unconfined_u:system_r:httpd_t:s0 tcontext=system_u:object_r:zabbix_port_t:s0 tclass=tcp_socketА команда:getsebool -a | grep zabbixдолжна в таком случае дать результат:zabbix_can_network –> offИзменим политику для httpd:setsebool -P httpd_can_network_connect onПроверяем:getsebool httpd_can_network_connectРезультат должен быть следующий:httpd_can_network_connect –> onТеперь веб-интерфейс Zabbix должен нормально подключаться к серверу через порт 10051 (по-умолчанию) и ошибка исчезнет. http://www.alsigned.ru/?p=2463https://www.zabbix.com/documentation/3.0/manual/installation/install_from_packages

http://geckich.blogspot.com/2014/03/zabbix-zabbix-server-is-not-running.html

Источник: https://support.rdb24.com/hc/ru/articles/213052825–%D0%A3%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%BA%D0%B0-Zabbix-%D0%BD%D0%B0-CentOS-6

Как установить Zabbix 3.4 на сервер CentOS 7

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

Он может использовать MySQL, PostgreSQL, SQLite, Oracle или IBM DB2 в качестве хранилища данных бэкенда.

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

Агент Zabbix может быть развернут на  машинах для мониторинга статистики, такие как загрузка ЦП, использование сети, дисковое пространство и т.д.. Модель клиент-сервер Zabbix позволяет разрешить нам собирать богатые наборы данных, которые могут быть полезны для мониторинга эксплуатационных характеристик веб-сайтов, услуг и различных приложений.

Установка Zabbix на CentOS, является довольно простой задачей и не должно занять более 15 минут. Это руководство должно работать на других системах Red Hat, так же хорошо, но было испытано и написано для CentOS 7 VPS. Давайте начнем с установки Zabbix на сервере CentOS 7.

1. Установка Apache и PHP

Установка Apache и PHP является довольно простой процесс, просто введите следующую команду:

yum install httpd php

2. Установка MariaDB

В этом руководстве мы будем использовать MySQL/MariaDB в качестве движка базы данных. Для того, чтобы установить сервер MariaDB, выполните следующую команду:

yum install mariadb-server

Когда установка будет завершена, запустите следующие команды для запуска и позволяющих запустить службу MariaDB:

systemctl start mariadb
systemctl enable = mariadb

Для того, чтобы защитить установку и для настройки корневого пароля:

mysql_secure_installation

3. Установка Zabbix на CentOS 7

Пакеты Zabbix не доступны в стандартном хранилище CentOS 7, поэтому сначала нам нужно установить официальный репозиторий Zabbix для CentOS, а затем установить все необходимые пакеты Zabbix. Выполните следующую команду, чтобы установить репозиторий Zabbix 3.4:

rpm -ivh http://repo.zabbix.com/zabbix/3.4/rhel/7/x86_64/zabbix-release-3.4-2.el7.noarch.rpm

После установки хранилища мы можем установить сервер Zabbix и веб-интерфейс Zabbix с поддержкой MySQL, используя следующую команду:

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

Команда выше также установит все необходимые пакеты PHP.

4. Создание базы данных MySQL для Zabbix

Создание пользователя базы данных и mysq для нашего Zabbix:

mysql -uroot -p
MariaDB [(none)]> CREATE DATABASE zabbix CHARACTER SET utf8;
MariaDB [(none)]> GRANT ALL PRIVILEGES ON zabbix.* TO 'zabbix'@'localhost' IDENTIFIED BY 'zabbix_passwd';
MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> q

Далее, нам необходимо импортировать схему Zabbix в базу данных Zabbix. Приведенная ниже команда предложит вам ввести пароль пользователя MySQL Zabbix:

zcat /usr/share/doc/zabbix-server-mysql-3.4.8/create.sql.gz | mysql -u zabbix -p zabbix

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

nano /etc/zabbix/zabbix_server.conf

и установите пароль базы данных Zabbix:

### Option: DBPassword
# Database password. Ignored for SQLite.
# Comment this line if no password is used.
#
# Mandatory: no
# Default:
DBPassword=zabbix_passwd

Имя базы данных и пользователь базы данных уже установлены в Zabbix по умолчанию.

5. Настройка PHP для Zabbix

Откройте файл конфигурации Zabbix PHP

nano /etc/httpd/conf.d/zabbix.conf

Раскомментируйте линию date.timezone и установите часовой пояс:

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 “Ваша зона”

перезапустите службу APACHE, что бы изменения вступили в силу:

systemctl restart httpd

6. Запустите сервер Zabbix

Теперь, когда установлены и настроены все другие услуги, мы можем запустить сервер Zabbix с помощью следующей команды:

systemctl start zabbix-server

Для того, чтобы проверить, запущена ли служба и правильно ли работает:

systemctl status zabbix-server

Вывод должен выглядеть следующим образом:

● zabbix-server.service – Zabbix Server Loaded: loaded (/usr/lib/systemd/system/zabbix-server.service; disabled; vendor preset: disabled) Active: active (running) since Fri 2018-04-13 12:22:30 CDT; 1min 14s ago Process: 6451 ExecStart=/usr/sbin/zabbix_server -c $CONFFILE (code=exited, status=0/SUCCESS) Main PID: 6453 (zabbix_server)

7. Доступ к веб-интерфейсу Zabbix

На последнем этапе этого руководства мы должны получить доступ к веб-интерфейсу Zabbix и завершить установку.

Для завершения установки откройте браузер и перейдите по адресу http://your_server_ip_address/zabbix/. Программа установки попросит вас ввести регистрационную информацию базы данных Zabbix и после завершения всех шагов установки, вы будете перенаправлены на страницу входа в систему веб-интерфейса Zabbix. Имя пользователя администратора по умолчанию является «admin» и пароль «zabbix».

Вот и все. Вы успешно установили сервер Zabbix 3.4 на вашем CentOS 7 VPS. Для получения дополнительной информации о том, как управлять установкой Zabbix, пожалуйста, обратитесь к официальному документации  Zabbix (https://www.zabbix.com/manuals).

Источник: https://andreyex.ru/centos-7/kak-ustanovit-zabbix-3-4-na-server-centos-7/

Инструкция как установить Zabbix на Centos 7

  • Скачиваем последний образ Centos. Готовим для него железо или виртуальную среду в соответствии с требованиями.
  • Окно “INSTALLATION SUMMARY”

Не забываем выставить свой часовой пояс в “DATE & TIME”, добавить раскладку в “KEYBOARD”, зайти в “INSTALLATION DESTINATION” и выбрать диск, выбрать тип установки в “SOFTWARE SELECTION”.

Многие ресурсы рекомендуют выставить “MINIMAL INSTALL”, а уже потом добавить все необходимое. Как показала практика, это может создать в дальнейшем проблемы при реализации задач и занять определенное время на поиск и установку необходимых компонентов, если вы не заядлый Линуксойд конечно. Я выбираю “GNOM Desktop”, в нем есть большинство необходимых утилит и GUI.

В “NETWORK & HOST NAME” настраиваем параметры сетевой карты.

Во время установки мы имеем возможность задать пароль root и создать рабочего пользователя, что и делаем. При создании пользователя в “ADVANCED” я его дополнительно включаю в группу “wheel”. Ждем окончания установки.

  • Заходим, принимаем или нет кучу вопросов об установке Centos. Запускаем терминал. Обновляем операционную систему командой

$ sudo yum -y update

  • Далее, я перехожу в режим su, хотя делать это не рекомендуется. Для удобства редактирования конфигурационных файлов, устанавливаем mc (есть другие, кому что нравится) командой
Читайте также:  Очистка и обслуживание почтовой базы postfix

# yum install mc

  • Отключаем SElinux редактированием файла

# mcedit /etc/sysconfig/selinux

изменением параметра

SELINUX=disabled

Очень внимательно читайте то, что изменяете. Данный параметр в средине файла, а не в конце. Перезагружаемся. Если после перезагрузки система не хочет стартовать и выдает ошибку “FAIL TO LOAD SELINUX POLICY. FREEZING”, значит вы промахнулись и для вас следующий абзац, внимательным – пропустить.

Листаем вниз до “linux16” или чего-то похожего и добавляем “SELinux = 0” в качестве одного из параметров.

После нажатия “CTRL-X” загружаемся. Возвращаемся к внимательным.

Теперь необходимо создать базу данных

  • Устанавливаем mariadb командой

# yum install -y mariadb mariadb-server

  • Запускаем mariadb и добавляем в автозагрузку

# systemctl start mariadb

# systemctl enable mariadb.service

  • Проводим первоначальную настройку с использованием скрипта

# /usr/bin/mysql_secure_installation

В процессе настройки мы задаем пароль для пользователя root (внимание, это не root системы), остальное по умолчанию.

# mysql -uroot –ppassword       (где password созданный вами, в предыдущем шаге, пароль)

> create database zabbix character set utf8 collate utf8_bin;

> grant all privileges on zabbix.* to zabbix@localhost identified by ‘zabbixpassword’; (пользователя zabbix@localhost и пароль zabbixpassword вы можете задать любые)

Приступаем к установке Zabbix

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

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

# zcat /usr/share/doc/zabbix-server-mysql-3.2.4/create.sql.gz | mysql -uroot -ppassword zabbix

Не забываем обращать внимание на наличие версионности в имени пути.

  • Редактируем файл конфигурации сервера Zabbix

# mcedit /etc/zabbix/zabbix_server.conf

DBHost=localhost

DBName=zabbix

DBUser=zabbix

DBPassword= zabbixpassword

  • Запускаем и добавляем в автозагрузку

# systemctl start zabbix-server

# systemctl enable zabbix-server

# cat /var/log/zabbix/zabbix_server.log

# mcedit /etc/httpd/conf.d/zabbix.conf

php_value date.timezone Europe/Moscow

Запускаем httpd и добавляем в автозагрузку

# systemctl start httpd

# systemctl enable httpd

http://localhost/zabbix

Вместо localhost можно ввести ip или dns вашего сервера и подключиться удаленно.

Возможно потребуется настройка локального фаервола. Можно его просто выключить # systemctl stop firewalld и удалить из автозагрузки # systemctl disable firewalld.

  • Заходим на Zabbix через web.

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

Далее все по умолчанию. Имя пользователя и пароль Admin zabbix. Первоначальная установка Zabbix завершена.

Источник: https://integrus.ru/blog/ustanovka-zabbix-na-centos-7.html

1 Red Hat Enterprise Linux/CentOS [Zabbix Documentation 3.4]

ru:manual:installation:install_from_packages:rhel_centos

Официальные пакеты Zabbix доступны для RHEL 7, Oracle Linux 7 и CentOS 7. В этой документации мы будем ссылаться на все 3, используя термин 'RHEL'.

Пакеты агента и прокси доступны также и для RHEL 6 и RHEL 5.

Установите пакет конфигурации репозитория. Этот пакет содержит файлы конфигурации yum (менеджера пакетов приложений).

RHEL 7:

# rpm -ivh https://repo.zabbix.com/zabbix/3.4/rhel/7/x86_64/zabbix-release-3.4-2.el7.noarch.rpm

RHEL 6:

# rpm -ivh https://repo.zabbix.com/zabbix/3.4/rhel/6/x86_64/zabbix-release-3.4-1.el6.noarch.rpm

RHEL 5:

# rpm -ivh https://repo.zabbix.com/zabbix/3.4/rhel/5/x86_64/zabbix-release-3.4-1.noarch.rpm

Веб-интерфейс Zabbix требует дополнительные пакеты, которые отсутствуют в базовой установке. Вам необходимо активировать репозиторий опциональных rpm пакетов в системе, где вы запускаете веб-интерфейс Zabbix:

RHEL 7:

# yum-config-manager –enable rhel-7-server-optional-rpms

Для установки сервера (пакеты доступны для RHEL 7, устарело для RHEL 6) с MySQL:

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

Для установки Zabbix прокси с MySQL:

# yum install zabbix-proxy-mysql

Для установки веб-интерфейса Zabbix (пакеты доступны для RHEL 7, устарело для RHEL 6) c MySQL:

# yum install zabbix-web-mysql

Замените 'mysql' на 'pgsql' в командах для использования PostgreSQL, или на 'sqlite' для использования SQLite3 (только прокси).

Создание базы данных

Для Zabbix сервера и прокси демонов требуется база данных. Она не требуется для работы Zabbix агента.

Если Zabbix сервер и прокси установлены на один хост, их базы данных необходимо создавать с разными именами!

Создайте базу данных, используя имеющиеся скрипты по созданию базы данных для MySQL или PostgreSQL.

Теперь импортируйте изначальную схему и данные сервера на MySQL:

# zcat /usr/share/doc/zabbix-server-mysql*/create.sql.gz | mysql -uzabbix -p zabbix

Вам будет предложено ввести пароль от недавно созданной базы данных.

На PostgreSQL:

# zcat /usr/share/doc/zabbix-server-pgsql*/create.sql.gz | sudo -u psql zabbix

Для прокси импортируйте изначальную схему:

# zcat /usr/share/doc/zabbix-proxy-mysql*/schema.sql.gz | mysql -uzabbix -p zabbix

Для прокси на PostgreSQL (или SQLite):

# zcat /usr/share/doc/zabbix-proxy-pgsql*/schema.sql.gz | sudo -u psql zabbix
# zcat /usr/share/doc/zabbix-proxy-sqlite3*/schema.sql.gz | sqlite3 zabbix.db

Измените zabbix_server.conf или zabbix_proxy.conf на использование созданной базы данных. Например:

# vi /etc/zabbix/zabbix_server.conf
DBHost=localhost
DBName=zabbix
DBUser=zabbix
DBPassword=

В параметре DBPassword используйте пароль от MySQL базы данных Zabbix; пароль пользователя PosgreSQL для PosgreSQL.

Используйте DBHost= для PostgreSQL. Вы возможно, захотите оставить настройку по умолчанию DBHost=localhost (или IP адрес), но в этом случае PostgreSQL будет использовать сетевой сокет при подключении к Zabbix. Смотрите раздел Настройка SELinux ниже для получения более подробных сведений.

Самое время запустить процесс Zabbix сервера:

# systemctl start zabbix-server

и добавить его в автозагрузку:

RHEL 7 и более новые версии:

# systemctl enable zabbix-server

RHEL до версии 7:

# chkconfig –level 12345 zabbix-server on

Замените 'zabbix-server' на 'zabbix-proxy', если вы установили Zabbix прокси.

Для RHEL 7 и поздних версий файл конфигурации Apache для Zabbix веб-интерфейса располагается в /etc/httpd/conf.d/zabbix.conf.

Если вы используете RHEL 6, пожалуйста, ознакомьтесь с разделом об использовании ​Zabbix веб-интерфейса на RHEL 6, как настроить веб-интерфейс.

Некоторые настройки PHP уже выполнены. Однако, необходимо раскомментировать “date.timezone” настройку и указать корректный для вас часовой пояс.

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 max_input_vars 10000
php_value always_populate_raw_post_data -1
# php_value date.timezone Europe/Riga

Теперь вы готовы приступить к выполнению шагов по установке веб-интерфейса, которые позволят вам получить доступ к недавно установленному Zabbix.

Официальный репозиторий Zabbix также поставляет пакеты fping, iksemel, libssh2. Эти пакеты располагаются в non-supported папке.

Если состояние SELinux в принудительном режиме, вам необходимо выполнить следующие команды, чтобы разрешить соединения между Zabbix веб-интерфейсом и сервером:

RHEL 7 и более новые версии:

# setsebool -P httpd_can_connect_zabbix on
Если база данных доступна через сеть (включая 'localhost' в случае PostgreSQL) вам также потребуется разрешить соединение между Zabbix веб-интерфейсом и базой данных:
# setsebool -P httpd_can_network_connect_db on

RHEL до версии 7:

# setsebool -P httpd_can_network_connect on # setsebool -P zabbix_can_network on

После завершения настройки веб-интерфейса и SELinux вам необходимо перезапустить веб-сервер Apache:

# service httpd restart

Для установки агента выполните

# yum install zabbix-agent

Для запуска агента выполните:

# service zabbix-agent start

Веб-интерфес Zabbix на RHEL 6 не поддерживается из-за версии PHP. Начиная с версии Zabbix 3.0, требуется PHP версии 5.4.0 и выше, тогда как в RHEL 6 самая последняя версия 5.3.3.

В большинстве случаев Zabbix сервер и веб-интерфейс устанавливается на одной машине. При обновлении с 2.2 на 3.0 Zabbix сервер выполняет обновление базы данных и веб-интерфейс перестает работать.

В этом случае нет возможности откатить изменения в базе данных поэтому пользователи должны обновить PHP используя сторонние пакеты.

Это причина по которой Zabbix сервер также считается устаревшим на RHEL 6.

Если вам всё же необходимо использовать Zabbix веб-интерфейс на RHEL 6 и вы уже обновили версию PHP используя сторонние пакеты, тогда вам необходимо сначала активировать репозиторий zabbix-deprecated:

  • откройте файл /etc/yum.repos.d/zabbix.repo
  • найдите раздел [zabbix-deprecated]
  • измените enabled=1
  • сохраните файл

Вам придётся сделать еще немного ручной настройки.

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

Мы поставляем 2 конфигурационных файла Apache в пакете Zabbix веб-интерфейса один для Apache 2.2, другой для 2.4, какой вам необходимо использовать с Apache выбирайте сами:

  • httpd22-example.conf
  • httpd24-example.conf

Для получения полного пути к файлам выполните:

$ rpm -ql zabbix-web | grep example.conf

Источник: https://www.zabbix.com/documentation/3.4/ru/manual/installation/install_from_packages/rhel_centos

Установка ZABBIX на Centos 7 – ИТ Проффи

Zabbix-очень мощная система мониторинга, для отслеживания различного состояния хостов (серверов, маршрутизаторов, свичей и т.д).

В состав zabbix входит:

  • сервер мониторинга, который собирает все данные, обрабатывает их анализирует и запускает скрипты оповещения.
  • База данных (Mysql, PostgreSQL, SQLite или Oracle)
  • Агент-демон который запускается на отслеживаемом узле и отправляет данные на сервер

Агент устанавливать на хост не обязательно, получать данные можно так же с помощью различных сервисов для мониторинга сетей, таких как snmp, ping, ftp, http и т.д.

Установка ZABBIX

Для установки на CentOS 6 установите пакет конфигурации репозитария. Этот пакет содержит yum файлы конфигурации.

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

Установите пакеты Zabbix.

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

 Установка только Zabbix агента на отслеживаемый хост.

# yum install zabbix-agent

 Устанавите mariadb

# yum install -y mariadb-server mariadb

Дбавляем в mariadb автозапуск

# systemctl enable mariadb.service

И запускаем

# systemctl start mariadb

Создайте базу данных zabbix и пользователя в MySQL

# mysql -uroot MariaDB [(none)]> create database zabbix character set utf8; MariaDB [(none)]>grant all privileges on zabbix.* to zabbix@localhost identified by 'zabbix'; MariaDB [(none)]> exit

Импортируйте начальную схему и данные.

# cd /usr/share/doc/zabbix-server-mysql-2.4.5/create/ # mysql -uroot zabbix < schema.sql # mysql -uroot zabbix < images.sql # mysql -uroot zabbix < data.sql

В текстовом редакторе откройте /etc/zabbix/zabbix_server.conf.

И добавте в файл

DBHost=localhost DBName=zabbix DBUser=zabbix DBPassword=zabbix

Запустите процесс Zabbix сервера.

# systemctl start zabbix-server

И добавте его в автозапуск

# systemctl enable zabbix-server.service

В файле /etc/httpd/conf.d/zabbix.conf найдите строчку # php_value date.timezone Europe/Riga, установите правильную временную зону и раскоментируйте. Перезапустите веб сервер

# systemctl restart httpd

После этого через любой браузер зайдите на адрес  http:///zabbix из браузера. Где продолжится установка через WEB интерфейс. Если не получается открыть страницу, проверте запущен ли у вас сервер apache

# systemctl status httpd

Отключите selinux. для этого  в файле /etc/selinux/config укажите

SELINUX=disabled,

и перезагрузите сервер. В файле /etc/sysconfig/iptables выше запрещающих правил пропишите строку:

-A INPUT -m state —state NEW -m tcp -p tcp —dport 80 -j ACCEPT

И перезапустите iptables

# systemctl restart iptables

 Вы должны увидить такую картинку

Нажимаем NEXT

Смотрим что у нас всё ОК и жмем NEXT.

здесь указываем параметры подключения к нашей MqSQL базе, которые мы настраивали вначале. Нажмите кнопку «Test connection» и убедитесь что есть подключение к базе. На остальных страницах можете просто нажатьNEXT. Вконце вы должны увидеть страницу авторизации.

По умолчанию логин/пароль Admin/zabbix. После входа вы должны увидеть такую страницу

Источник: https://ITProffi.ru/ustanovka-zabbix-na-centos-7/

Записки ИТ специалиста

В статье кратко описана установка системы мониторинга Zabbix 3-ей версии. Используются для работы nginx, php-fpm, MariaDB. Оптимизация этого ПО не будет. Желающие тонко настроить данные программы могут обратиться в Интернет.

Система мониторинга Zabbix будет ставиться на свежеустановленную систему Centos 7.2. Сервер виртуальный, на гипервизоре VMware.

Читайте также:  Как настроить микротик routerboard rb951g-2hnd

Подготовка системы

Заходим в систему под root

Для установки с чистого листа выполним 2 команды

#yum clean all
#yum makecache

Вместо родных VMware Tools поставим Open Source аналог

#yum install open-vm-tools

Перезагружаем сервер

#shutdown -r now

Обновляем систему

#yum update -y

Устанавливаем репозиторий EPEL

#yum install epel-release

Устанавливаем программы, которые в дальнейшем понадобятся

#yum install wget nano

Отключаем возможность заходить по ssh под пользователем root

#nano /etc/ssh/sshd_config

Меняем строку
PermitRootLogin yes на PermitRootLogin no

Перезагружаем сервис

#systemctl reload sshd.service

Отключаем SELinux, (холивар разводить не надо, это не рекомендуется делать, но упрощает жизнь)

#nano /etc/sysconfig/selinux

находим строку
SELINUX=permissive или SELINUX=enforcing

Приводи ее к виду
SELINUX=disabled

Перезагружаем сервер

#shutdown -r now

Настройка менеджера пакетов

Ограничиваем количество установленных версий пакетов до 3-х (например количество версий установленного ядра):

#nano /etc/yum.conf
installonly_limit=3

Устанавливаем дополнительное ПО для работы с менеджером пакетов

#yum -y install yum-cron yum-utils

Включаем проверку новых версий пакетов (информация о новых версиях будет приходить по почте, сами пакеты обновляться автоматически не будут):

#nano /etc/yum/yum-cron.conf

Изменяем строку download_updates

download_updates = no

Добавляем сервис в автозагрузку и стартуем его

#systemctl enable yum-cron.service
#systemctl start yum-cron.service

Устанавливаем Nginx

Добавляем репозиторий

#yum install http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm
#yum install nginx

Добавляем в автозагрузку:

# systemctl enable nginx.service

И запускаем:

# systemctl start nginx.service

Проверяем, запустился ли:

# netstat -tulpn | grep nginx

tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 21585/nginx: master

Eсли мы попробуем подключиться к серверу Nginx, по IP адресу сервера, то у нас ничего не получится т.к. этого не дает сделать файерволл, создадим разрешающее правило:

#firewall-cmd —zone=public —add-service=http —permanent

В будущем планирую подключаться через https, поэтому сразу добавляю

#firewall-cmd —zone=public —add-service=https —permanent

Перезапустим файерволл, чтобы применить изменения

#firewall-cmd —reload

Пробуем зайти и видим стандартную страницу Nginx. Отлично все работает.

Установка MariaDB

В Centos 7 вместо mysql устанавливается mariadb, которая имеет полную совместимость с mysql, в том числе понимает все ее команды. Так что ставим на сервер:

# yum install -y mariadb mariadb-server

Вносим изменения (полная настройка здесь не рассматривается)

# nano /etc/my.cnf

[mysqld] datadir=/var/lib/mysql socket=/var/lib/mysql/mysql.sock # Disabling symbolic-links is recommended to prevent assorted security risks symbolic-links=0 # Settings user and group are ignored when systemd is used. # If you need to run mysqld under a different user or group, # customize your systemd unit file for mariadb according to the

# instructions in http://fedoraproject.org/wiki/Systemd

#Движок по-умолчанию InnoDB
default_storage_engine=InnoDB #Писать каждую таблицу в отдельный файл

innodb_file_per_table=1

[mysqld_safe] log-error=/var/log/mariadb/mariadb.log

pid-file=/var/run/mariadb/mariadb.pid

# # include all files from the config directory #

!includedir /etc/my.cnf.d

Добавляем в автозапуск:

# systemctl enable mariadb.service

И запускаем:

# systemctl start mariadb.service

Проверяем, запустилась ли mysql:

# netstat -tulpn | grep mysql

tcp 0 0 0.0.0.0:3306 0.0.0.0:* LISTEN 2482/mysqld

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

# /usr/bin/mysql_secure_installation

Установка PHP-FPM

В базе идет php версии 5.4, поставим php 5.6.
Подключим репозиторий Remi:

#yum install http://rpms.remirepo.net/enterprise/remi-release-7.rpm
#yum install —enablerepo=remi,remi-php56 install php-opcache php-cli php-pear php-pdo php-mysqlnd php-pgsql php-pecl-memcache php-pecl-memcached php-gd php-mbstring php-mcrypt php-xml php-fpm php php-bcmath php-ldap

Выставляем свою таймзону:

#nano /etc/php.ini
date.timezone = «Europe/Moscow»

И правим параметр cgi.fix_pathinfo
cgi.fix_pathinfo=0

Создаем свой пул php-fpm:

#cp /etc/php-fpm.d/www.conf /etc/php-fpm.d/zabbix.conf
#nano /etc/php-fpm.d/zabbix.conf

; Start a new pool named ‘www’. ; the variable $pool can we used in any directive and will be replaced by the ; pool name (‘www’ here)

[zabbix]

Меняем юзера и группу user = nginx

group = nginx

#меняем стандартный порт
listen = 127.0.0.1:9001

# максимальное количество рабочих процессов pm.max_children = 10 # число запущенных процессов при старте сервера pm.start_servers = 2 # минимальное и максимальное количество процессов в простое pm.min_spare_servers = 1

pm.max_spare_servers = 3

; Set session path to a directory owned by process user php_value[session.save_handler] = files php_value[session.save_path] = /var/lib/php/zabbixsession

php_value[soap.wsdl_cache_dir] = /var/lib/php/zabbixwsdlcache

Сохраняем файл, выходим.

Создаем соответствующие директории:

#mkdir -p /var/lib/php/zabbixsession/
#mkdir -p /var/lib/php/zabbixwsdlcache

Даем права пользователю nginx:

#chown -R nginx:nginx /var/lib/php/zabbixsession/
#chown -R nginx:nginx /var/lib/php/zabbixwsdlcache

Прописываем в автозагрузку и стартуем:

# systemctl enable php-fpm.service
# systemctl start php-fpm.service

Проверяем, запустился ли PHP-FPM:

# netstat -tulpn | grep php tcp 0 0 127.0.0.1:9000 0.0.0.0:* LISTEN 2882/php-fpm: maste

tcp 0 0 127.0.0.1:9001 0.0.0.0:* LISTEN 2882/php-fpm: maste

Установка Zabbix

Есть прекрасное описание установки на сайте Zabbix, следуем ему

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

#rpm -ivh http://repo.zabbix.com/zabbix/3.0/rhel/7/x86_64/zabbix-release-3.0-1.el7.noarch.rpm
#yum install zabbix-server-mysql zabbix-web-mysql

Подготавливаем MAriaDB к работе с Zabbix. Информация отсюда (ссылка):
Заходим в MariaDB:

#mysql -uroot -p

Создаем БД zabbix, пользователя Zabbix с паролем ZabbixZabbix и даем права на БД.

create database zabbix character set utf8 collate utf8_bin; grant all privileges on zabbix.* to zabbix@localhost identified by ‘ZabbixZabbix’; # Обновляем привилегии flush privileges;

quit;

Сейчас версия zabbix 3.0.3, путь к файлам следующий:

/usr/share/doc/zabbix-server-mysql-3.0.3/

Обращаю внимание на выделенный путь. Возможно, путь будет другой, когда вы будете устанавливать, так как выйдет новая версия. Имейте это ввиду.
Устанавливаем таблицы:

#zcat /usr/share/doc/zabbix-server-mysql-3.0.3/create.sql.gz | mysql -uroot -pMysqlroot57$ndsr zabbix

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

# nano /etc/zabbix/zabbix_server.conf

Изменяем строки: Размер файл для логов в Мб, при достижении этого объема будет ротация

LogFileSize=10

DBHost=localhost DBName=zabbix DBUser=zabbix DBPassword=ZabbixZabbix

DBSocket=/var/lib/mysql/mysql.sock

Прописываем в автозагрузку

# systemctl enable zabbix-server

Запустим Zabbix сервер.

# systemctl start zabbix-server

Проверим статус

# systemctl status zabbix-server

Проверим логи на предмет ошибок

#tail -f /var/log/zabbix/zabbix_server.log

Создадим файл /etc/nginx/conf.d/zabbix.conf, где опишем параметры нашего виртуального хоста для веб-сервера nginx (в данном примере веб-сервер будет считать zabbix сервером по-умолчанию)

#nano /etc/nginx/conf.d/zabbix.conf

server { listen 80 default_server; server_name monit.xxx.ru; root /usr/share/zabbix; index index.php; # Disable access to important zabbix locations location ~* ^/(conf|api|include)($|/) { deny all;

}

location / { root /usr/share/zabbix; try_files $uri $uri/ /index.php?q=$uri&$args; } location ~ .php$

{

include /etc/nginx/fastcgi_params;

fastcgi_param DOCUMENT_ROOT /usr/share/zabbix; fastcgi_param SCRIPT_FILENAME /usr/share/zabbix$fastcgi_script_name;

fastcgi_param PATH_TRANSLATED /usr/share/zabbix$fastcgi_script_name;

fastcgi_param PHP_VALUE » max_execution_time = 300 memory_limit = 128M post_max_size = 16M upload_max_filesize = 2M max_input_time = 300 date.timezone = Europe/Moscow always_populate_raw_post_data = -1

«;

fastcgi_index index.php; fastcgi_buffers 8 256k; fastcgi_buffer_size 128k; fastcgi_intercept_errors on; fastcgi_busy_buffers_size 256k; fastcgi_temp_file_write_size 256k; fastcgi_pass 127.0.0.1:9001;

# fastcgi_pass unix:/var/lib/php/php-fpm.sock;

fastcgi_param QUERY_STRING $query_string; fastcgi_param REQUEST_METHOD $request_method; fastcgi_param CONTENT_TYPE $content_type;

fastcgi_param CONTENT_LENGTH $content_length;

}

location ~ /.
{ deny all; }

location = /favicon.ico { log_not_found off; access_log off;

}

}

Проверяем конфигурации nginx

# nginx -t nginx: the configuration file /etc/nginx/nginx.conf syntax is ok

nginx: configuration file /etc/nginx/nginx.conf test is successful

Делаем рестарт nginx

#systemctl restart nginx.service

Пытаемся зайти на веб-морду, получаем 500-ю ошибку

Смотрим, что у нас с правами

#ls -l /etc/zabbix/ total 16 drwxr-x—. 2 apache apache 32 Jun 26 14:27 web

-rw-r——. 1 root zabbix 14920 Jun 26 15:14 zabbix_server.conf

Права по-умолчанию выданы пользователю apache, меняем их на нужного пользователя

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

После этого заходим на веб-морду и настраиваем подключение.
Значения по-умолчанию для входа:

Логин: Admin
Пароль: zabbix

Обязательно меняем пароль пользователя Admin. Для этого в меню выбираем «Administrations -> Users» Далее выбираем нужного пользователя, кнопку «Change Password»

Для дальнейшей работы, необходимо открыть в файерволе порты TCP 10050 и 10051:

# firewall-cmd —permanent —add-port=10050/tcp
# firewall-cmd —permanent —add-port=10051/tcp

Перечитываем правила файерволла

# systemctl reload firewalld

Продолжение следует…

Источник: https://blog.volobuev.su/ustanovka-zabbix-3-0-3-na-centos-7-2/

Установка Zabbix 3.0 на CentOS 7 – Сэвен Комп

В данной статье мы подробно расскажем как установить систему мониторинга Zabbix 3.0 на CentOS 7 и о тех проблемах с которыми вы можете столкнуться.
Подразумеваем, что у вас установлена операционная система CentOS 7 и настроено сетевое подключение.

Установку производим из официальных репозиториев Zabbix. rpm -ivh http://repo.zabbix.com/zabbix/3.0/rhel/7/x86_64/zabbix-release-3.0-1.el7.noarch.rpm

yum install iptables-services mariadb-server mariadb policycoreutils-python zabbix-server-mysql zabbix-web-mysql zabbix-agent nmap traceroute -y

Подготавливаем к запуску и запускаем сервисы: systemctl enable iptables systemctl enable ip6tables systemctl enable mariadb.service systemctl enable httpd systemctl enable zabbix-server systemctl enable zabbix-agent systemctl start iptables systemctl start ip6tables

systemctl start mariadb.service

Подготавливаем базу: /usr/bin/mysql_secure_installation

И везде отвечам «Y»

Создаём базу данных: mysql -u root -p mysql> create database zabbix character set utf8; mysql> grant all privileges on zabbix.* to zabbix@localhost identified by ‘PASSWORD’;

mysql> exit

Если мы переносим Zabbix сервер с другого сервера то сначала делаем дамп базы со старого сервера:

mysqldump zabbix -p > zabbix-`date +%F`.sql

Далее загружаем дамп базы в новый сервер Zabbix

mysql zabbix -p < zabbix-`date +%F`.sql

Если мы разворачиваем новый сервер то импортируем начальную схему базы: cd /usr/share/doc/zabbix-server-mysql-3.0.0

zcat create.sql.gz | mysql -uroot zabbix

Редактируем настройки доступа к базе в файле /etc/zabbix/zabbix_server.conf vi /etc/zabbix/zabbix_server.conf DBHost=localhost DBName=zabbix DBUser=zabbix

DBPassword=zabbix

Запускаем остальные сервисы: systemctl start httpd systemctl start zabbix-server

systemctl start zabbix-agent

В броузере заходим по адресу: http://zabbix-frontend-hostname/zabbix и пользуемся.

Теперь расскажем о некоторых проблемах и методах их решения:

Если в web интерфейсе сервера появляется надпись «сервер Zabbix не запущен» то следует выполнить следующую комманду:
setsebool -P httpd_can_connect_zabbix on

Если Zabbix не отправляет E-Mail то выполните следующую комманду:
setsebool -P httpd_can_sendmail on

На форумах часто пишут, что штатно, Zabbix не отправляет сообщения на Jabber сервер и рекомендуют использовать различные скрипты, которые далеко не всегда работают под CentOS 7. На самом деле Zabbix отлично умеет отправлять сообщения штатными средствами.

После многочисленных исследований выяснилось следующее: Для отправки сообщений на Jabber, Zabbix может использовать всего три устаревших протокола шифрования: TLS_RSA_WITH_RC4_128_SHA — (RC4-SHA) TLS_RSA_WITH_RC4_128_MD5 — (RC4-MD5) TLS_RSA_WITH_3DES_EDE_CBC_SHA — (DES-CBC3-SHA) И если XMPP сервер не поддерживает эти протоколы, то отправки не происходит без каких либо внятных сообщений в логах на этот счёт.

Выходом является разрешение любого их этих протоколов на Jabber сервере, в порядке указанном выше по степени безопасности.

Для работы утилит traceroute и nmap и возможности отправки Jabber уведомлений необходимо создание следующих политик SELinux:

zabbix_jabber.te

module zabbix_jabber 1.0;

require { type zabbix_t; type jabber_client_port_t; class tcp_socket name_connect;

}

#============= zabbix_t ==============

#!!!! This avc can be allowed using the boolean ‘zabbix_can_network’
allow zabbix_t jabber_client_port_t:tcp_socket name_connect;

zabbix_nmap.te

module zabbix_nmap 1.0;

require { type zabbix_t; class capability net_raw; class packet_socket { bind ioctl create setopt getopt }; class rawip_socket { bind ioctl create setopt getopt }; class capability2 block_suspend;

}

#============= zabbix_t ==============

#!!!! This avc is allowed in the current policy
allow zabbix_t self:capability net_raw;

#!!!! This avc is allowed in the current policy
allow zabbix_t self:capability2 block_suspend;

Читайте также:  Установка python 3 на centos 7

#!!!! This avc is allowed in the current policy
allow zabbix_t self:packet_socket { bind ioctl create getopt setopt };

#!!!! This avc is allowed in the current policy
allow zabbix_t self:rawip_socket { bind ioctl create setopt getopt };

zabbix_sudo.te

module zabbix_sudo 1.0;

require { type sudo_exec_t; type zabbix_t; class capability sys_resource; class capability audit_write; class file { read getattr open execute execute_no_trans }; class netlink_audit_socket { write nlmsg_relay create read };

}

#============= zabbix_t ==============

#!!!! This avc is allowed in the current policy
allow zabbix_t self:capability sys_resource;

#!!!! This avc is allowed in the current policy
allow zabbix_t self:netlink_audit_socket { write nlmsg_relay create read };

#!!!! This avc is allowed in the current policy
allow zabbix_t sudo_exec_t:file { read getattr open execute execute_no_trans };

#!!!! This avc is allowed in the current policy
allow zabbix_t self:capability audit_write;

#!!!! This avc is allowed in the current policy
allow zabbix_t self:netlink_audit_socket nlmsg_relay;

zabbix_traceroute.te

module zabbix_traceroute 1.0;

require { type traceroute_exec_t; type zabbix_t; class file { read execute open getattr execute_no_trans };

}

#============= zabbix_t ==============
allow zabbix_t traceroute_exec_t:file execute_no_trans;

#!!!! This avc is allowed in the current policy
allow zabbix_t traceroute_exec_t:file { read execute open getattr };

Компилируем и устанавливаем эти политики: checkmodule -M -m -o zabbix_nmap.mod zabbix_nmap.te semodule_package -o zabbix_nmap.pp -m zabbix_nmap.mod semodule -i zabbix_nmap.pp checkmodule -M -m -o zabbix_jabber.mod zabbix_jabber.te semodule_package -o zabbix_jabber.pp -m zabbix_jabber.

mod semodule -i zabbix_jabber.pp checkmodule -M -m -o zabbix_sudo.mod zabbix_sudo.te semodule_package -o zabbix_sudo.pp -m zabbix_sudo.mod semodule -i zabbix_sudo.pp checkmodule -M -m -o zabbix_traceroute.mod zabbix_traceroute.te semodule_package -o zabbix_traceroute.pp -m zabbix_traceroute.

mod

semodule -i zabbix_traceroute.pp

Самым тяжёлым оказалось выяснить почему не работает утилита nmap при включенном SELinux, при этом в файле audit.log не появлялось ни одного сообщения о блокировании операций. Решение оказалоь очень простым:

chcon system_u:object_r:zabbix_script_exec_t:s0 /usr/bin/nmap

Установка Zabbix 3.0 на CentOS 7 обновлено: Февраль 27, 2016 автором: ilia

Источник: https://sevencomp.com/dlya-malogo-biznesa/stati-po-nastrojke-sistemnogo-programmnogo-obespecheniya/ustanovka-zabbix-3-0-na-centos-7/

Установка zabbix centos 7 – ваш системный администратор

ПодробностиКатегория: LinuxОпубликовано: 18.12.2017 00:18Автор: HelpDeskПросмотров: 217

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

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

Поддерживается как Windows, так и Linux и все это может быть объедено в одну интегрированную сеть.

Чаще всего для обеспечения работы веб-серверов используется CentOS, так как это достаточно стабильная и надежная операционная система. В этой статье мы рассмотрим как выполняется установка и настройка Zabbix CentOS 7. А поскольку недавно вышла версия Zabbix 3.4, то устанавливать мы будем именно ее.

Что нам нужно?

Сначала рассмотрим какое программное обеспечения мы будем использовать и что уже должно быть установлено:

Операционная система: CentOS 7;

База данных: MariaDB;

Веб-сервер: Nginx;

PHP: php-fpm;

Панель управления: VestaCP.

Если вы хотите устанавливать Zabbix на Apache или просто на Nginx без VestaCP, то, возможно, вам будет даже проще выполнять инструкцию, потому что не нужно будет делать некоторые лишние действия. Я предполагаю, что база данных и веб-сервер уже установлены. Если MariaDB еще не установлена — смотрите статью установка MariaDB CentOS и возвращайтесь.

Установка zabbix

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

rpm -Uvh http://repo.zabbix.com/zabbix/3.4/rhel/7/x86_64/zabbix-release-3.4-1.el7.centos.noarch.rpm

Затем можно установить пакеты:

zabbix-server-mysql — серверная часть, которая занимается обработкой данных;

zabbix-web-mysql — веб-интерфейс;

zabbix-agent — клиентская часть, занимается сбором данных и отправкой их на сервер;

zabbix-get — небольшая утилита для тестирования получения данных из командной строки, будет нужна нам потом.

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

Установка Zabbix CentOS 7 завершена, но это только начало, дальше самое сложное — настройка.

Настройка zabbix

Перед тем как мы перейдем к настройке базы данных, давайте сделаем веб-интерфейс доступным через браузер.

Шаг 1. настройка веб-сервера

В Apache вам ничего делать не нужно, веб-сервер уже настроен и Zabbix доступен по адресу:

http://ip_адрес/zabbix

Но нам необходимо настроить Nginx и у нас адрес будет немного другим:

http://zabbix.домен

Для этого мы создадим домен в панели VestaCP, но чтобы домен заработал правильно, нам нужно сначала создать шаблон для Zabbix, код шаблона будет выглядеть вот так:

vi /usr/local/vesta/data/templates/web/nginx/php-fpm/zabbix.tpl

server {

listen %ip%:%web_port%;

server_name %domain_idn% %alias_idn%;

root /usr/share/zabbix/;

index index.php index.html index.htm;

access_log /var/log/nginx/domains/%domain%.log combined;

access_log /var/log/nginx/domains/%domain%.bytes bytes;

error_log /var/log/nginx/domains/%domain%.error.log error;

location / {

root /usr/share/zabbix/;

index index.php index.html;

}

location ~ .php$ {

fastcgi_pass 127.0.0.1:9000;

fastcgi_index index.php;

fastcgi_param PHP_VALUE “

max_execution_time = 300

memory_limit = 128M

post_max_size = 16M

upload_max_filesize = 2M

max_input_time = 300

date.timezone = Europe/Kiev

always_populate_raw_post_data = -1

“;

fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;

try_files $uri =404;

include fastcgi_params;

}

location ~* “.+.(?:ogg|ogv|svg|svgz|eot|otf|woff|mp4|ttf|rss|css|swf|js|atom|jpe?g|gif|png|ico|zip|tgz|gz|rar|bz2|doc|xls|exe|ppt|tar|mid|midi|wav|bmp|rtf)$” {

access_log off;

log_not_found off;

expires max;

}

location ~* ^/(conf|api|include)($|/) {

deny all;

}

location ~ /.ht {

deny all;

}

location ~ /. {

deny all;

}

}

Шаблон zabbix.stpl будет выглядеть так же, только в нем перед секцией location нужно добавить три строчки:

ssl on;

ssl_certificate %ssl_pem%;

ssl_certificate_key %ssl_key%;

Я взял шаблон default.tpl и изменил его так, чтобы он запускал не файлы из домашней папки, а zabbix. Если вы не хотите делать такой шаблон, будет достаточно просто вставить этот код в секцию http конфигурационного файла /etc/nginx/nginx.conf. Только не забудьте заменить все переменные %имя% на значения. Далее откройте VestaCP, перейдите на вкладку WEB и нажмите кнопку со знаком «+»:

Введите имя домена zabbix.домен. Можно использовать любой домен, а затем подбросить его через /etc/hosts или домен вашего сайта. В поле ip адрес выберите ваш внешний адрес, а шаблон — zabbix:

Больше ничего менять не нужно, нажимайте «Добавить» и веб-сервер готов. Если хотите, можете включить поддержку SSL от Lets Encrypt, в шаблоне мы это настроили, значит работать будет.

Шаг 2. настройка базы данных

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

mysql

> create database zabbix character set utf8 collate utf8_bin;

> grant all privileges on zabbix.* to zabbix@localhost identified by 'password';

Разворачиваем начальную базу данных:

zcat /usr/share/doc/zabbix-server-mysql-3.4.*/create.sql.gz | mysql -uroot -pпароль zabbix

В вашей версии путь к файлу может немного отличаться. Осталось указать данные входа в основном конфигурационном файле сервера zabbix:

DBHost=localhost

DBName=zabbix

DBUser=zabbix

DBPassword=password

Шаг 3. запуск сервера

Запускаем сервер и добавляем его в автозагрузку:

systemctl start zabbix-server

systemctl enable zabbix-server

Шаг 4. завершение настройки в веб-интерфейсе

Дальше будет выполнена установка zabbix centos 7 через веб-интерфейс. На первой странице программа проверит подходит ли для ее работы php и сервер в целом:

Указываем параметры для доступа к mysql:

Укажите адрес сервера и порт, на котором будет слушать соединения zabbix-server, лучше оставить как есть:

Проверьте настройки:

Готово.

Шаг 5. авторизация

Дальше вы можете авторизоваться в системе, для этого используйте имя пользователя Admin и пароль zabbix:

Шаг 6. изменение пароля и русификация

Для безопасности первым же делом лучше поменять пароль. Для этого откройте вкладку «Configuration», затем «Users»:

Выберите пользователя «Admin» и в открывшемся окне нажмите кнопку «Change password»:

Дальше останется два раза ввести пароль:

И пока вы в этом окне, в поле «Language» выберите «ru». Теперь готово.

ШАГ 7. Настройка zabbix-AGENT НА ЛОКАЛЬНОМ СЕРВЕРЕ

Это не сложно. Сам агент у нас уже установлен, так что нам остается только его настроить, нужно указать ip адрес сервера и имя хоста:

Server=localhost

ServerActive=localhost

Hostname=zabbix-server

Очень важно, чтобы имя хоста, которое используется здесь и имя хоста в панели управления совпадали иначе потом отправка данных с помощью zabbix_sender работать не будет. Дальше осталось запустить zabbix-agent и добавить его в автозагрузку:

systemctl start zabbix-agent

systemctl enable zabbix-agent

Учитывая, что хост локальный, то он автоматически появится в панели управления на вкладке «Configuration», «Hosts»:

Шаг 8. настройка брандмауэра

Чтобы zabbix мог обмениваться данными с другими хостами сети, на всех серверах должны быть открыты порты 10050 и 10051. Для этого можно использовать VestaCP. Войдите от имени администратора, затем откройте «Firewall»:

Нажмите кнопку «+». Заполните поля следующим образом:

Action — ACCEPT;

Protocol — TCP;

Port — 10050-10051;

Ip address — 0.0.0.0/0;

Адрес 0.0.0.0/0 означает, вообще, все сетевые адреса. То есть мы разрешаем всем подключаться к этим портам. Затем осталось нажать кнопку «Add». Готово. Кроме Vesta, вы можете воспользоваться командой firewallcmd:

firewall-cmd –permanent –add-port=10050/tcp

firewall-cmd –permanent –add-port=10051/tcp

systemctl restart firewalld

На всех серверах. Обязательно. Установка Zabbix 3.4 CentOS 7 почти завершена.

Шаг 9. настройка удаленного zabbix-agent

Я предполагаю, что установка zabbix agent centos на удаленном хосте уже выполнена. А вот здесь уже немного интереснее. Данные указываем так же, адрес нашего сервреа zabbix и имя хоста:

Server=ваш_ip_адрес

ServerActive=ваш_ip_адрес

Hostname=zabbix-client

Далее запускаем агента:

systemctl start zabbix-agent

И возвращаемся обратно к серверу zabbix. Нужно открыть «Настройка» -> «Узлы сети», затем нажать кнопку «Создать новый узел»:

Затем заполните такие поля:

Имя узла сети — hostname, которое вы указали в конфигурации zabbix-agent у клиента;

IP адрес — ip, на котором запущен zabbix-agent;

Группа серверов — выберите группу, например, Linux Servers;

Активировано — установите галочку чтобы активировать после создания.

Здесь готово, теперь перейдите на вкладку «Шаблоны». Добавьте шаблон «Linux OS Template»:

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

Только после этого можно нажимать кнопку «Добавить». Новый хост появится в меню и надпись ZBX станет зеленой. Обратите внимание, что ZBX будет серой даже если все работает, пока вы не добавите хотя бы один шаблон и с него не начнут поступать данные. Дальнейшую настройку мониторинга Zabbix мы рассмотрим в следующих статьях.

ВЫВОДЫ

В этой статье мы рассмотрели как выполняется установка и настройка zabbix в CentOS 7. Как видите, если выполнять инструкцию, и немного адаптировать команды к своей системе, то можно сделать все достаточно просто. Если у вас остались вопросы, спрашивайте в комментариях!

Источник: https://spbcomputers.ru/os/linux/758-ustanovka-zabbix-centos-7

Ссылка на основную публикацию