Zabbix это open-source система мониторинга корпоративного уровня. На текущий момент Zabbix одна из самых популярных и функциональных бесплатных систем мониторинга. Благодаря простой установке и настройке Zabbix можно использовать для мониторинга крупных инфраструктур с сотнями серверов, так и для мелких конфигураций. В этой статье мы рассмотрим, как выполнить установку и базовую настройку сервера Zabbix 4.4 с веб-интерфейсом на базе Linux Ubuntu и CentOS, установить агенты Zabbix на сервере Windows и Linux, и добавить новые хосты в систему мониторинга.
Общий интерфейс Zabbix сервера представлен на скриншоте ниже.
Содержание:
- Из чего состоит Zabbix и что он может?
- Установка Zabbix Server в Linux (Ubuntu, CentOS)
- Настройка веб-интерфейса Zabbix
- Установка Zabbix Agent в Windows
- Добавление устройства на Zabbix-сервере
- Установка Zabbix Agent в Linux
Из чего состоит 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 будет обращаться к базе данных:
mysql -uroot
mysql> create database zabbix character set utf8 collate utf8_bin;
mysql> grant all privileges on zabbix.* to zabbix@localhost identified by 'ВашПароль';
mysql> quit;
Импортируйте базу данных Zabbix. Нужно будет ввести пароль, который вы указали при создании пользователя.
zcat /usr/share/doc/zabbix-server-mysql*/create.sql.gz | mysql -uzabbix -p 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:
# firewall-cmd --add-service={http,https} --permanentfirewall-cmd --add-port={10051/tcp,10050/tcp} –permanent
А на агенте достаточно открыть 10050:
# firewall-cmd --permanent --add-port=10050/tcp
Не забудьте перезагрузить firewalld:
# firewall-cmd –reload
После этого жмите Next Step и Finish. После успешной установки вас попросит залогиниться. По-умолчанию логин
Admin
, пароль
zabbix
(замените его).
На этом установка сервера Zabbix Server завершена.
На странице https://www.zabbix.com/download есть пошаговые инструкции для установки Zabbix Server на другие операционные системы, а так же инструкции как собрать zabbix-server из исходного кода или запустить его в docker контейнерах.
Установка Zabbix Agent в Windows
Попробуем установить Zabbix агент на сервер Windows и добавим его на наш сервер мониторинга Zabbix. Скачать версию Zabbix агент для Windows можно здесь: https://www.zabbix.com/download_agents.
Выберите нужную версию агента под Windows. Я выберу формат msi (amd64) (без OpenSSL). Если вы планируете устанавливать zabbix agent на сервера/компьютеры домена через групповые политики или SCCM, то можете скачать zip архив с бинарными файлами и конфигурационными файлами.
Запустите инсталлятор, примите лицензионное соглашение, укажите запрошенные данные. Обратите внимание, что в поле “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 Files\Zabbix Agent\zabbix_agentd.txt).
Сообщение “started [active checks #1]” говорит о том, что на сервере найдены активные проверки для этого хоста. Теперь посмотрим на данные, которые пришли на сервер Zabbix от агента. Для этого в Zabbix перейдите на Monitoring -> Latest Data и выберете нужный вам хост в поле Hosts.
В этом разделе отображаются последние данные, которые пришли на сервер по выбранным хостам или группам хостов.
Обратите внимание на то, что в дашборде Zabbix висит уведомление о том, что служба BITS не запущена. Это уведомление появилось потому что мы назначили стандартные шаблоны нашему хосту. В одном из шаблонов был мониторинг сервиса BITS и соответствующий триггер, который срабатывает если служба BITS находится не в статусе Running.
На этом настройка Windows Agentа завершена.
Установка Zabbix Agent в Linux
Теперь установим агент Zabbix в Linux. Для установки Zabbix агента в Ubuntu Server 18.04 с помощью пакетного менеджера нужно скачать и установить репозиторий Zabbix. Затем из репозитория установим zabbix agent:
# 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-agent
В 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, которая вышла в мае 2020 года.
Основное преимущество продукта — большое сообщество пользователей и, как следствие, множество полезной информации о подходах к использованию, настройке, созданию шаблонов мониторинга и многом другом.
Скачать Zabbix можно на официальном сайте. Продукт поддерживает множество актуальных платформ.
Кроме CentOS, установка Zabbix-сервера из бинарного файла возможна на следующие операционные системы:
- Alma Linux,
- Debian,
- Oracle Linux,
- Raspberry Pi OS,
- Red Hat Enterprise Linux;
- Rocky Linux,
- SUSE Linux Enterprise Server;
- Ubuntu,
- Ubuntu (arm64).
Zabbix и его компоненты
Zabbix — это распределенная система мониторинга, которая состоит из компонентов. Рассмотрим ключевые.
- Zabbix-сервер. Этот компонент — ядро системы мониторинга. Он отвечает за визуализацию, агрегацию и аналитику данных, оповещения, управление распределенными компонентами (прокси и агентами). В качестве web-сервера вендор позволяет использовать Apache или Nginx.
- Zabbix-прокси. Компонент отвечает за управление Zabbix-агентами. Использование прокси опционально, но позволяет снизить нагрузку на Zabbix-сервер за счет переноса с него функций управления агентами и предобработки данных. Эта функциональность появилась как раз в пятой версии Zabbix.
- Zabbix-агент. Агент — конечный компонент инфраструктуры мониторинга. Выполняет сбор и отправку данных о производительности на Zabbix-прокси или Zabbix-сервер.
- База данных Zabbix. Хранилище метрик производительности. Вендор поддерживает реляционные базы данных: MySQL, PostgreSQL, SQL Server, Oracle. Обращаем внимание, что с версии 5.0 прекращена поддержка базы данных IBM DB2.
- Web-интерфейс. Компонент предназначен для мониторинга показателей системы. Также при его помощи можно настраивать отслеживаемые компоненты и основную систему Zabbix.
Готовые решения для установки
Установка Zabbix в виде Docker-контейнера
Установка системы из Docker-контейнера — быстрый способ, который займет не более 10 минут.
1. Добавим репозиторий Docker и установим необходимые пакеты.
# yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
# yum install docker-ce docker-ce-cli containerd.io docker-compose
Следующий шаг — клонирование репозитория Zabbix с Github:
# git clone https://github.com/zabbix/zabbix-docker.git
2. Перейдем в клонированный репозиторий и просмотрим содержимое командой ls
.
# cd zabbix-docker/
# ls
agent docker-compose_v3_centos_mysql_local.yaml java-gateway snmptraps
agent2 docker-compose_v3_centos_pgsql_latest.yaml kubernetes.yaml web-apache-mysql
build.sh docker-compose_v3_centos_pgsql_local.yaml LICENSE web-apache-pgsql
docker-compose_v3_alpine_mysql_latest.yaml docker-compose_v3_ubuntu_mysql_latest.yaml proxy-mysql web-nginx-mysql
docker-compose_v3_alpine_mysql_local.yaml docker-compose_v3_ubuntu_mysql_local.yaml proxy-sqlite3 web-nginx-pgsql
docker-compose_v3_alpine_pgsql_latest.yaml docker-compose_v3_ubuntu_pgsql_latest.yaml README.md zabbix-appliance
docker-compose_v3_alpine_pgsql_local.yaml docker-compose_v3_ubuntu_pgsql_local.yaml server-mysql zbx_env
docker-compose_v3_centos_mysql_latest.yaml generate-stackbrew-library.sh server-pgsql
3. Запустим демон Docker.
# systemctl start docker
4. Соберем и запустим контейнеры с Zabbix.
# docker-compose -f docker-compose_v3_centos_pgsql_latest.yaml up -d
5. После запуска компонентов Zabbix, перейдем в web-интерфейс.
Установка Zabbix из готовых образов
Самый быстрый тип установки — из готовых образов. Разворачивание займет не более 5 минут. Рассмотрим установку Zabbix-сервера из образа в формате Open virtualization format (OVF).
Для разворачивания OVF-образа на локальной машине предварительно нужно установить VirtualBox. Последний поддерживает множество актуальных платформ и доступен для скачивания на сайте Oracle. После установки ПО и загрузки образа, приступим к установке.
1. В интерфейсе VirtualBox нажмем кнопку Импортировать.
2. Выберем образ zabbix_appliance-5.0.0.ovf (рядом с ним должен находиться zabbix_appliance-5.0.0-disk001.vmdk). Нажмем Продолжить, а на следующем экране все параметры оставим по умолчанию и нажмем Импорт.
3. Теперь мы можем открыть виртуальную машину соответствующей кнопкой Запустить. Обратите внимание, что для корректного подключения к интерфейсу Zabbix или виртуальной машине по SSH в сетевых настройках должен быть указан тип подключения Сетевой мост.
4. Дожидаемся успешного запуска виртуальной машины, входим под учетными данными root / zabbix в консоли VirtualBox и выполняем команду # ip a
. В результате увидим настройки сети на виртуальной машине с установленным Zabbix.
5. Теперь подключимся к Zabbix-серверу через браузер. Учетные данные стандартные — Admin / zabbix. Данные о производительности начнут собираться сразу. Установка завершена!
Ручная установка
Основные отличия установки
Рассмотрим установку системы на CentOS, Ubuntu, Debian и Windows. При этом важно отметить, что установка на дистрибутивы Ubuntu и Debian практически не отличается, поэтому подробнее остановимся на CentOS и Windows.
Подобрать команды под конкретную версию Zabbix и версию ОС можно на официальном сайте. Для этого нужно только выбрать конфигурацию вашего сервера, а утилита автоматически подберет список команд со ссылками на документацию. Например, установка Zabbix-прокси пятой версии на сервер с Ubuntu 24.04 и БД PostgreSQL будет выглядеть так:
Установка Zabbix-сервера на CentOS
В первую очередь установим сервер.
1. В панели управления перейдем во вкладку Облачная платформа → Проекты и нажмем на кнопку Создать проект. В следующем окне заполняем имя проекта и нажимаем Создать.
2. После создания проекта вернемся во вкладку Облачная платформа → Серверы и нажмем Создать сервер.
3. В окне конфигурирования нового сервера выбираем источник — CentOS 8 64-bit, vCPU — 4, RAM — 8.
Конфигурация зависит от метрик мониторинга, которые вы будете использовать, а также от времени их хранения. Подробнее о требованиях к аппаратному и программному обеспечению — в официальной документации Zabbix.
В подразделе Сеть выбираем Новый публичный IP-адрес, чтобы позже мы могли подключиться к серверу через SSH и к web-консоли Zabbix через браузер. Остальные параметры можно оставить по умолчанию или настроить исходя из ваших требований.
4. В подразделе Доступ копируем пароль root. Нажимаем на кнопку Создать сервер. Как только сервер будет создан, во вкладке Облачная платформа →Серверы около него появится статус Active. Теперь мы можем подключиться к внешнему плавающему IP-адресу по протоколу SSH.
Перейдем к установке репозиториев ПО. Это нужно для получения актуального набора пакетов с компонентами Zabbix и PostgreSQL.
1. Выполним команды для установки компонентов.
# yum install https://repo.zabbix.com/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpm https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm
# yum clean all
Репозитории с актуальными версиями устанавливаемых компонентов для различных платформ можно найти на сайтах производителей Zabbix и PostgreSQL.
2. Установим Zabbix-сервер и Zabbix-агент.
# yum install zabbix-server-pgsql zabbix-agent
3. Внесем изменения в конфигурацию репозитория Zabbix. Для этого включим Zabbix frontend в файле /etc/yum.repos.d/zabbix.repo
, изменив значение ключа enabled со значения 0 на 1.
[zabbix-frontend]
name=Zabbix Official Repository frontend - $basearch
baseurl=http://repo.zabbix.com/zabbix/5.0/rhel/7/$basearch/frontend
enabled=1
gpgcheck=1
gpgkey=file://etc/pki/rpm-gpg/RPM-GPG-KEY-ZABBIX-A14FE591
4. Установим Red Hat Software Collections для упрощения дальнейшей настройки, а также PostgreSQL и другие пакеты.
# yum install centos-release-scl
# yum install postgresql12-server zabbix-web-pgsql-scl zabbix-nginx-conf-scl
Обратите внимание, что в инструкции мы работаем с локальным хранилищем на базе PostgreSQL. Если вы используете MySQL, то имя пакета для Zabbix-сервера будет отличаться.
5. Инициализируем и настроим автозапуск, запустим БД PostgreSQL.
# /usr/pgsql-12/bin/postgresql-12-setup initdb
# systemctl enable postgresql-12
# systemctl start postgresql-12
6. После успешного запуска создадим базу данных для Zabbix и пользователя в ней. Первая команда запросит пароль.
# sudo -i -u postgres createuser --pwprompt zabbix
# sudo -i -u postgres createdb -O zabbix zabbix
7. Внесем изменения в конфигурационный файл /var/lib/pgsql/12/data/pg_hba.conf для корректного подключения к БД PostgreSQL с паролем. Метод для обоих подключений должен быть md5.
# TYPE DATABASE USER ADDRESS METHOD
# "local" is for Unix domain socket connections only
local all all md5
# IPv4 local connections:
host all all 127.0.0.1/32 md5
8. После создания пользователя организуем для него схему по умолчанию.
# sudo -i -u postgres psql -U zabbix
# zabbix=> create schema zabbix;
# zabbix=> ALTER ROLE zabbix SET search_path = zabbix;
# zabbix=> \q
9. Установим в БД схемы данных.
# zcat /usr/share/doc/zabbix-server-pgsql*/create.sql.gz | sudo -u zabbix psql zabbix
10. Впишем созданный для БД пароль в конфигурационный файл Zabbix /etc/zabbix/zabbix_server.conf
. На этом шаге нам нужны параметры DBHost, DBName, DBSchema, DBUser и DBPassword.
Далее — настроим Nginx для корректной работы в Zabbix.
1. Перейдем в конфигурационный файл /etc/opt/rh/rh-nginx116/nginx/conf.d/zabbix.conf
. Раскомментируем две строки и укажем IP-адрес или имя сервера.
listen 80;
server_name ;
2. Перейдем к файлу /etc/opt/rh/rh-php72/php-fpm.d/zabbix.con
и внесем изменения в двух местах.
listen.acl_users = apache,nginx
php_value[date.timezone] = Europe/Moscow
3. Запустим сервисы Zabbix и добавим их в автозапуск.
# systemctl restart zabbix-server zabbix-agent rh-nginx116-nginx rh-php72-php-fpm
# systemctl enable zabbix-server zabbix-agent rh-nginx116-nginx rh-php72-php-fpm
Если все было настроено верно, то при переходе по имени или адресу сервера в браузере откроется начальное окно настройки Zabbix 5.0.
1. Переходим на экран Configure DB connection и указываем реквизиты подключения к БД.
2. В окне Zabbix server details вводим имя хоста, на котором установлен Zabbix. Порт оставляем по умолчанию.
3. Переходим на последний экран и нажимаем Finish. Настройка завершена.
4. Стандартная учетная запись для входа — Admin с паролем zabbix. Установка завершена и система готова к работе, можно приступать к ее настройке.
В некоторых ситуациях для корректной работы системы Zabbix важно отключить SElinux.
Установка Zabbix-сервера с MySQL в Ubuntu и Debian
Установка Zabbix на Ubuntu и Debian практически идентична из-за схожести дистрибутивов. Отличается только первый этап. Рассмотрим пошаговый процесс установки Zabbix с использованием базы данных MySQL, а также web-серверов Apache и Nginx.
1. Скачаем репозиторий Zabbix, установим его и обновим репозитории. В примере используем Ubuntu 20.04 и Debian 10, но вы можете заменить название дистрибутива исходя из версии.
Для Ubuntu:
wget https://repo.zabbix.com/zabbix/5.0/ubuntu/pool/main/z/zabbix-release/zabbix-release_latest_5.0+ubuntu20.04_all.deb
dpkg -i zabbix-release_latest_5.0+ubuntu20.04_all.deb
apt update
Для Debian:
# wget https://repo.zabbix.com/zabbix/5.0/debian/pool/main/z/zabbix-release/zabbix-release_latest_5.0+debian10_all.deb
# dpkg -i zabbix-release_latest_5.0+debian10_all.deb
# apt update
2. Установим MySQL, web-интерфейс, Zabbix-сервер, а также Zabbix-агент, если не сделали этого ранее.
Для работы с Apache:
apt install zabbix-server-mysql zabbix-frontend-php zabbix-nginx-conf zabbix-agent
Для работы с Nginx:
apt install zabbix-server-mysql zabbix-frontend-php zabbix-apache-conf zabbix-agent
3. Создадим базу данных и пользователя для Zabbix, задаем пароль.
sudo mysql -u root -p
4. В консоли MySQL создадим БД с кодировкой, пользователя и пароль для него, а также выдадим ему доступ к базе данных. Обратите внимание, что система Zabbix поддерживает только кодировку UTF-8.
create database zabbix character set utf8 collate utf8_bin;
create user zabbix@localhost identified by пароль для нового пользователя';
grant all privileges on zabbix.* to zabbix@localhost;
set global log_bin_trust_function_creators = 1;
quit;
5. Импортируем начальную схему и данные на хосте Zabbix. Система запросит пароль — указываем тот, что создали на предыдущем шаге.
zcat /usr/share/doc/zabbix-server-mysql/create.sql.gz | mysql -uzabbix -p zabbix
6. В конфигурационном файле Zabbix-сервера /etc/zabbix/zabbix_server.conf
введем после DBPassword=
пароль для подключения к БД. Далее — сохраним изменения и закроем редактор.
7. Для Apache — отредактируем файл /etc/zabbix/apache.conf
. Раскомментируем строку и установим правильный временной пояс, в нашем примере — московский, но вы можете выбрать любой подходящий.
php_value date.timezone Europe/Moscow
Для Nginx — отредактируем файл /etc/zabbix/nginx.conf
. Раскомментируем и настроим директивы listen и server_name.
listen 80;
server_name example.com;
Также при работе с Nginx важно отредактировать файл /etc/zabbix/php-fpm.conf
. Раскомментируем строку и укажем свой часовой пояс.
php_value[date.timezone] = Europe/Moscow
8. Перезапустим web-сервис и настроим автозапуск при загрузке операционной системы.
Для Apache:
# systemctl restart zabbix-server zabbix-agent apache2
# systemctl enable zabbix-server zabbix-agent apache2
Для Nginx:
# systemctl restart zabbix-server zabbix-agent nginx php7.3-fpm
# systemctl enable zabbix-server zabbix-agent nginx php7.3-fpm
Установка завершена!
Установка агента Zabbix на Windows
Перед началом установки создадим в панели управления сервер с ОС Windows.
1. Во вкладке Облачная платформа → Проекты и нажмем на кнопку Создать проект. В следующем окне заполняем имя проекта и нажимаем Создать.
2. Перейдем во вкладку Облачная платформа → Серверы и нажмем Создать сервер.
3. В окне конфигурирования нового сервера выбираем источник — Windows Server 2016 Standard, vCPU — 4, RAM — 8. Остальные настройки оставляем по умолчанию, однако вы можете конфигурировать сервер исходя из ваших требований.
4. В подразделе Сеть выбираем Новый публичный IP-адрес для подключения к серверу через RDP.
5. В подразделе Доступ копируем пароль учетной записи Administrator для дальнейшего доступа к серверу по RDP. Нажимаем на кнопку Создать сервер.
6. Когда сервер будет готов, во вкладке Облачная платформа → Серверы он перейдет в статус Active. Теперь можно подключаться к внешнему плавающему IP-адресу по протоколу RDP.
Установка и настройка Zabbix-агента на Windows-сервер в ручном режиме занимает около 10 минут. Скачать дистрибутив можно на сайте Zabbix.
1. После скачивания архив распакуем в созданную директорию (в нашем примере — C:\Zabbix).
2. Внесем изменение в конфигурационный файл, который хранится в папке conf.
Server=
3. Установим агент в виде сервиса и запустим его. Для этого выполним zabbix_agentd со специальными реквизитами.
> zabbix_agentd.exe -c C:\Zabbix\conf\zabbix_agentd.conf -i
> zabbix_agentd.exe -c C:\Zabbix\conf\zabbix_agentd.conf --start
4. Добавим агента в web-интерфейсе Zabbix. Перейдем во вкладку Configuration → Hosts и в верхнем правом углу нажмем Create Host.
5. Введем данные сервера — имя, группу и сетевой интерфейс, через который будет выполняться подключение к агенту.
6. Перейдем на вкладку Templates. Так как речь идет об ОС Windows, применим к узлу соответствующий шаблон Template OS Windows by Zabbix agent. Сохраним изменения и подождем начала сбора метрик.
7. Собираемые по узлам метрики доступны на представлении Monitoring → Latest Data. Напротив каждой метрики (Item) есть кнопка Graph, при нажатии на которую открывается соответствующий график. Настройка мониторинга узла с ОС Windows завершена!
Настройка и интеграция Zabbix 5
Рассмотрим добавление пользователя, настройку оповещений и изменение шаблонов мониторинга. Также опишем ключевые технологии и элементы инфраструктуры Zabbix.
Настройка web-интерфейса
В web-интерфейсе мы можем настроить отчеты и мониторить работу серверов. Важно отметить, что фронтенд Zabbix написан на PHP, поэтому для запуска нужен сервер с его поддержкой.
1. Откроем в браузере URL-адрес web-интерфейса Zabbix. Для Nginx — http://<server_ip_or_name>
, для Apache — http://<server_ip_or_name>/zabbix
. Так мы попадем на первую страницу установки. Переходим к следующему этапу, нажав кнопку Next step.
2. Во втором окне убедимся, что на всех строках зафиксирован статус OK.
3. Проверяем поля для подключения к БД. Автоматически заполнено все, кроме пароля. Вводим его.
4. Оставляем поля по умолчанию. Поле Name — опциональное, но при указании имени сервера оно будет отображаться в меню и заголовках страниц.
5. Проверяем настройки и переходим далее.
6. Установка завершена. Нажимаем Finish.
7. Переходим на страницу авторизации, вводим имя и пароль для входа в web-интерфейс.
Добавление пользователя
Для каждого пользователя в Zabbix есть имя и пароль — реквизиты, с которыми можно войти в систему. Все пароли в Zabbix хранятся в зашифрованном виде, а при необходимости можно настроить авторизацию пользователей через Active Directory или LDAP. Рассмотрим работу встроенных в Zabbix пользователей.
Важный нюанс: в системе Zabbix каждый пользователь должен входить в группу. На их основе присваиваются соответствующие права. Создадим пользователя и рассмотрим на примере.
1. В web-интерфейсе Zabbix перейдем в раздел Administration, далее — во вкладку Users. В верхнем правом углу нажмем Create User.
2. Укажем имя пользователя, группу и пароль. Остальные поля можно оставить по умолчанию.
3. Для каждого пользователя можно указать его данные для оповещения: электронную почту, аккаунт в Telegram, имя в Slack и т. д. Для этого перейдем на страницу Media, нажмем Add. В качестве примера выберем Type — Email и укажем адрес электронной почты. Также здесь можно задать критичность событий, по которым нужно отправлять уведомления, а также интервал оповещений.
4. После внесения всей информации нажмем Add во вкладке User и сохраним созданного пользователя.
Важно: для любого пользователя мы можем сменить пароль. Для этого в Administration → Users нужно выбрать соответствующую учетную запись, нажать Change password и ввести новый пароль.
Теперь создадим группу пользователей.
1. Переходим во вкладку Administration → User groups. В верхнем правом углу нажимаем Create user group.
2. Указываем имя группы и созданного пользователя.
3. На странице Permissions указываем имя группы хостов, к данным по которой у создаваемой группы будет доступ. Нажимаем Add.
4. Группа создана. Ей предоставлен требуемый уровень прав, а также привязан пользователь.
Также важно отметить, что одно из нововведений пятой версии Zabbix — поддержка SAML (Security Assertion Markup Language), — открытого стандарта обмена данными аутентификации. Он позволяет использовать одни учетные данные для авторизации и получения доступа в нескольких приложениях.
Помимо прочего, SAML упрощает процесс интеграции с многими облачными провайдерами идентификации. Однако стандарт требует отдельного внимания, так что подробнее о его применении еще расскажем в отдельном тексте.
Низкоуровневое обнаружение (Low Level Discovery, LLD)
Низкоуровневое обнаружение позволяет автоматически ставить на мониторинг динамические экземпляры узлов. Например, файловые системы или сетевые интерфейсы, которые добавят администраторы, автоматически обнаружатся и появятся в системе мониторинга. Помимо прочего, в рамках шаблона можно настроить правила автоматического обнаружения.
В качестве примера рассмотрим Discovery Rules (правила обнаружения) для шаблона Windows. Здесь их четыре для следующих сущностей:
- файловых систем,
- сетевых интерфейсов,
- физических дисков,
- сервисов.
Рассмотрим устройство правила обнаружения для файловых систем. В поле Key указан элемент данных vfs.fs.discovery, встроенный в Zabbix. Он возвращает список файловых систем, примонтированных к серверу. Другие встроенные элементы данных собраны на отдельной странице производителя.
Во вкладке Filters перечислены прототипы данных, которые в случае обнаружения новых элементов распознают их и запишут в БД.
Помимо прочего, Zabbix поддерживает добавление собственных элементов данных, фильтров и макросов.
Изменение шаблонов Zabbix
Шаблоны в Zabbix включают в себя следующие компоненты:
- приложения (Applications),
- экземпляры (Items),
- макросы (Macros),
- триггеры (Triggers),
- правила обнаружения (Discovery rules),
- другие элементы данных.
Каждый из элементов отвечает за свои уникальные возможности. Разберем формирование пороговых схем в триггерах на примере шаблона для Windows и его части — шаблона для файловых систем.
В примере ниже мы видим прототипы триггеров, которые соответствуют порогам по файловым системам Windows-серверов. Чтобы изменить пороговую схему, достаточно перейти в нужный шаблон и внести корректировки.
Получить подробную информацию о создании выражений для настройки порогов можно в документации Zabbix.
Zabbix-прокси
Zabbix-прокси (Zabbix proxy) — процесс, который собирает данные мониторинга и позволяет отправлять их Zabbix-серверу. Он обеспечивает буферизацию информации, которая поступает от агентов, а также ее дальнейшую трансляцию в сторону Zabbix-сервера. Zabbix-прокси использует отдельную базу данных и поддерживает SQLite, MySQL и PostgreSQL.
Zabbix proxy можно эффективно использовать для сбора метрик с агентов в выделенных или удаленных сетях (за файерволом), участков инфраструктуры с ненадежной связью, а также для снижения нагрузки на Zabbix-сервер. Начиная с версии 5.0 прокси поддерживает предобработку данных на своей стороне.
Настройка шифрованной передачи данных
Шифрование данных между Zabbix-агентом и Zabbix-сервером — важный аспект безопасности, особенно при передаче данных через интернет без использования защищенного (зашифрованного) канала. Рассмотрим настройку с использованием предварительно согласованных ключей (Pre-Shared Keys, PSK). Это можно сделать, например, с помощью GnuTLS или OpenSSL. Рассмотрим второй вариант.
Генерация Pre-Shared Key (PSK)
Сгенерируем 256-битный (32-байтный) PSK. На хосте с установленным Zabbix-агентом выполним следующую команду в консоли. Она создаст файл с ключом по указанному пути.
openssl rand -hex 32 > /etc/zabbix5/zabbix_agentd.psk
Настройка агента Zabbix
Откроем конфигурационный файл агента zabbix_agentd.conf и добавим параметры.
- TLSConnect — указывает, что агент будет использовать PSK для подключения.
- TLSAccept — разрешает серверу подключаться с использованием PSK.
- TLSPSKFile — путь к файлу с ключом.
- TLSPSKIdentity — уникальный идентификатор ключа.
TLSConnect=psk
TLSAccept=psk
TLSPSKFile=/etc/zabbix/zabbix_agentd.psk
TLSPSKIdentity=PSK 001
После внесения изменений важно перезапустить Zabbix Agent.
systemctl restart zabbix-agent
Настройка шифрования на Zabbix Server
Перейдем в web-интерфейс Zabbix-сервера и выполним следующие действия.
- Откроем свойства хоста, данные от которого передаются через агент.
2. Перейдем во вкладку Шифрование.
3. Укажем следующие настройки:
- в полях Тип подключения и Соединение с узлом сети — PSK,
- идентификатор PSK — PSK 001 (должен совпадать с
TLSPSKIdentity
в конфигурации агента), - сгенерированный ключ из файла
/etc/zabbix/zabbix_agentd.psk
.
Если шифрование настроено корректно, на странице информации о хосте в web-интерфейсе Zabbix Server будет отображена пометка о зашифрованном соединении. Настройка обеспечивает безопасную передачу данных и минимизирует риски утечки конфиденциальной информации.
Интеграция Zabbix с внешними системами
Разберем возможности интеграции Zabbix с системой визуализации Grafana, которую можно использовать для отображения статусов, графиков, значений и других типов данных.
Об инструменте Grafana, его установке и настройке, подключении внешних источников данных и не только — в отдельном обзоре.
1. Установим и запустим Grafana в виде Docker-контейнера.
# docker run -d -p 3000:3000 grafana/grafana
2. После установки убедимся, что контейнер с Grafana выполняется.
# docker ps | grep grafana
1592a00802b5 grafana/grafana "/run.sh" 2 minutes ago Up 21 minutes 0.0.0.0:3000->3000/tcp optimistic_diffie
3. Используя ID контейнера, установим специализированный плагин для Zabbix и перезагрузим контейнер.
# docker exec 1592a00802b5 grafana-cli plugins install alexanderzobnin-zabbix-app
# docker restart 1592a00802b5
4. Войдем в Grafana через браузер (учетные данные по умолчанию — admin / admin).
5. Активируем плагин для Zabbix. Чтобы это сделать, перейдем в Configurations → Plugins и нажмем Enable.
6. Плагин включен, перейдем к конфигурации. Важные поля для заполнения — URL, User, Password. Остальные настройки можно оставить по умолчанию.
7. Настройка завершена. Можно добавлять на дашборды различные элементы данных на основе метрик из Zabbix.
У Grafana есть множество готовых дашбордов. Их можно найти на сайте проекта и импортировать через web-интерфейс.
Сервер с Zabbix в Selectel
Если нет времени на настройку Zabbix с нуля, в панели управления вы можете создать облачный сервер с готовым приложением Zabbix. Для каждого образа с приложением выполнена подготовка рабочего окружения, настройка необходимых параметров и сборка. Важно отметить, что в этом случае вы оплачиваете только ресурсы облачной платформы.
1. Во вкладке Облачная платформа → Серверы нажмем Создать сервер.
2. Введем имя сервера, выберем регион и пул. От сегмента пула зависит список доступных конфигураций сервера и стоимость ресурсов.
3. Откроем раздел Источник и перейдем во вкладку Приложения. Здесь доступно ПО для администрирования, разработки, проведения видеоконференций и обеспечения информационной безопасности. В списке находим Cloud Zabbix.
4. В блоке Конфигурация выберем фиксированную или произвольную конфигурацию сервера, настроим загрузочный диск. Советуем при настройке исходить из количества метрик мониторинга, которые вы хотите использовать, а также от времени их хранения. Подробнее о расчете конфигурации сервера — в официальной документации Zabbix.
5. В блоке Сеть настроим приватную подсеть и подключим публичный IP-адрес.
6. Укажем пользовательские параметры конфигурации операционной системы. В блоке Автоматизация в поле User data вставим скрипт, который выполнится при загрузке системы. В него можно добавить дополнительные параметры.
При создании сервера с выпуском TLS-сертификата:
#cloud-config
write_files:
- path: "/opt/gomplate/values/user-values.yaml"
permissions: "0644"
content: |
pg_password: ""
zabbixDomain:
leEmail:
httpsMethod: redirect
При создании сервера без выпуска TLS-сертификата:
#cloud-config
write_files:
- path: "/opt/gomplate/values/user-values.yaml"
permissions: "0644"
content: |
admin_password: ""
zabbixDomain:
Вместо <bd_user_password>
укажем пароль пользователя базы данных, который должен содержать:
- более восьми символов,
- не менее одной прописной буквы,
- не менее одной строчной буквы,
- не менее одной цифры.
<example.com>
— домен для доступа к Zabbix. Для домена нужно добавить A-запись и указать в значении записи ваш публичный IP-адрес. Если домен добавлен в DNS-хостинг Selectel (actual), используйте инструкцию Добавить ресурсную запись. После создания сервера для домена автоматически выпустится TLS-сертификат от Let’s Encrypt®.
7. Проверим цену облачного сервера и нажмем Создать сервер.
Заключение
В статье мы рассмотрели различные подходы для установки Zabbix и рассмотрели дополнительные настройки. Этого достаточно для конфигурации базового мониторинга, контроля инфраструктуры и приложений.
Для визуализации, например, статусов доступности и производительности мы рекомендуем использовать удобный инструмент Grafana. Он легко устанавливается и настраивается, о чем мы рассказали в обзоре. Кроме того, есть мобильное приложение, в котором можно просматривать «здоровье» инфраструктуры в режиме реального времени.
Читайте также:
В этой инструкции мы установим мониторинг Zabbix, осуществим базовую настройку.
Шаг 1. Установка Zabbix-агента
Будем считать что Centos у нас уже установлен.
Для установки Zabbix-агента необходимо найти ссылку на репозиторий на сайте repo.zabbix.com
Мы для данной статьи будем устанавливать 4.0.12. Скачиваем репозиторий:
rpm -Uvh https://repo.zabbix.com/zabbix/4.0/rhel/7/x86_64/zabbix-agent-4.0.12-1.el7.x86_64.rpm
Проводим установку:
На все вопросы соглашаемся (Y). После установки нужно настроить конфигурационный файл в котором настраиваются основные параметры,такие как безопасность,логирование, подключение и т.д.
Для запуска агента достаточно прописать адрес сервера, порт и имя хоста (сервера):
nano /etc/zabbix/zabbix_agentd.conf
Включаем:
/etc/init.d/zabbix-agent start
Добавляем в автозагрузку:
Далее нужно добавить правило в firewall:
iptables -A INPUT -p tcp --dport “порт” -s “адрес сервера” -j ACCEPT
Установка Zabbix-агента завершена. Теперь, чтобы мониторить этот хост, нужно его настроить на Zabbix-сервере.
Шаг 2. Установка Zabbix-клиент под ОС Windows
Чтобы установить Zabbix-клиент на Windows нужно скачать и установить установщик с сайта https://www.zabbix.com/.
При установке указываем имя, с которого мы будем отправлять статистику, порт и хост нашего сервера Zabbix. Если нужно, указываем прокси.
Рисунок 1 – Установка Zabbix Agent
В дальнейшем, эти настройки можно сменить, они хранятся в файле zabbix_agentd.conf, который по умолчанию установщиком ставится в C:Program FilesZabbix Agent
Рисунок 2 – Просмотр файла настройки Zabbix Agent
Шаг 3. Настройка на Zabbix-сервере
После входа в систему на веб-интерфейсе Zabbix-сервера, нужно создать узел сети. Для этого перейдите во вкладку “Настройка” → “Узлы сети” → “Создать узел сети”.
Рисунок 3 – Добавление узла сети
Вводим в “Имя узла сети” и “Интерфейсы агента” адрес, порт и хост сети, который вводили в конфигурационном файле ранее.
Далее переходим в кладку “шаблоны” и подключаем нужный нам шаблон. Изначально в дистрибутиве Zabbix-сервера идёт список полезных шаблонов, но можно и создать свой во вкладке “Настройка” → “Шаблоны”. После добавления шаблона, нажимаем “Добавить”.
После добавления шаблона, можно посмотреть данные с агента “Мониториниг” → “Последние данные”.
Шаг 4. Настройка уведомлений
Для отправки уведомлений по email сперва нужно настроить сервер SNTP “Администрирование” → “Способы оповещений”.
После настройки сервера отправки, нужно зайти в “Профиль пользователя” → “Оповещения”- “Добавить”. Тут выбирается нужный email – туда должны будут приходить оповещения. Настраиваются оповещения и отправка по важности.
Рисунок 4 – Настройка уведомлений узла сети
Своевременное оповещение о проблемах сети критически важно для бизнеса, ведь потеря информации означает убытки и иные негативные последствия. Избежать лишних затрат поможет программное обеспечение. В публикации предоставили подробные шаги по загрузке и регулировке параметров программы Zabbix.
Алексей Владышев создал это бесплатное ПО. Назначение Zabbix — отслеживать параметры IT-инфраструктуры и сообщать пользователю об ошибках. Заббикс контролирует:
- сетевые параметры;
- непрерывную работу серверов;
- высокую производительность виртуальных машин;
- бесперебойную работу сервисов и приложений;
- устойчивость баз данных;
- работоспособность веб-сайтов, сбои на них;
- облачные среды и прочие аспекты.
Программное обеспечение отправляет уведомления по e-mail для любых событий. Пользователь настраивает этот параметр. Оповещения нужны для мгновенного информирования о проблемах серверов и своевременной реакции клиентов. Программа составляет отчёт и отражает данные из истории на графике. Составление отчётности облегчает планирование мощностей.
Zabbix-сервер сообщается со сборщиками данных, поллерами и трапперами. Настройки и информация о состоянии сервера в виде отчётов и статистики отображаются в браузере. Пользователь всегда может оценить работу серверов и сети из любого места. Правильно настроенный Zabbix помогает следить за IT-системами. Это полезно как для небольших компаний с малым числом серверов, так и для крупных организаций с большим количеством серверов. Доступ к программе Zabbix не требует финансовых затрат.
Интеграция Zabbix с платформами
Помимо имейл-уведомлений Заббикс отправляет отчёт об ошибках и прочих событиях через каналы обмена сообщениями.
Системы оповещения | Платформы для общения |
VictorOPS | Slack |
Opsgenie | MS Teams |
SIGNL4 | Telegram |
Pagerduty и другие | Express.ms |
Rocket.chat и другие | |
SMS с использованием USB-модемов | Вебхуки для интеграции с внешними системами обмена сообщениями, ITSM и системами тикетинга |
Онлайн SMS-шлюзы |
Интерфейс
Zabbix web-интерфейс предоставляет информацию об IT-среде разными способами. Доступны:
- Многостраничные панели на основе виджетов.
- Перемещение виджетов на панели.
- Настройка временных промежутков обновления информации на панели.
- Создание точной копии существующей панели.
- Уровень доступа для панели.
- Графики, которые показывают и обобщают данные по желанию пользователя.
- Создание древовидных карт для упрощения ориентирования в системе.
- Решение проблем и получение дополнительной информации через панель управления.
Каждый элемент настраивается по желанию пользователя. Элементы панели управления отображают информацию в желанном виде, фильтруют её и учитывают уровень доступа пользователей.
Как установить Zabbix в Windows
Шаг 1. Подготовка к установке
Зайдите в «Серверы», далее выберите «Создать сервер».
Кликните по кнопке «Выбрать тип источника» и выберите готовый образ ОС Windows.
Примите плавающий айпи. Скопируйте на этой странице пароль от учётной записи. Кликните на надпись «Создать».
Когда процесс завершится и возникнет надпись Active, подключитесь к внешнему плавающему айпи-адресу через протокол RDP.
Шаг 2. Загрузка программы
Загрузите установщик с сайта ПО или найдите дистрибутив вручную. Найти его можно по запросу zabbix install или install zabbix. После скачивания архива создайте каталог и распакуйте в него файлы из архива.
Пропишите команду:
Server=<ip адрес Zabbix-сервера>
Для запуска программы введите команду:
> zabbix_agentd.exe -c C:\Zabbix\conf\zabbix_agentd.conf -i
> zabbix_agentd.exe -c C:\Zabbix\conf\zabbix_agentd.conf --start
Внимание! Не забудьте указать свой путь к папке, куда вы распаковали архив.
Шаг 3. Интегрирование агента
Перейдите на панель Configuration — Hosts. Кликните на Create Host.
Укажите данные для подключения к агенту.
Перейдите в раздел Templates. Используйте шаблон, указанный на скриншоте. Сохраните изменения при помощи кнопки Update и дождитесь, когда запустится мониторинг.
Кнопка Graph напротив существующих метрик открывает визуализацию данных через график. Вы можете настроить интересующий период.
Приглашение участника
Клиенты программного обеспечения получают данные для подключения к Zabbix. Всем пользователям необходимо состоять в одной или нескольких командах. В группе выдаются полномочия и уровни доступа к информации в программе.
Чтобы пригласить участника в команду, зайдите в Administration — Users и кликните на Create User.
Укажите логин участника, группу и данные для входа в систему. Больше ничего указывать не нужно.
Вы можете самостоятельно ввести информацию о каждом участнике для уведомлений, например, e-mail, ник на платформах для общения и т.п. Для привязки данных перейдите на панель Media и кликните Add. Настройте уведомления для конкретных событий и временной интервал оповещений.
Сохраните изменения при помощи кнопки Add. В разделе User подтвердите добавленного участника. Вы можете изменить пароль участников. Для этого на вкладке Administration — Users нажмите на участника, выберите Change password и поменяйте данные.
Для создания команды участников в панели Administration — Users выберите пункт Create user group.
Пропишите название команды и имя админа. Следом перейдите в раздел Permissions. Здесь укажите наименования группы хостов, доступ к которой хотите предоставить команде. Чтобы сохранить данные, кликните Add.
Как установить Zabbix на Ubuntu
Шаг 1. Подготовка к установке
Установите три программы. Данное ПО понадобится для корректной работы Заббикс. Пропишите код:
$ sudo apt update
$ sudo apt install apache2
$ sudo apt install mysql-server
$ sudo apt install php php-cli php-common php-mysql
Во-вторых, проверьте актуальность установленного часового пояса. Для смены времени введите команду:
$ timedatectl set-timezone Europe/Moscow
Внимание! В команде указан московский географический пояс.
Введите код в терминале:
$ apt install chrony
$ systemctl enable chrony
$ systemctl start chrony
Далее настроим безопасность компьютера. Пропишите команды:
$ iptables -I INPUT -p tcp --match multiport --dports 80,443 -j ACCEPT
$ iptables -I INPUT -p tcp --match multiport --dports 10050,10051 -j ACCEPT
$ iptables -I INPUT -p udp --match multiport --dports 10050,10051 -j ACCEPT
Эти команды откроют порты.
Чтобы сохранить изменения, введите:
$ apt install iptables-persistent
$ netfilter-persistent save
Обновите данные в хранилище:
$ apt update
Шаг 2. Установка программы
Загрузите дистрибутив со страницы ПО. Чтобы подобрать установщик под свою вариацию, перейдите в zabbix/5.2/ubuntu/pool/main/z/zabbix-release/ и сохраните адрес ссылки на самый свежий архив.
Загрузите дистрибутив через команду:
$ wget http://repo.zabbix.com/zabbix/5.2/ubuntu/pool/main/z/zabbix-release/zabbix-release_5.2-1+ubuntu20.04_all.deb
Начните загрузку:
$ dpkg -i zabbix-release_*.deb
Обновите список данных через терминал:
$ apt update
Загрузите программное обеспечение через запрос:
$ apt install zabbix-server-mysql zabbix-frontend-php zabbix-get zabbix-sql-scripts
Шаг 3. Управление хранилищем
Сформируйте хранилище и выдайте уровень доступа:
$ mysql -uroot -p
mysql> CREATE DATABASE zabbixdb CHARACTER SET utf8 COLLATE utf8_bin;
mysql> GRANT ALL on zabbixdb.* to zabbix@localhost IDENTIFIED BY 'password';
mysql> FLUSH PRIVILEGES;
Перейдите в папку через направление:
/usr/share/doc/zabbix-server-mysql/ либо /usr/share/zabbix-server-mysql/
и перенесите информацию в хранилище. На месте zabbix и zabbixdb впишите юзера и наименование хранилища:
$ zcat /usr/share/doc/zabbix-server-mysql/create.sql.gz | mysql -uzabbix -p zabbixdb
Измените запись
/etc/zabbix/zabbix_server.conf
и укажите сведения для входа:
$ sudo vi /etc/zabbix/zabbix_server.conf
DBHost=localhost
DBName=zabbixdb
DBUser=zabbix
DBPassword=password
Далее:
$ sudo a2enconf zabbix-frontend-php
Перезагрузите оба приложения, чтобы сохранить информацию:
$ sudo systemctl restart apache2
$ sudo systemctl restart zabbix-server
Шаг 4. Изменение интерфейса
Зайдите на сайт программы из поля браузера и кликните по Next step.
После автоматической проверки настройки РНР введите запрашиваемую информацию.
При желании измените данные.
Выберите предпочитаемый для работы интерфейс.
Перепроверьте введённую ранее информацию, вернитесь в Интернет и кликните на Finish. Должно появится окно с вводом информации для авторизации. Изначально логин — Admin, пароль — zabbix.
Шаг 5. Русификация программы
Язык программы меняется на панели User Settings. Изначально доступен только English language. Для доступа к другим языкам введите в командной строке следующее:
$ sudo dpkg-reconfigure locales
При помощи стрелок переместитесь вниз по списку и отыщите
ru_RU.UTF-8 и ru_RU.ISO-8859-5
Нажмите на пробел и выберите искомое значение. Чтобы сохранить изменения, кликните Ok.
Русифицируйте сервис в панели User Settings.
Заключение
Если при установке возникли проблемы, перепроверьте правильность введённых команд. Установка Zabbix на Windows и Ubuntu довольно простая. Надеемся, статья помогла вам разобраться в установке.
Читайте в блоге, какие действия предпринять при взломе VPS на Windows/Linux.
Docker Zabbix является открытым программным обеспечением для корпоративного мониторинга с открытым исходным кодом. Наличие исходного кода позволяет усовершенствовать программу под текущие нужды бизнеса.
Zabbix агент – это популярный бесплатный софт для мониторинга. Установка и настройка Zabbix довольно просты, что делает его подходящим для работы с крупными сетевыми инфраструктурами с большим количеством хостов. Однако его можно использовать и для небольших систем. Давайте вместе рассмотрим особенности инсталляции и применения Zabbix сервера 5.0 под разные ОС, а также уточнить, как же осуществляется добавление новых хостов для мониторинга.
Установка Zabbix Server на Linux
Компоненты установки:
-
файл zabbix_server;
-
БД MySQL / MariaDB / PostgreSQL;
-
веб-сервер Apache2 /Nginx с обработчиком PHP;
-
файлы интерфейса сайта (.php, .js, .css и т.д).
Загрузите репозиторий:
# wget https://repo.zabbix.com/zabbix/5.0/ubuntu/pool/main/z/zabbix-release/zabbix-release_5.0-1+bionic_all...
# dpkg -i zabbix-release_5.0-1+bionic_all.deb
# apt update
Установите пакеты:
# apt install zabbix-server-mysql zabbix-frontend-php zabbix-nginx-conf zabbix-agent
Подключение репозитория к последней версии Zabbix позволит установить софт на CentOS и RHEL 8.
# rpm -Uvh https://repo.zabbix.com/zabbix/5.0/rhel/8/x86_64/zabbix-release-5.0-1.el8.noarch.rpm
# dnf clean all
Давайте представим, что на сервере уже установлены nginx, MySQL / MariaDB, php и php-fpm. Для установки сервера Zabbix и агента воспользуйтесь менеджером пакетов dnf (yum).
# dnf install zabbix-server-mysql zabbix-web-mysql zabbix-nginx-conf zabbix-agent
Вместо MySQL вы можете использовать PostgreSQL для создания БД Zabbix. В этом случае необходимо использовать pgsql
в предыдущих командах. Для обеспечения доступа к БД создайте пользователя и предоставьте необходимые разрешения для Zabbix.
mysql -uroot
mysql> create database zabbix character set utf8 collate utf8_bin;
mysql> grant all privileges on zabbix.* to zabbix@localhost identified by 'ZabbixP@$$w0rd';
mysql> quit;
Создавая пользователя, необходимо указать пароль, который затем следует ввести при импорте базы данных Zabbix.
# zcat /usr/share/doc/zabbix-server-mysql*/create.sql.gz | mysql -uzabbix -p Zabbix
Отредактируйте /etc/zabbix/zabbix_server.conf, укажите пароль.
DBPassword=Zabbix_User_Password
Для работы веб-сервера с использованием nginx необходимо произвести редактирование файла nginx.conf. В этом файле требуется провести изменения в следующих строках:
# listen 80;
# server_name example.com;
Удалите # и замените example.com именем хоста сервера Zabbix. Для Apache необходимо редактировать так: /etc/httpd/conf.d/zabbix.conf. Не забудьте правильно указать свой часовой пояс в PHP в /etc/zabbix/php-fpm.conf:
php_value[date.timezone] = Canada/Pacific
Zabbix настройка также может включать эти параметры 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
Для настройки Zabbix Agent требуется использовать URL сервера Zabbix. Проверьте, чтобы все требования установщика были отмечены, как ОК. Затем введите необходимую для подключения информацию, а также сведения о созданном пользователе.
Задайте серверу Zabbix имя. По умолчанию используется порт TCP 10051. Обычно, если не менять настройки, используется 2 порта 10050/10051:
-
Используемый сервером Zabbix для связи с агентами.
-
Для работы с активными агентами.
Не забудьте открыть эти порты на брандмауэре на сервере Zabbix при использовании CentOS. Вы можете использовать команду firewall-cmd
для открытия портов в firewalld
.
# firewall-cmd --add-service={http,https} --permanentfirewall-cmd --add-port={10051/tcp,10050/tcp} –permanent
Открыть порт 10050 в агенте можно так:
# firewall-cmd --permanent --add-port=10050/tcp
После этого перезапустите firewalld
. Выполните установку, нажав кнопку Next Step, а затем Finish. После завершения установки, вам будет предложено войти. Пароль по умолчанию – zabbix, а логин – Admin. Если возникнут дополнительные вопросы, вы можете обратиться к документации Zabbix, где подробно описан процесс установки.
Установка на Windows
По ссылке
https://www.zabbix.com/download_agents находится актуальная версия агента для OS Windows. По ней можно загрузить и определенную версию агента. В этом примере мы выбираем msi (amd64) без OpenSSL. Если планируется установка софта через групповую политику или SCCM, возможен вариант загрузки ZIP архива с бинарниками и файлами config.
Запустите launcher, выполните настройку подключения к серверу Zabbix. В поле “Server or proxy for active checks” напишите IP-адрес в виде IP:PORT, например 192.168.20.30:10051, поскольку используется порт по умолчанию.
Нажмите Далее пару раз, затем нажмите Установить.
Необходимо разрешить входящие соединения с IP-адресом вашего Zabbix:
New-NetFirewallRule -DisplayName ZabbixMonitoring –RemoteAddress 192.168.20.30 -Direction Inbound -Protocol TCP –LocalPort 10050 -Action Allow
Для Windows Zabbix инструкция по установке довольно кроткая.
Как добавить новый хост
Добавьте узел testnode2 на свой Zabbix-сервер и проведите несколько тестов. Это необходимо, чтобы убедиться, что все работает стабильно.
Важно. В Zabbix существует 2 типа проверок:
-
Passive — происходит запрос определенных сведений у агента.
-
Active — агент отправляет данные на сервер.
Во время настройки применяется IP-адрес сервера и определенный порт для выполнения активных проверок. Управление узлами мониторинга осуществляется через веб-интерфейс. В разделе Configuration -> Hosts нажмите кнопку Create host и введите необходимые данные. Убедитесь, что имя узла точно соответствует имени устройства или параметру Hostname. На вкладке Templates добавьте предустановленные шаблоны для Windows.
Перезапустите Zabbix на targetnode2 и посмотрите лог агента, чтобы не ждать синхронизации. Хотя, процесс занимает несколько минут, поэтому можно и подождать.
Затем посмотрите на данные, полученные сервером Zabbix, от агента через Мониторинг -> Последние данные, выбрав хост из поля Hosts. Запись started [active check #1] указывает на выполнение активных проверок. Предустановленные шаблоны имеют пометку активный.
Встроенные шаблоны, которые мы применили к хостингу, привели к появлению уведомления в панели мониторинга Zabbix о незапущенной службе BITS. Одним из этих шаблонов является проверка BITS, и, если служба не работает, то запускается триггер.
Установка на Linux
В данном примере используется Ubuntu Server 18.04. Установка будет происходить с помощью менеджера пакетов. Загрузите и запустите репозиторий Zabbix, а затем установите сам агент:
# wget https://repo.zabbix.com/zabbix/5.0/ubuntu/pool/main/z/zabbix-release/zabbix-release_5.0-1+$(lsb_rele... -sc)_all.deb
# sudo dpkg -i zabbix-release_5.0-1+$(lsb_release -sc)_all.deb
# sudo apt update
# sudo apt -y install zabbix-agent
Чтобы добавить репозиторий и установить Zabbix Agent на CentOS, используйте эти команды:
# rpm -Uvh https://repo.zabbix.com/zabbix/5.0/rhel/8/x86_64/zabbix-release-5.0-1.el8.noarch.rpm
# dnf clean all
# dnf install zabbix-agent
Перед первым стартом агента задайте правильные настройки. Укажите IP-адрес Zabbix-сервера, чтобы выполнять активные проверки.
Server=IP
ServerActive=192.168.20.30:10051
Hostname=testagent
Затем запустите агент: # service zabbix-agent start
Команда # cat /var/log/zabbix/zabbix_agentd.log
позволит убедиться, что он работает.
Если вы видите сообщение «Не удается проанализировать список активных проверок», то они не осуществляются.
Для добавления Linux-хоста в Zabbix необходимо правильно указать имя хоста Zabbix, как в ситуации с Windows. Перезапустите Zabbix. Подробную информацию о том, как пользоваться Zabbix, можно прочитать в мануале.
Успешное внедрение Zabbix — это не только технический вопрос, но и возможность повысить эффективность вашего бизнеса. Внимательно следите за обновлениями и оставайтесь на шаг впереди, обеспечивая стабильность и производительность вашей IT-инфраструктуры.