
В прошлой статье мы рассказали, что нужно учитывать при мониторинге SAAS-сервиса интернет-магазинов. Теперь займемся практикой — установкой сервера Zabbix.
Для начинающих системных администраторов процедура установки Zabbix может показаться непростой, однако на самом деле в обычных случаях, если речь не идет о тысячах контролируемых хостов, особой сложности нет. Надеемся, что наша статья поможет вам внедрить этот мощный инструмент мониторинга в своей компании.
Приступаем к внедрению Zabbix
Если вы только приступаете к внедрению Zabbix, то установите сервер мониторинга Zabbix на виртуальную машину, например, арендованную в одном из дата-центров.
Также необходимо установить на каждый контролируемый сервер (хост) клиентское ПО Zabbix — агент и так называемую программу-траппер zabbix-sender, отправляющую данные мониторинга на сервер Zabbix из командной строки.
Для установки сервера Zabbix мы будем использовать виртуальные машины (ВМ) с ОС Debian 11. Перед тем как приступить к их заказу и установке ПО, нужно выбрать конфигурацию ВМ и дата-центры, где они будут установлены.
Выбор конфигурации виртуальной машины Zabbix
Как выбрать конфигурацию для виртуальной машины Zabbix?
Инструкцию по выбору конфигурации можно найти в документации
(для версии 6.0 есть на русском языке
).
Так как наш SAAS-сервис интернет-магазинов содержит пока только десятки хостов (а не сотни и тысячи, как хотелось бы), то нам будет достаточно ВМ с 4 ядрами, объемом оперативной памяти 4 Гбайт и диском 40 Гбайт. Если же требуется контролировать всего несколько хостов, хватит и двух процессорных ядер.
Заметим, что при размещении ВМ Zabbix в облаке есть возможность управлять количеством ядер и объемом оперативной памяти, выделяя при необходимости больше или меньше ресурсов.
Тут, однако, имеет смысл сравнить цены — облачные решения могут оказаться дороже простой виртуальной машины при одинаковых конфигурациях. Кроме того, у некоторых хостинг-провайдеров есть гибкие тарифы, которые позволяют изменять количество ядер и объём памяти после создания ВМ. Поэтому перед заказом сервера стоит проконсультироваться со специалистами хостинга и выяснить все детали.
Размещение серверов Zabbix в нескольких дата-центрах
Наличие нескольких серверов мониторинга в разных дата-центрах позволит контролировать доступность узлов из разных мест с учетом связности дата-центров. Когда возникнет проблема с доступностью, вы сможете быстро понять, с чем связана эта проблема — с работоспособностью самих хостов или с каналами передачи данных. Это важно, когда нужно как можно быстрее локализовать проблему.
Если к мониторингу предъявляются повышенные требования, используйте возможность создавать резервные серверы Zabbix (есть в Zabbix версии 6.x). Резервный сервер автоматически возьмет на себя работу при выходе из строя основного сервера мониторинга.
Установка серверного ПО Zabbix
Для получения инструкции по установке откройте страницу https://www.zabbix.com/download . Выберите здесь нужный вариант установки, платформу и другие параметры (рис. 1).

После выбора на странице появятся инструкция по установке в виде команд, которые нужно вводить в консоли ОС виртуальной машины сервера Zabbix.
Мы выбрали установку самой новой на момент написания этой статьи версии Zabbix 6.2 в ОС Debian 11, с базой данных MySQL и веб-сервером nginx.
Начнем с того, о чем не будет сказано в полученной таким способом инструкции.
Обновление ОС
Прежде всего, обновите ОС:
# apt update
# apt upgradeЭто нужно делать от пользователя root
или с помощью sudo
.
Установка fail2ban
Далее установите fail2ban для защиты от брутфорса, который начнется сразу, как только ваш виртуальный сервер станет доступен в интернете:
# apt install fail2banПроверьте, что fail2ban
работает:
# systemctl status fail2banВключите автоматический запуск fail2ban
при загрузке ОС:
# systemctl enable fail2banБолее подробную инструкцию по настройке fail2ban для Debian 11 вы найдете здесь
.
Установка MySQL
Инструкция по установке Zabbix предполагает, что MySQL (или совместимая с ней MariaDB) уже установлен на виртуальной машине и работает. Если это не так, установите MariaDB:
# apt install mariadb-serverВы, конечно, можете использовать и MySQL.
Установка репозитория Zabbix
Далее выполните команды из инструкции, которая появится на странице https://www.zabbix.com/ru/download
после выбора платформы и конфигурации.
Для начала установите репозиторий Zabbix:
# wget https://repo.zabbix.com/zabbix/6.2/debian/pool/main/z/zabbix-release/zabbix-release_6.2-1+debian11_all.deb
# dpkg -i zabbix-release_6.2-1+debian11_all.deb
# apt updateУстановка ПО сервера Zabbix, веб-интерфейса и агента Zabbix
Затем установите ПО сервера Zabbix, веб-интерфейс и агент Zabbix:
# apt install zabbix-server-mysql zabbix-frontend-php zabbix-nginx-conf zabbix-sql-scripts zabbix-agentСоздание базы данных zabbix
Для создания базы данных пользователем root
запустите утилиту mysql
:
# mysql -u rootЕсли запускать эту утилиту от root, то пароль root от MariaDB вводить не нужно. И вообще при установке сервера Zabbix в Debian 11 этот пароль вам не потребуется.
Далее в приглашении mysql создайте базу данных:
MariaDB [(none)]> create database zabbix character set utf8mb4 collate utf8mb4_bin;MariaDB [(none)]> create user zabbix@localhost identified by 'pAssW0rd';Сохраните использованный пароль, он вам еще потребуется при установке веб-интерфейса Zabbix.
Установите необходимые привилегии для базы данных:
MariaDB [(none)]> grant all privileges on zabbix.* to zabbix@localhost;И, наконец, завершите работу утилиты mysql:
MariaDB [(none)]> quit;Запуск веб-интерфейса
На следующем шаге нужно запустить веб-интерфейс Zabbix.
Так как мы выбрали вариант установки с использованием Nginx, проверьте, не работает ли на виртуальной машине сервис Apache. Если работает, его нужно остановить, а затем отключить запуск при перезагрузке:
# systemctl status apache2
# systemctl stop apache2
# systemctl disable apache2Дело в том, что Apache обычно занимает порт 80, который нужен нам для веб-интерфейса сервера Zabbix, работающего через более быстрый nginx.
Откройте редактором vim или nano файл /etc/zabbix/nginx.conf. Отредактируйте директивы listen и server_name, указав в первой из них порт 80, а во второй — доменное имя для веб-интерфейса сервера Zabbix (укажите здесь свой домен):
server {
# listen 8080;
listen 80;
server_name zbx62.mydomain.ru;
…
}После редактирования проверьте конфигурацию nginx, перезапустите этот сервис и проверьте его состояние:
# nginx -t
# systemctl restart nginx
# systemctl status nginxЗапустите процессы сервера и агента Zabbix и настройте их запуск при загрузке ОС.
# systemctl restart zabbix-server zabbix-agent nginx php7.4-fpm
# systemctl enable zabbix-server zabbix-agent nginx php7.4-fpmТеперь откройте в браузере сайт по ссылке, подобной приведенной ниже:
http://xxx.xxx.xxx.xxx:/setup.php
Нажмите кнопку Next step
, чтобы проверить выполнение условий для установки (рис. 3).

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

На следующем шаге задайте имя сервера Zabbix в поле Zabbix server name
, укажите
свой
часовой пояс и выберите тему для оформления веб-интерфейса Zabbix (рис. 5).

Теперь осталось еще два раза нажать кнопку Next step
, подтвердив действия, и установка сервера Zabbix будет завершена.
Подключение к веб-интерфейсу
Если вы все сделали правильно, в браузере появится панель (дашборд) веб-интерфейса Zabbix (рис. 6).

Установка клиентского ПО Zabbix
На каждый сервер (физический или виртуальный), который вы собираетесь контролировать при помощи Zabbix, нужно установить агент zabbix-agent и программу zabbix-sender.
Агент позволяет контролировать различные параметры сервера. Программа zabbix-sender представляет собой утилиту командной строки для отправки значений контролируемых параметров на сервер Zabbix.
Существует две версии агента — zabbix-agent и zabbix-agent2. Обе эти версии рабочие и продолжают развиваться.
Установим обе версии сразу.
Установка агента Zabbix и программы zabbix_sender на ОС Linux
Для начала обновите ОС на контролируемом хосте:
# apt update
# apt upgradeЗатем установите репозиторий Zabbix, как мы это делали для сервера:
# wget https://repo.zabbix.com/zabbix/6.2/debian/pool/main/z/zabbix-release/zabbix-release_6.2-1+debian11_all.deb
# dpkg -i zabbix-release_6.2-1+debian11_all.deb
# apt updateТеперь выполните установку агента zabbix-agent и программы zabbix-sender:
# apt install zabbix-agent zabbix-senderПроверьте версии установленных программ:
# zabbix_agentd -V
# zabbix_sender -VЧтобы установить zabbix-agent2, используйте следующую команду:
# apt install zabbix-agent2Теперь вы можете запустить zabbix-agent2, предварительно остановив zabbix-agent:
# systemctl stop zabbix-agent
# systemctl start zabbix-agent2Если нужно вернуться к первой версии zabbix-agent, то это можно сделать так:
# systemctl stop zabbix-agent2
# systemctl start zabbix-agentКогда вы определитесь с версией нужно вам агента Zabbix, сделайте так, чтобы при перезагрузке ОС этот агент запускался автоматически. Например, так вы можете разрешить автозапуск для zabbix-agent2, запретив его для zabbix-agent:
# systemctl enable zabbix-agent2
# systemctl disable zabbix-agentНастройка конфигурации агента Zabbix
Чтобы сервер Zabbix «увидел» контролируемые хосты, на которых вы установили агента Zabbix, нужно правильным образом отредактировать файл конфигурации агента на каждом хосте.
Узнать состояние агента, а заодно и путь к файлу конфигурации можно так:
# systemctl status zabbix-agent
● zabbix-agent.service - Zabbix Agent
Loaded: loaded (/lib/systemd/system/zabbix-agent.service; enabled; vendor preset: enabled)
Active: active (running) since Fri 2022-07-15 10:57:21 MSK; 5s ago
Process: 2857 ExecStart=/usr/sbin/zabbix_agentd -c $CONFFILE (code=exited, status=0/SUCCESS)
Main PID: 2859 (zabbix_agentd)
Tasks: 6 (limit: 4676)
Memory: 3.9M
CPU: 32ms
CGroup: /system.slice/zabbix-agent.service
├─2859 /usr/sbin/zabbix_agentd -c /etc/zabbix/zabbix_agentd.conf
├─2860 /usr/sbin/zabbix_agentd: collector [idle 1 sec]
├─2861 /usr/sbin/zabbix_agentd: listener #1 [waiting for connection]
├─2862 /usr/sbin/zabbix_agentd: listener #2 [waiting for connection]
├─2863 /usr/sbin/zabbix_agentd: listener #3 [waiting for connection]
└─2864 /usr/sbin/zabbix_agentd: active checks #1 [idle 1 sec]
Как видите, для zabbix-agent конфигурация задается в файле /etc/zabbix/zabbix_agentd.conf
. Для zabbix-agent2 используется другой файл: /etc/zabbix/zabbix_agent2.conf
.
Если вы установили оба агента, отредактируйте эти файлы и перезапустите агенты. Вам нужно найти в файлах конфигурации агентов следующие строки:
Server=127.0.0.1
Hostname=Zabbix serverВ первой из них укажите адрес IP своего сервера Zabbix, а во второй — имя контролируемого хоста. Когда у вас будет два или несколько серверов Zabbix, укажите здесь адреса IP всех таких серверов через запятую.
Для перезапуска агентов используйте команды:
# systemctl restart zabbix-agent2
# systemctl restart zabbix-agentДобавление контролируемого хоста на сервер Zabbix
Откройте главную страницу веб-интерфейса Zabbix, затем выберите из меню Configuration
строку Hosts
. Откроется страница Hosts
, на которой уже добавлен один хост с именем Zabbix server
. Это хост, на котором установлен сам сервер Zabbix, и его адрес IP указан как 127.0.0.1 (рис. 7).

Для добавления нового контролируемого хоста щелкните кнопку Create host
. Появится форма, где нужно заполнить параметры нового хоста (рис. 8).

Здесь вам нужно указать в поле Host name
такое же имя хоста, что было задано в файле конфигурации агента Zabbix.
Для мониторинга обычного физического или виртуального сервера Linux выберите в поле Templates
шаблон Linux by Zabbix agent
.
Далее нужно задать имя группы в поле Host groups
. Сразу после установки в конфигурации Zabbix нет ни одной группы, поэтому вам нужно создать новую группу. Мы рекомендуем отразить в имени группы название дата-центра и тип узла, чтобы по этому имени можно было быстро понять, что это за хосты, где они находятся и для чего предназначены.
В поле Interfaces
щелкните ссылку Add
(на рис. 8 не показана), а затем выберите строку Agent
. Далее в поле Agent
формы укажите адрес IP нового контролируемого хоста, как это показано на рис. 8.
Когда все поля будут заполнены, щелкните кнопку Add
.
Через некоторое время (порядка нескольких минут) напротив добавленного хоста в столбце Availability
появится значок ZBX
зеленого цвета (рис. 9).

Если этого не произошло, проверьте еще раз файл конфигурации агента Zabbix, состояние сервиса zabbix-agent (или zabbix-agent2, если вы его используете), а также убедитесь, что после редактирования файла конфигурации агента вы перезапустили сервис.
Кроме того, убедитесь, что на контролируемом хосте открыт порт 10050 для сервера Zabbix.
При ошибке вы увидите значок ZBX
красного цвета. Щелкните его, и на экране появится сообщение об ошибке (рис. 10).

Если вам нужно добавить несколько похожих друг на друга хостов на сервер Zabbix, воспользуйтесь функцией клонирования. Для этого откройте хост в списке хостов, щелкнув по его имени, а затем воспользуйтесь кнопкой Clone
или Full clone
. Измените имя хоста и его адрес IP, отредактируйте список использованных шаблонов, а затем сохраните изменения кнопкой Add
.
Функция Full clone
позволяет дополнительно скопировать элементы данных (items), триггеры, графы и приложения. Это удобно, если для хостов были сделаны индивидуальные настройки.
Что нужно сделать дальше
В следующей статье мы расскажем о настройке мониторинга дисковых систем и контроллеров диска.
А пока добавьте на свой сервер Zabbix все контролируемые хосты, сгруппировав их по дата-центрам, типам хостов и выполняемым функциям.
Мы, например, создали группы для каждого дата-центра, для физических серверов и виртуальных машин, для мониторинга сайтов, сроков действия сертификатов и доменных имен.
Также рекомендуем ознакомиться с документацией Zabbix. Для версии 6.2 она доступна на английском языке
, а для версии 6.0 на русском языке
.
НЛО прилетело и оставило здесь промокод для читателей нашего блога:
— 15% на все тарифы VDS
(кроме тарифа Прогрев) — HABRFIRSTVDS
.
Zabbix
это open-source система мониторинга корпоративного уровня. На текущий момент Zabbix одна из самых популярных и функциональных бесплатных систем мониторинга. Благодаря простой установке и настройке Zabbix можно использовать для мониторинга крупных инфраструктур с сотнями серверов, так и для мелких конфигураций. В этой статье мы рассмотрим, как выполнить установку и базовую настройку сервера Zabbix 4.4 с веб-интерфейсом на базе Linux Ubuntu и CentOS, установить агенты Zabbix на сервере Windows и Linux, и добавить новые хосты в систему мониторинга.
Общий интерфейс Zabbix сервера представлен на скриншоте ниже.

Из чего состоит Zabbix и что он может?
Zabbix простой установке и настройке, написан на C (сервер, прокси и агент) и PHP (фронтенд). Zabbix Server и Zabbix Proxy может работать только на Linux системах. Агент можно установить на большом количестве поддерживаемых ОС и платформах.
Инсталляция Zabbix сервера состоит из:
- бинарника zabbix_server (обычно работает как сервис);
- MySQL (MariaDB)/PostgreSQL базы данных;
- Веб сервера Apache2/Nginx с обработчиком PHP;
- Файлов самого frontend сайта (.php, .js, .css и т.д.).
Обычно схема работы выглядит так:
- Агент Zabbix посылает данные на сервер
- Сервер Zabbix получает и обрабатывает данные.
- Если полученные данные подпадают под заданные условия, то срабатывает триггер;
- Активный триггер сигнализирует о проблеме. Отображается уведомление на фронтенде (сайте), и в зависимости от конфигурации рассылается сообщение по почте и выполняется какие-либо действия (например, перезапуск службы, которая мониторится).
Zabbix может работать со всеми известными протоколами, а благодаря системе внешних скриптов, Zabbix может выполнять и получать данные из любых исполняемых скриптов/бинарников.
Установка Zabbix Server в Linux (Ubuntu, CentOS)
В этой статье мы рассмотрим пример установки Zabbix Server 4.4 на Linux (на примере Ubuntu Server 18.4 и CentOS) через пакетный менеджер.
Перейдите на страницу загрузки https://www.zabbix.com/download
и выберите репозиторий, соответствующий вашему дистрибутиву Linux. Готовые пакеты есть для всех популярных дистрибутивов.
Например, для установки Zabbix на Ubuntu 18.04 нужно последовательно выбрать :
Zabbix Version (4.4) -> OS Distribution (Ubuntu) -> OS Version (18.04 Bionic) -> Database (MySQL) -> Веб сервер (Nginx или Apache).

Скачем и добавим репозиторий:
# wget https://repo.zabbix.com/zabbix/4.4/ubuntu/pool/main/z/zabbix-release/zabbix-release_4.4-1+bionic_all.deb
# dpkg -i zabbix-release_4.4-1+bionic_all.deb
# apt update
Теперь можно установить необходимые пакеты:
# apt install zabbix-server-mysql zabbix-frontend-php zabbix-nginx-conf zabbix-agent

Для установки Zabbix в CentOS 8
/RHEL 8 нужно подключить репозиторий
с актуальной версией Zabbix (можно установить Zabbix из ветки 4.0 LTS или последнюю версию Zabbix 4.4):
# rpm -Uvh https://repo.zabbix.com/zabbix/4.4/rhel/8/x86_64/zabbix-release-4.4-1.el8.noarch.rpm
# dnf clean all
Предполагаем, что на сервере уже установлены: nginx, MySQL/ MariaDB
, php и php-fpm
. Теперь через пакетный менеджер
установим сам сервер Zabbix и агент:
# dnf install zabbix-server-mysql zabbix-web-mysql zabbix-agent
Осталось создать базу данных для Zabbix в MySQL (вместо MySQL можно использовать PostgreSQL
, просто замените в командах ‘mysql’ на ‘pgsql’).
Создайте базу данных и дайте права пользователю, из-под которого Zabbix будет обращаться к базе данных:
Импортируйте базу данных Zabbix. Нужно будет ввести пароль, который вы указали при создании пользователя.
Измените конфигурационный файл /etc/zabbix/zabbix_server.conf, укажите пароль от вновь созданного пользователя.
DBPassword=Пароль_Пользователя_Zabbix
Так как в моем случае веб сервером служит nginx, нужно изменить nginx.conf, раскомментировав следующие строчки
# listen 80; # server_name example.com;
Уберите # и поменяйте example.com на домен, по которому вы хотите заходить на Zabbix, в моём случае это
test.zabbix.local
.
Для Apache файл нужно править файл конфигурации /etc/httpd/conf.d/zabbix.conf .
Выставим временную зону в PHP. В файле /etc/zabbix/php-fpm.conf раскомментируем строчку
php_value[date.timezone] = Europe/Moscow
Дополнительно можно выставить следующие параметры PHP в
/etc/php.ini
:
memory_limit 128M upload_max_filesize 8M post_max_size 16M max_execution_time 300 max_input_time 300 max_input_vars 10000
Добавьте службу zabbix-server в автозапуск
и запустите ее:
# systemctl enable zabbix-server zabbix-agent nginx php7.2-fpm
# systemctl restart zabbix-server zabbix-agent nginx php7.2-fpm
Настройка веб-интерфейса Zabbix
Теперь нужно настроить frontend (веб-интерфейс) Zabbix. В браузере откройте указанный ранее URL адрес zabbix сервера. В моем случае это test.zabbix.local (или на домен, который вы указывали. Не забудьте прописать его у себя в hosts файле или на DNS сервере).

Убедитесь, что во всех требования инсталлятора указано ОК.

Укажите данные для подключения к БД. Используйте пользователя и пароль, который создали ранее.

Укажите название Zabbix сервера. Порт рекомендую оставлять стандартный – TCP 10051.
Система Zabbix по-умолчанию использует два порта:
- TCP 10050
— порт пассивного агента, по нему zabbix сервер опрашивает клиентов; - TCP 10051
— порт, на котором zabbix сервер получает данные от клиентов (активный агент).
Не забудьте открыть данные порты. Например, на Zabbix сервере на базе CentOS можно открыть порты в firewalld с помощью firewall-cmd
:
А на агенте достаточно открыть 10050:
# firewall-cmd --permanent --add-port=10050/tcp
Не забудьте перезагрузить firewalld:
# firewall-cmd –reload



На этом установка сервера Zabbix Server завершена.
На странице https://www.zabbix.com/download
есть пошаговые инструкции для установки Zabbix Server на другие операционные системы, а так же инструкции как собрать zabbix-server из исходного кода или запустить его в docker контейнерах.
Установка Zabbix Agent в Windows
Запустите инсталлятор, примите лицензионное соглашение, укажите запрошенные данные. Обратите внимание, что в поле “Server or Proxy for active checks” я указал IP адрес в формате IP:PORT
. Поскольку порт я оставлял стандартный, я пишу IP:10051
.

Далее еще пару раз нажмем Next и Install.
После этого убедимся, что наш агент установлен. В списке служб должен появиться сервис Zabbix Agent.

На клиенте Windows нужно разрещить входящие подключения с IP адреса сервера Zabbix в Брандмауэре Windows:
New-NetFirewallRule -DisplayName "ZabbixMonitoring" –RemoteAddress 192.168.1.100 -Direction Inbound -Protocol TCP –LocalPort 10050 -Action Allow
Добавление устройства на Zabbix-сервере
Чтобы убедиться в работоспособности агента, нужно добавить хост testnode2
на Zabbix сервер и назначить ему проверки (checks).
Заметка
. В заббиксе есть 2 типа проверок:
- Пассивные – Zabbix сервер запрашивает у агента какие-либо данные;
- Активные – агент посылает на сервер данные;
При установке агента мы указывали сервер в формате IP:PORT как раз для активных проверок.
Добавление нового устройства для мониторинга в Zabbix выполняется через Web-интерфейс. Перейдите в раздел Configuration
-> Hosts
.

Нажмите Create host
и заполните данные. Обратите внимание, что Host name
хоста должен полностью совпадать с hostname
машины или значением параметра Hostname
в конфиге агента.

Во вкладке Templates
добавить несколько встроенных Windows шаблонов. Шаблоны в Zabbix это наборы значений, триггеров, графов и правил обнаружения, которые могут быть назначены одному или нескольким хостам.
Эти интегрированные шаблоны имеют постфикс “active”, значит, будут использоваться активные проверки.

Нажмите Add
. Чтобы не ждать пока сервер и агент увидят друг друга (обычно занимает пару минут), перезагрузите службу Zabbix Agent на testnode2 и проверьте лог агента (C:Program FilesZabbix Agentzabbix_agentd.txt).




В этом разделе отображаются последние данные, которые пришли на сервер по выбранным хостам или группам хостов.
Обратите внимание на то, что в дашборде Zabbix висит уведомление о том, что служба BITS не запущена. Это уведомление появилось потому что мы назначили стандартные шаблоны нашему хосту. В одном из шаблонов был мониторинг сервиса BITS и соответствующий триггер, который срабатывает если служба BITS находится не в статусе Running.

На этом настройка Windows Agentа завершена.
Установка Zabbix Agent в Linux
В CentOS для добавления репозитория и установки агента zabbix используется команды:
# rpm -Uvh https://repo.zabbix.com/zabbix/4.4/rhel/8/x86_64/zabbix-release-4.4-1.el8.noarch.rpm
# dnf clean all
# dnf install zabbix-agent
Перед тем как мы запустим zabbix агент, нужно отредактировать конфигурационный файл /etc/zabbix/zabbix_agentd.conf. В нем нужно указать IP адрес сервера Zabbix для активных проверок.
Server=IP ServerActive=IP:10051 Hostname=testagent
После этого запустите сервис агента:
# service zabbix-agent start
Убедитесь, что агент успешно запустился.
# cat /var/log/zabbix/zabbix_agentd.log

Строка cannot parse list of active checks
говорит о том, что на сервере нет активных проверок для этого хоста.
Как и в случае с Windows агентом, вам нужно добавить ваш Linux хост в настройках сервера Zabbix. Обратите внимание на параметр Host name в настройка хоста в интерфейсе заббикс сервера — этот параметр должен совпадать с Hostname параметром, который мы указываем в конфиге Zabbix -агента. В конфиге выше я указывал имя хоста testagent.


Перезагрузите Zabbix агент и проверьте лог.

Проверьте, что данные от агента появились на сервере Zabbix.

На этом настройка Zabbix-агента на Linux системе завершена. В следующей статье мы рассмотрим безагентный мониторинг доступности узлов в Zabbix через ICMP Ping
.
Всем, доброго времени! Довелось недавно настраивать систему мониторинга zabbix. Настраивал в первый раз. Поэтому решил сделать заметку здесь. Примеров на просторах интернета достаточно, но версии обновляются, новые «фичи» появляются.
Цель статьи, чтобы знания были открыты, кому нужно смог ими воспользоваться, а самое главное развитие it сообщества в рунете.
Содержание
- Установка Zabbix 3.2 на Ubuntu 16.04
- Настройка LDAP аутентификации AD
- Установка Zabbix агентов на ОС Linux и ОС Windows
Установка Zabbix 3.2 на Ubuntu 16.04
После чистой установки системы необходимо обновить информацию о репозиториях о обновить пакеты:
sudo apt update && sudo apt upgradeДалее установим mysql сервер и веб сервер apache ( в процессе нужно придумать пароль для root mysql).
sudo apt install mysql-server mysql-client apache2Затем переходим в директорию со временными файлами: cd
/tmp
Скачаем и установим пакет, который добавит репозиторий для Zabbix сервера, для Ubuntu 16.04 необходимо выбрать версию “xenial”. Пакет скачиваем из офф.сайта
.
sudo wget http://repo.zabbix.com/zabbix/3.2/ubuntu/pool/main/z/zabbix-release/zabbix-release_3.2-1+xenial_all.debДобавим репозиторий zabbix:
sudo dpkg -i zabbix-release_3.2-1+xenial_all.deb
Обновляем кэш менеджера пакетов и убедимся в том, что репозиторий для Zabbix добавился:
sudo apt update
cat /etc/apt/sources.list.d/zabbix.listZabbix-сервер будет хранить всю информацию в MySQL и поэтому устанавливаем пакет для Zabbix сервера с поддержкой MySQL:
sudo apt install zabbix-server-mysql zabbix-frontend-phpВстречаются случаи, когда возникает ошибка с зависимостями., чтобы этого избежать запустим команду исправления зависимостей:
sudo apt-get -f installТеперь нужно создать в MySQL базу данных. Подключимся к MySQL:
mysql -uroot -pcreate database zabbix character set utf8 collate utf8_bin;
grant all privileges on zabbix.* to zabbix@localhost identified by 'zabbix_test';
quit;Затем необходимо зайти в директорию где лежит скрипт, который создаст структуру для БД. Файл называется create.sql.gz
Запустить скрипт (файлов достаточно много в архиве придется подождать)
sudo zcat create.sql.gz | mysql -uroot zabbix -pНа этом этапе необходимо указать Zabbix-у, что нужно использовать локальную базу данных. Для этого необходимо раскомментировать параметр:
Идем по пути в файл и редактируем параметры:
sudo vim
/etc/zabbix/zabbix_server.conf
Настройки моего конфигураицонного файла:
grep -v '^#|^
Также следует создать А-запись для zabbix сервера с отмеченной галочкой PTR. Запускаем Zabbix сервер и смотрим его статус:
sudo systemctl start apache2.service
sudo systemctl status apache2.serviceЗатем необходимо зайти в конфиг apache и выбрать необходимый часовой пояс. Эти два параметра необходимо раскомментировать из блоков:
<IfModule mod_php5.c>
<IfModule mod_php 7.c>
Название параметра: php_value date.timezone Europe/Minsk
Далее перезагружаем веб-сервер:
sudo systemctl restart apache2.service На следующем этапе можно зайти по ip_адрес/zabbix и увидеть веб-интерфейс Zabbix.
Нужно пройти настройку мастера, но я на втором шаге “словил” ошибку. Поэтому нужно установить недостающие пакеты и ребутнуть веб-сервер:
sudo apt install php-mbstring php-bcmath php-xml
sudo systemctl reload apache2.serviceНастройка LDAP аутентификации AD
Первое, что нужно это создать в пользователя в каталоге Active Directory. Группа у пользователя после создания «Пользователи домена». Этого достаточно для аутентификации на zabbix сервере.
Выбрать текущий домен и “пр.кн мыши” -“Свойства”, “Расширения”, “Редактор атрибутов”. Найти атрибут “distinguishedName” и скопировать значения в настройку zabbix поле Bind DN ( к примеру example.lan
).

Для этого проделываем “пару” действий:
Подключаемся к mysql:
mysql -uroot -pmysql> UPDATE `zabbix`.`config` SET `authentication_type` = '0' WHERE `config`.`configid` =1;
Установка Zabbix агентов на ОС Linux и ОС Windows
На моем Linux сервере уже установлен zabbix агент, но для «перфекционизма» я хочу использовать последнюю версию агента. Для просмотра версии zabbix агента выполняем команду:
sudo dpkg -s zabbix-agentsudo aptitude show zabbix-agentПереходим во временную директорию, скачиваем последнюю версию zabbix и устанавливаем агента:
wget http://repo.zabbix.com/zabbix/3.2/ubuntu/pool/main/z/zabbix-release/zabbix-release_3.2-1+xenial_all.debsudo dpkg -i zabbix-release_3.2-1+xenial_all.deb
sudo apt update
sudo dpkg -s zabbix-agent
sudo apt install zabbix-agent
Затем настроем конфигурационный файл zabbix. Лично у меня опыт с zabbix не большой и по примеру я брал параметры из статей в разделе мануал и изучал их в официальной документации zabbix. Этих параметров хватило для стабильной работы агента. Проблем с ним не возникало.
sudo vi
/etc/zabbix/zabbix_agentd.conf
Необходимо отредактировать следующие параметры:
PidFile=/var/run/zabbix/zabbix_agentd.pid
LogFile=/var/log/zabbix/zabbix_agentd.log
LogFileSize=10
Server=zabbix.example.lan
ServerActive=zabbix.example.lan
Hostname=Ubuntu-server
Include=/etc/zabbix/zabbix_agentd.d/*.confПараметры «Server»
и «ServerActive»
— это полное имя (FQDN) пк, на котором крутится zabbix сервер.
«Hostname»
— имя пк на который устанавливаем агента.
После редактирования нужных параметров, перезагружаем zabbix агент:
sudo systemctl restart zabbix-agent.serviceДобавим zabbix агент в автозагрузку:
sudo systemctl enable zabbix-agent.serviceНастройки Linux хоста на zabbix сервере
В веб-интерфейсе zabbix создаем хост, который будем «мониторить» (скрин расписан по шагам)

Указываем его имя и добавляем в нужную группу. Хост я указываю по DNS имени, так как на хосте Zabbix у меня корректно настроены параметры для взаимодействия с внутренней DNS инфраструктурой. Если у вас есть домен и настроен DNS, то вам следует в конфигурационный файл сетевых настроек добавить две записи.
sudo vi
/etc/network/interfaces
dns-nameservers 192.168.1.100 # ip_адрес_домена
dns-search example.lan # поисковое_имя_домена

*Имя должно совпадать с именем пк в сети.
Далее на вкладке Templates “линкуем” к нашему хосту, стандартный шаблон мониторинга Linux систем и доступу к ssh (по желанию):

Затем переходим во вкладку «host»
и наблюдаем индикатор zabbix агента, его рабочее состояние отображается в зеленом цвете. Статус должен быть «Enabled»
. После того как мы применили шаблон, стандартный набор параметров начал мониториться. Их посмотреть можно в настройках хоста вкладка “items” и “triggers”
.
Также возможно редактировать «items» и «triggers» удалять или добавлять параметры.
На скриншоте показано рабочее состояние, это означает, что производится мониторинг.

Установим zabbix агент на Windows. В моем случае это Hyper-V Server 2012R2 без Gui.
Агента скачиваем с официального сайта Zabbix, выбрать для платформы Windows.
На консольном Hyper-V у меня установлен бесплатный двухпанельный файловый менеджер Unreal Commander. Поэтому распаковываю архив я с помощью него, затем сохраняю два файла в корень “диска C”:
На начальном этапе конфигурируем Брандмауэр Windows. Следует добавить входящее правило разрешающее подключение к TCP порту 10050. Перехожу к установке агента zabbix и импортирую конфиг.файл:
c:zabbix_agentd.exe --config c:zabbix_agentd.conf --installЗатем по аналогии с настройкой агента для Linux вношу необходимые параметры в конфигурационный файл zabbix_agentd.conf
Изменение файла производится с помощью текстового редактора notepad ++.
Если всё прошло успешно, то никаких предупреждений не увидим. Затем нужно запустить службу Zabbix Agent.
В cmd ведем taskmgr и правой кнопкой запустим службу. Аналогично через консоль:
zabbix_agentd.exe -c c:zabbix_agentd.conf -sЕсли необходимо удалить службу и конфигурационный файл, то выполняем команду:
c:zabbix_agentd.exe --config c:zabbix_agentd.conf --uninstallПроцедура создание хоста в Zabbix аналогична Linux, отличие заключается в том, что применяется стандартный шаблон для
Windows систем
(Template OS Windows)
.
Русификация Zabbix
Для того, чтобы веб-интерфейс Zabbix отображался на русском языке, необходимо русифицировать консоль (самого Linux сервера, на котором установлен Zabbix).
Просмотр какие установлены локализаций:
sudo locale -aПросмотр доступных локализаций (относительно русской):
sudo zcat create.sql.gz | mysql -uroot zabbix -p
Устанавливаю нужную локализацию:
Перезагрузить apache и выбрать русский язык в веб- интерфейсе Zabbix:
P. S Если будет
интересно
grep -v '^#|^ опишу как прикрутить Telegram к Zabbix.
Ссылки на manual:
Zabbix — это опенсорсная система мониторинга для сетей и приложений. С помощью Zabbix можно в режиме реального времени отслеживать разные метрики, полученные от серверов (например, VPS/VDS), виртуальных серверов и машин, элементов сети и веб-приложений. /etc/zabbix/zabbix_server.conf
опишу как прикрутить Telegram к Zabbix.Ссылки на manual:
Zabbix — это опенсорсная система мониторинга для сетей и приложений. С помощью Zabbix можно в режиме реального времени отслеживать разные метрики, полученные от серверов (например, VPS/VDS), виртуальных серверов и машин, элементов сети и веб-приложений. Подробнее об этой системе вы можете прочитать в статье Zabbix: что такое и как использовать
. В этой инструкции рассмотрена настройка и установка Zabbix на CentOS (она подойдёт дистрибутивов CentOS 7 и выше).
Чтобы поставить Zabbix на Linux, потребуется установить веб-сервер Nginx, PHP и СУБД MariaDB.
Облачные серверы нового поколения
Виртуализация KVM, почасовая оплата, резервные копии, готовые шаблоны, 10 доступных ОС на выбор!

Подготовка сервера
Установка времени
Задайте правильную временную зону (в примере московское время):
cp /usr/share/zoneinfo/Europe/Moscow /etc/localtimeУстановите и запустите сервис синхронизации времени:
yum install chrony systemctl enable chronyd systemctl start chronyd
Настройка фаервола
Откройте порты с помощью команды:
firewall-cmd --permanent --add-port={80/tcp,443/tcp,10051/tcp,10050/tcp,10050/udp,10051/udp}
Установка и настройка web-сервера в CentOS
Установка MariaDB
Для установки СУБД MariaDB введите команду:
yum install mariadb mariadb-serverРазрешите автозапуск сервера баз данных и запустите MariaDB:
systemctl enable mariadb systemctl start mariadbЗадайте пароль суперпользователя:
mysqladmin -u root passwordПосле ввода команды нужно ввести пароль и подтвердить его.
Установка веб-сервера
Мы будем использовать веб-сервер Nginx.
Разрешите автозапуск и запустите Nginx:
systemctl enable nginx systemctl start nginx
Установка PHP
Установите PHP и необходимые компоненты:
Найдите и отредактируйте следующие параметры:
create database zabbix character set utf8 collate utf8_bin;
grant all privileges on zabbix.* to zabbix@localhost identified by 'zabbix_test';
quit;
grep -v '^#|^
Для быстрого поиска нажмите
Ctrl+W
и введите название параметра. Сохраните изменения, нажав
Ctrl+X, Y, Enter
. 
Настройка связки Nginx+PHP
Откройте конфигурационный файл Nginx:
Приведите настройки к виду:
sudo apt update && sudo apt upgradesudo apt install mysql-server mysql-client apache2Проверьте корректность настроек:
Если настройки внесены верно, вы увидите сообщение:
sudo wget http://repo.zabbix.com/zabbix/3.2/ubuntu/pool/main/z/zabbix-release/zabbix-release_3.2-1+xenial_all.debОткройте корневой каталог с помощью команды:
sudo dpkg -i zabbix-release_3.2-1+xenial_all.debДобавьте в файл строку:
sudo apt update
cat /etc/apt/sources.list.d/zabbix.listsudo apt install zabbix-server-mysql zabbix-frontend-phpУстановка и настройка сервера Zabbix (Zabbix install CentOS)Zabbix установка CentOS 7
sudo apt-get -f installmysql -uroot -pУстановите репозиторий Zabbix командой:
sudo zcat create.sql.gz | mysql -uroot zabbix -pУстановите сервер Zabbix с помощью команды:
Настройка базы данных
Создайте базу данных с помощью команды:
Где zabbix_name — имя базы данных.
Создайте пользователя базы данных:
GRANT ALL PRIVILEGES ON zabbix_name.* TO zabbix_user@localhost IDENTIFIED BY '123456';cd /usr/share/doc/zabbix-server-mysql-*Распакуйте архив с дампом базы данных:
Восстановите базу данных из дампа:
mysql -u root -p zabbix < create.sqlПосле ввода команды нужно ввести пароль, заданный при установке MariaDB.
Настройка Zabbix
Откройте конфигурационный файл Zabbix:
nano /etc/zabbix/zabbix_server.confгде 123456 — пароль базы данных.
Проверьте значения строк:
DBName=zabbix_name DBUser=zabbix_user
Запуск Zabbix-server
Разрешите автозапуск мониторинга:
systemctl enable zabbix-serversystemctl start zabbix-server
Настройка Nginx
Откройте конфигурационный файл:
nano /etc/nginx/nginx.confset $root_path /usr/share/nginx/html;set $root_path /usr/share/zabbix;
Настройка веб-интерфейса Zabbix
- Проверьте, во всех ли строках стоит значение ОК, затем нажмите Next step
: - Пропишите данные для подключения к базе данных. Нажмите Next step
: - Оставьте уже указанные значения Host
и Port . Опционально вы можете ввести любое имя сервера в поле Name
. Нажмите- Next step
.
- Проверьте, во всех ли строках стоит значение ОК, затем нажмите Next step
sudo wget http://repo.zabbix.com/zabbix/3.2/ubuntu/pool/main/z/zabbix-release/zabbix-release_3.2-1+xenial_all.deb
Проверьте настройки и нажмите
Next step
. create database zabbix character set utf8 collate utf8_bin;
grant all privileges on zabbix.* to zabbix@localhost identified by 'zabbix_test';
quit;
Установка завершена. Нажмите
Finish
:
sudo zcat create.sql.gz | mysql -uroot zabbix -p
Готово, теперь вы можете пользоваться веб-интерфейсом Zabbix:
grep -v '^#|^
Zabbix настройка агента СentOS 7
Установка Zabbix-Agent
Далее расскажем, как установить Zabbix agent на сервер. Агент Zabbix собирает данные мониторинга сети и отправляет их на сервер Zabbix.
Поскольку репозиторий уже установлен, установка Заббикс агента на СentOS выполняется командой:
- Далее откройте конфигурационный файл:
sudo apt install mysql-server mysql-client apache2sudo apt update && sudo apt upgradeРазрешите автозапуск агента и запустите его: Готово, установка Zabbix-Agent на сервер завершена.
sudo dpkg -i zabbix-release_3.2-1+xenial_all.debДобавление хоста на сервер Zabbix
Чтобы мониторить какой-либо хост, нужно добавить его на сервере Zabbix (в установленном веб-интерфейсе).
sudo apt update
cat /etc/apt/sources.list.d/zabbix.listsudo apt install zabbix-server-mysql zabbix-frontend-phpНажмите
Add
, а затем
Update
mysql -uroot -p
.sudo apt-get -f installГотово, хост добавлен на сервер Zabbix.
/etc/zabbix/zabbix_server.conf

Также следует создать А-запись для zabbix сервера с отмеченной галочкой PTR. Запускаем Zabbix сервер и смотрим его статус:
sudo systemctl start apache2.service sudo systemctl status apache2.serviceЗатем необходимо зайти в конфиг apache и выбрать необходимый часовой пояс. /etc/zabbix/zabbix_server.conf
Zabbix настройка агента СentOS 7
Установка Zabbix-Agent
Далее расскажем, как установить Zabbix agent на сервер. Агент Zabbix собирает данные мониторинга сети и отправляет их на сервер Zabbix.Поскольку репозиторий уже установлен, установка Заббикс агента на СentOS выполняется командой:
- Далее откройте конфигурационный файл:
sudo apt install mysql-server mysql-client apache2sudo apt update && sudo apt upgradeРазрешите автозапуск агента и запустите его:
Готово, установка Zabbix-Agent на сервер завершена.
sudo dpkg -i zabbix-release_3.2-1+xenial_all.debДобавление хоста на сервер ZabbixЧтобы мониторить какой-либо хост, нужно добавить его на сервере Zabbix (в установленном веб-интерфейсе).
sudo apt update cat /etc/apt/sources.list.d/zabbix.listsudo apt install zabbix-server-mysql zabbix-frontend-phpНажмите Add
, а затем
Update
mysql -uroot -p
.sudo apt-get -f installГотово, хост добавлен на сервер Zabbix.
/etc/zabbix/zabbix_server.conf

Также следует создать А-запись для zabbix сервера с отмеченной галочкой PTR. Запускаем Zabbix сервер и смотрим его статус:
sudo systemctl start apache2.service sudo systemctl status apache2.serviceЗатем необходимо зайти в конфиг apache и выбрать необходимый часовой пояс. Эти два параметра необходимо раскомментировать из блоков:
<IfModule mod_php5.c>
<IfModule mod_php 7.c>
Название параметра: php_value date.timezone Europe/Minsk
Далее перезагружаем веб-сервер:
sudo systemctl restart apache2.serviceНа следующем этапе можно зайти по ip_адрес/zabbix и увидеть веб-интерфейс Zabbix.
Нужно пройти настройку мастера, но я на втором шаге “словил” ошибку. Поэтому нужно установить недостающие пакеты и ребутнуть веб-сервер:
sudo apt install php-mbstring php-bcmath php-xml sudo systemctl reload apache2.serviceНастройка LDAP аутентификации AD
Первое, что нужно это создать в пользователя в каталоге Active Directory. Группа у пользователя после создания «Пользователи домена». Этого достаточно для аутентификации на zabbix сервере.
Выбрать текущий домен и “пр.кн мыши” -“Свойства”, “Расширения”, “Редактор атрибутов”. Найти атрибут “distinguishedName” и скопировать значения в настройку zabbix поле Bind DN (к примеру example.lan).

Для этого проделываем “пару” действий:
Подключаемся к mysql:
mysql -uroot -pmysql> UPDATE `zabbix`.`config` SET `authentication_type` = '0' WHERE `config`.`configid` =1;Установка Zabbix агентов на ОС Linux и ОС Windows
На моем Linux сервере уже установлен zabbix агент, но для «перфекционизма» я хочу использовать последнюю версию агента. Для просмотра версии zabbix агента выполняем команду:
sudo dpkg -s zabbix-agentsudo aptitude show zabbix-agentПереходим во временную директорию, скачиваем последнюю версию zabbix и устанавливаем агента:
wget http://repo.zabbix.com/zabbix/3.2/ubuntu/pool/main/z/zabbix-release/zabbix-release_3.2-1+xenial_all.debsudo dpkg -i zabbix-release_3.2-1+xenial_all.deb sudo apt update sudo dpkg -s zabbix-agent sudo apt install zabbix-agentЗатем настроем конфигурационный файл zabbix. Лично у меня опыт с zabbix не большой и по примеру я брал параметры из статей в разделе мануал и изучал их в официальной документации zabbix. Этих параметров хватило для стабильной работы агента. Проблем с ним не возникало.
sudo vi /etc/zabbix/zabbix_agentd.conf
Необходимо отредактировать следующие параметры:
PidFile=/var/run/zabbix/zabbix_agentd.pid LogFile=/var/log/zabbix/zabbix_agentd.log LogFileSize=10 Server=zabbix.example.lan ServerActive=zabbix.example.lan Hostname=Ubuntu-server Include=/etc/zabbix/zabbix_agentd.d/*.confПараметры «Server» и «ServerActive» — это полное имя (FQDN) пк, на котором крутится zabbix сервер.
«Hostname» — имя пк на который устанавливаем агента.
После редактирования нужных параметров, перезагружаем zabbix агент:
sudo systemctl restart zabbix-agent.serviceДобавим zabbix агент в автозагрузку:
sudo systemctl enable zabbix-agent.serviceНастройки Linux хоста на zabbix сервере
В веб-интерфейсе zabbix создаем хост, который будем «мониторить» (скрин расписан по шагам)

Указываем его имя и добавляем в нужную группу. Хост я указываю по DNS имени, так как на хосте Zabbix у меня корректно настроены параметры для взаимодействия с внутренней DNS инфраструктурой. Если у вас есть домен и настроен DNS, то вам следует в конфигурационный файл сетевых настроек добавить две записи.
sudo vi /etc/network/interfaces
dns-nameservers 192.168.1.100 # ip_адрес_домена
dns-search example.lan # поисковое_имя_домена
*Имя должно совпадать с именем пк в сети.
Далее на вкладке Templates “линкуем” к нашему хосту, стандартный шаблон мониторинга Linux систем и доступу к ssh (по желанию):

Затем переходим во вкладку «host» и наблюдаем индикатор zabbix агента, его рабочее состояние отображается в зеленом цвете. Статус должен быть «Enabled». После того как мы применили шаблон, стандартный набор параметров начал мониториться. Их посмотреть можно в настройках хоста вкладка “items” и “triggers”.
Также возможно редактировать «items» и «triggers» удалять или добавлять параметры.
На скриншоте показано рабочее состояние, это означает, что производится мониторинг.

Установим zabbix агент на Windows. В моем случае это Hyper-V Server 2012R2 без Gui.
Агента скачиваем с официального сайта Zabbix, выбрать для платформы Windows.На консольном Hyper-V у меня установлен бесплатный двухпанельный файловый менеджер Unreal Commander. Поэтому распаковываю архив я с помощью него, затем сохраняю два файла в корень “диска C”:
На начальном этапе конфигурируем Брандмауэр Windows. Следует добавить входящее правило разрешающее подключение к TCP порту 10050. Перехожу к установке агента zabbix и импортирую конфиг.файл:
c:zabbix_agentd.exe --config c:zabbix_agentd.conf --installЗатем по аналогии с настройкой агента для Linux вношу необходимые параметры в конфигурационный файл zabbix_agentd.conf
Изменение файла производится с помощью текстового редактора notepad ++.
Если всё прошло успешно, то никаких предупреждений не увидим. Затем нужно запустить службу Zabbix Agent.
В cmd ведем taskmgr и правой кнопкой запустим службу. Аналогично через консоль:
zabbix_agentd.exe -c c:zabbix_agentd.conf -sЕсли необходимо удалить службу и конфигурационный файл, то выполняем команду:
c:zabbix_agentd.exe --config c:zabbix_agentd.conf --uninstallПроцедура создание хоста в Zabbix аналогична Linux, отличие заключается в том, что применяется стандартный шаблон для
Windows систем
(Template OS Windows).
Русификация Zabbix
Для того, чтобы веб-интерфейс Zabbix отображался на русском языке, необходимо русифицировать консоль (самого Linux сервера, на котором установлен Zabbix).
Просмотр какие установлены локализаций:
sudo locale -aПросмотр доступных локализаций (относительно русской):
cat /usr/share/i18n/SUPPORTED | grep ru_Устанавливаю нужную локализацию:
sudo locale-gen ru_RU sudo locale-gen ru_RU. UTF-8 sudo dpkg-reconfigure localesПерезагрузить apache и выбрать русский язык в веб- интерфейсе Zabbix:
sudo systemctl restart apache2.serviceP. S Если будет
интересноопишу как прикрутить Telegram к Zabbix.
Ссылки на manual:
Zabbix — это опенсорсная система мониторинга для сетей и приложений. С помощью Zabbix можно в режиме реального времени отслеживать разные метрики, полученные от серверов (например, VPS/VDS), виртуальных серверов и машин, элементов сети и веб-приложений. Подробнее об этой системе вы можете прочитать в статье Zabbix: что такое и как использовать. В этой инструкции рассмотрена настройка и установка Zabbix на CentOS (она подойдёт дистрибутивов CentOS 7 и выше).
Чтобы поставить Zabbix на Linux, потребуется установить веб-сервер Nginx, PHP и СУБД MariaDB.
Облачные серверы нового поколения
Виртуализация KVM, почасовая оплата, резервные копии, готовые шаблоны, 10 доступных ОС на выбор!

Подготовка сервера
Установка времени
Задайте правильную временную зону (в примере московское время):
cp /usr/share/zoneinfo/Europe/Moscow /etc/localtimeУстановите и запустите сервис синхронизации времени:
yum install chrony systemctl enable chronyd systemctl start chronydНастройка фаервола
Откройте порты с помощью команды:
firewall-cmd --permanent --add-port={80/tcp,443/tcp,10051/tcp,10050/tcp,10050/udp,10051/udp}Установка и настройка web-сервера в CentOS
Установка MariaDB
Для установки СУБД MariaDB введите команду:
yum install mariadb mariadb-serverРазрешите автозапуск сервера баз данных и запустите MariaDB:
systemctl enable mariadb systemctl start mariadbЗадайте пароль суперпользователя:
mysqladmin -u root passwordПосле ввода команды нужно ввести пароль и подтвердить его.
Установка веб-сервера
Мы будем использовать веб-сервер Nginx.
Разрешите автозапуск и запустите Nginx:
systemctl enable nginx systemctl start nginxУстановка PHP
Установите PHP и необходимые компоненты:
yum install php php-fpm php-mysql php-pear php-cgi php-common php-ldap php-mbstring php-snmp php-gd php-xml php-gettext php-bcmathНайдите и отредактируйте следующие параметры:
date.timezone = "Europe/Moscow" max_execution_time = 300 post_max_size = 16M max_input_time = 300 max_input_vars = 10000Для быстрого поиска нажмите Ctrl+W и введите название параметра. Сохраните изменения, нажав Ctrl+X, Y, Enter.
systemctl enable php-fpm systemctl start php-fpmНастройка связки Nginx+PHP
Откройте конфигурационный файл Nginx:
nano /etc/nginx/nginx.confПриведите настройки к виду:
server { listen 80 default_server; server_name _; set $root_path /usr/share/nginx/html; root $root_path; location / { index index.php; } location ~ .php$ { fastcgi_pass 127.0.0.1:9000; fastcgi_buffer_size 32k; fastcgi_buffers 4 32k; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $root_path$fastcgi_script_name; include fastcgi_params; fastcgi_param DOCUMENT_ROOT $root_path; fastcgi_read_timeout 300; } }Проверьте корректность настроек:
Если настройки внесены верно, вы увидите сообщение:
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok nginx: configuration file /etc/nginx/nginx.conf test is successfulОткройте корневой каталог с помощью команды:
Добавьте в файл строку:
Установка и настройка сервера Zabbix (Zabbix install CentOS)
Zabbix установка CentOS 7
Установите репозиторий Zabbix командой:
yum install https://repo.zabbix.com/zabbix/4.2/rhel/7/x86_64/zabbix-release-4.2-2.el7.noarch.rpmУстановите сервер Zabbix с помощью команды:
yum install zabbix-server-mysql zabbix-web-mysql zabbix-agent zabbix-getНастройка базы данных
Создайте базу данных с помощью команды:
CREATE DATABASE zabbix_name DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;Где zabbix_name — имя базы данных.
Создайте пользователя базы данных:
GRANT ALL PRIVILEGES ON zabbix_name.* TO zabbix_user@localhost IDENTIFIED BY '123456';cd /usr/share/doc/zabbix-server-mysql-*Распакуйте архив с дампом базы данных:
Восстановите базу данных из дампа:
mysql -u root -p zabbix < create.sqlПосле ввода команды нужно ввести пароль, заданный при установке MariaDB.
Настройка Zabbix
Откройте конфигурационный файл Zabbix:
nano /etc/zabbix/zabbix_server.confгде 123456 — пароль базы данных.
Проверьте значения строк:
DBName=zabbix_name DBUser=zabbix_userЗапуск Zabbix-server
Разрешите автозапуск мониторинга:
systemctl enable zabbix-serversystemctl start zabbix-serverНастройка Nginx
Откройте конфигурационный файл:
nano /etc/nginx/nginx.confset $root_path /usr/share/nginx/html;set $root_path /usr/share/zabbix;Настройка веб-интерфейса Zabbix
- Проверьте, во всех ли строках стоит значение ОК, затем нажмите Next step:
- Пропишите данные для подключения к базе данных; Нажмите Next step:
- Оставьте уже указанные значения Host и Port. Опционально вы можете ввести любое имя сервера в поле Name. Нажмите Next step.
- Проверьте настройки и нажмите Next step.
- Установка завершена. Нажмите Finish:
Готово, теперь вы можете пользоваться веб-интерфейсом Zabbix:
Zabbix настройка агента СentOS 7
Установка Zabbix-Agent
Далее расскажем, как установить Zabbix agent на сервер. Агент Zabbix собирает данные мониторинга сети и отправляет их на сервер Zabbix.
Поскольку репозиторий уже установлен, установка Заббикс агента на СentOS выполняется командой:
Далее откройте конфигурационный файл:
nano /etc/zabbix/zabbix_agentd.confРазрешите автозапуск агента и запустите его:
systemctl enable zabbix-agent systemctl start zabbix-agentГотово, установка Zabbix-Agent на сервер завершена.
Добавление хоста на сервер Zabbix
Чтобы мониторить какой-либо хост, нужно добавить его на сервере Zabbix (в установленном веб-интерфейсе).
- Нажмите Add, а затем Update.
- Готово, хост добавлен на сервер Zabbix.
- Далее откройте конфигурационный файл:
Создайте базу данных с помощью команды:







