Добавление устройства на 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 ” говорит о том, что на сервере найдены активные проверки для этого хоста. Теперь посмотрим на данные, которые пришли на сервер Zabbix от агента. Для этого в Zabbix перейдите на Monitoring -> Latest Data и выберете нужный вам хост в поле Hosts.
В этом разделе отображаются последние данные, которые пришли на сервер по выбранным хостам или группам хостов.
Обратите внимание на то, что в дашборде Zabbix висит уведомление о том, что служба BITS не запущена. Это уведомление появилось потому что мы назначили стандартные шаблоны нашему хосту
В одном из шаблонов был мониторинг сервиса BITS и соответствующий триггер, который срабатывает если служба BITS находится не в статусе Running.
На этом настройка Windows Agentа завершена.
Установка сервера Zabbix
Перед тем как мы сможем установить zabbix ubuntu 17.04, 16.04 и в других версиях, потребуется кое-что настроить. Нужно установить веб-сервер, MySQL и PHP. Если эти сервисы у вас уже настроены, то просто можете пропустить этот шаг.
Установка Apache, PHP, MySQL
Для установки выполните такие команды:
Дальше необходимо настроить правильный часовой пояс в php.ini. Вам нужна секция Data и строка timezone:
Добавление репозитория
Например, можно использовать wget для загрузки файла:
Если у вас другая операционная система, посмотрите список файлов на сервере через браузер и выберите нужный установщик. Затем установка zabbix 3.2 на Ubuntu:
Установка и настройка Zabbix
Когда репозиторий будет добавлен, можно перейти к настройке самого сервера Zabbix. Для установки программ выполните:
Как я уже говорил, для работы программы понадобится база данных. Сейчас нам предстоит создать ее и выдать все необходимые привилегии пользователю:
Для нормальной работы Zabbix нужна кодировка базы данных UTF-8, если вы создадите базу в кодировке utf8mb4, то получите ошибку: «Specified key was too long; max key length is 767 bytes». Дальше нужно загрузить все таблицы в базу данных, они находятся в папке /usr/share/zabbix-server-mysql/. Вместо zabbix и zabbixdb нужно указать своего пользователя и имя базы данных:
Чтобы Zabbix смог подключиться к базе данных нужно отредактировать конфигурационный файл /etc/zabbix/zabbix_server.conf и указать там данные аутентификации:
Далее, включаем конфигурационный файл zabbix для apache2:
Теперь нужно перезапустить Zabbix и Apache, чтобы применить изменения:
Установка и настройка Zabbix Ubuntu почти завершена, осталось настроить веб-интерфейс.
Настройка веб-интерфейса zabbix
Веб-интерфейс программы готов к работе, теперь вы можете его открыть, набрав в адресной строке http://адрес_сервера/zabbix/
На первой странице нажмите «Next». На следующем шаге программа проверит правильно ли настроен интерпретатор PHP:
Дальше укажите параметры доступа к базе данных, они будут использоваться для работы веб-интерфейса:
На следующем шаге можно изменить ip и порт, на котором будет слушать Zabbix:
Последний шаг, проверьте все ли верно и не нужно ли чего менять:
Если получаете такую ошибку, то файл нужно скачать и сохранить в /etc/zabbix/ вручную:
Владельца файла нужно изменить на www-data, чтобы программа имела к нему права доступа:
Теперь вернитесь в браузер и нажмите «Finish»:
Перед вами откроется окно ввода логина и пароля. Используйте стандартные значения, логин admin и пароль zabbix.
Вот и все, теперь установка Zabbix Ubuntu завершена и вы можете переходить к настройке.
Из чего состоит 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 может выполнять и получать данные из любых исполняемых скриптов/бинарников.
Подготовка сервера
1) Отключите selinux
Для этого отредактируйте файл /etc/selinux/config. Установите параметр SELINUX=permissive
setenforce 0 && sed -i "s/SELINUX=enforcing/SELINUX=permissive/" /etc/selinux/config
2) Обновите систему
# yum update -y
3) Установите httpd и включите его автозагрузку
# yum install httpd # systemctl enable httpd
4) Установите сервер баз данных PostgresSQL и добавьте его в автозагрузку
# yum install postgresql postgresql-server # systemctl enable postgresql
5) Выполните инициализацию нового сервера баз данных PostgresSQL
# /usr/bin/postgresql-setup initdb
6) Запустите postgres
# systemctl start postgresql
Установка и настройка Zabbix
yum install zabbix-server-pgsql zabbix-web-pgsql zabbix-agent
Укажите параметры временной зоны.
Откройте файл php.ini и отредактируйте его:
# nano /etc/php.ini
найдите строку:
;date.timezone =
И укажите в ней временную зону Europe/Moscow (укажите свой часовой пояс!), обязательно сняв комментарий со строки, чтобы выглядело:
date.timezone = Europe/Moscow
Далее для корректного запуска zabbix требуется поменять значения :
post_max_size = 16M max_execution_time = 300 max_input_time = 300
Настройка PostgresSQL
Создайте пользователя, таблицу и предоставьте права на эту таблицу
Зайдите в консоль пользователя postgres
# su postgres
подключитесь к серверу базы данных
# psql
Создайте пользователя и таблицу с именем zabbix и предоставьте пользователю права на использование данной таблицы (пароль укажите свой):
# CREATE ROLE zabbix WITH NOSUPERUSER LOGIN PASSWORD 'zabbixpassword'; # CREATE DATABASE zabbix WITH OWNER zabbix; # GRANT ALL PRIVILEGES ON DATABASE zabbix TO zabbix;
Вы создали пользователя с именем zabbix, паролем zabbixpassword и базу данных с именем zabbix.
При выполнении команд получаем следующее:
postgres=# CREATE ROLE zabbix WITH NOSUPERUSER LOGIN PASSWORD 'zabbixpassword'; CREATE ROLE postgres=# CREATE DATABASE zabbix WITH OWNER zabbix; CREATE DATABASE postgres=# GRANT ALL PRIVILEGES ON DATABASE zabbix TO zabbix; GRANT
Проверьте что таблицы создались
# \l
Отключитесь от базы
# \q
Завершите сессию пользователя postgres
# exit
Теперь необходимо перенастроить сам сервер postgresql
Сначала разрешите слушать порт
nano /var/lib/pgsql/data/postgresql.conf
найдите строку
#listen_addresses = 'localhost'
приведите к виду
listen_addresses = '*'
раскомментируйте строку
#port = 5432
сохраните изменения.
Теперь необходимо предоставить права доступа пользователю zabbix к базе данных по паролю, для этого необходимо отредактировать другой файл
# nano /var/lib/pgsql/data/pg_hba.conf
найдите строку
host all all 127.0.0.1/32 ident
И перед ней добавьте запись, чтобы выглядело
host zabbix zabbix 127.0.0.1/32 password host all all 127.0.0.1/32 ident
Далее замените все ident на md5, конечный вариант файла:
# IPv4 local connections: host all all 127.0.0.1/32 md5 # IPv6 local connections: host all all ::1/128 md5 # Allow replication connections from localhost, by a user with the # replication privilege. local replication all peer host zabbix zabbix 127.0.0.1/32 password host replication all 127.0.0.1/32 md5 host replication all ::1/128 md5
Запись, разрешающая доступ, обязательно должна быть именно такой, как указано!
Перезапустите сервер postgresql
# systemctl restart postgresql
Импортируйте содержимое SQL дампа в базу данных:
# zcat /usr/share/doc/zabbix-server-pgsql-3.2.3/create.sql.gz | sudo -u zabbix psql zabbix
На этом с базой данных закончили, теперь осталось настроить zabbix сервер.
Установка Zabbix Agent в Linux
Теперь установим агент Zabbix в Linux. Для установки Zabbix агента в Ubuntu Server 18.04 с помощью пакетного менеджера нужно скачать и установить репозиторий Zabbix. Затем из репозитория установим zabbix agent:
В CentOS для добавления репозитория и установки агента zabbix используется команды:
Перед тем как мы запустим zabbix агент, нужно отредактировать конфигурационный файл /etc/zabbix/zabbix_agentd.conf. В нем нужно указать IP адрес сервера Zabbix для активных проверок.
Server=IP ServerActive=IP:10051 Hostname=testagent
После этого запустите сервис агента:
Убедитесь, что агент успешно запустился.
Строка cannot parse list of active checks говорит о том, что на сервере нет активных проверок для этого хоста.
Как и в случае с Windows агентом, вам нужно добавить ваш Linux хост в настройках сервера Zabbix
Обратите внимание на параметр Host name в настройка хоста в интерфейсе заббикс сервера — этот параметр должен совпадать с Hostname параметром, который мы указываем в конфиге Zabbix -агента. В конфиге выше я указывал имя хоста testagent
Перезагрузите Zabbix агент и проверьте лог.
Проверьте, что данные от агента появились на сервере Zabbix.
На этом настройка Zabbix-агента на Linux системе завершена. В следующей статье мы рассмотрим безагентный мониторинг доступности узлов в Zabbix через ICMP Ping.
Установка 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).
Скачем и добавим репозиторий:
Теперь можно установить необходимые пакеты:
Для установки Zabbix в CentOS 8/RHEL 8 нужно подключить репозиторий с актуальной версией Zabbix (можно установить Zabbix из ветки 4.0 LTS или последнюю версию Zabbix 4.4):
Предполагаем, что на сервере уже установлены: nginx, MySQL/MariaDB, php и php-fpm. Теперь через пакетный менеджер установим сам сервер Zabbix и агент:
Осталось создать базу данных для 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, в моём случае это .
Для Apache файл нужно править файл конфигурации /etc/httpd/conf.d/zabbix.conf .
Выставим временную зону в PHP. В файле /etc/zabbix/php-fpm.conf раскомментируем строчку
php_value = Europe/Moscow
Убедитесь, что время на Zabbix сервере синхронизировано с надежным NTP источником.
Дополнительно можно выставить следующие параметры PHP в :
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 в автозапуск и запустите ее: