Это старая версия документа!
Документация:
Система мониторинга, состоит из нескольких частей, которые можно разнести, в случае большой нагрузки.
Кроме агентов, есть целый ряд доп возможностей для сбора информации:
Основная логическая единица это Узлы сети (host), наблюдаемые машины. У каждого есть описание и адрес (dns/ip). Узлы объединяются в группы.
Каждый узел имеет несколько элементов данных (items)- параметров, за которыми ведется мониторинг, для каждого можно указать период обновления, способ хранения, множитель, интервал сбора и т.д.
Так же, можно создавать узлы-шаблоны, они так же содержат элементы данных, но не мониторятся, а используются только для сбора в себе и назначения предопределенных (групп) пар-ов.
Логические выражения со значениями False, True, Unknown, используемые для обработки данных.
У каждого существует уровень серьезности угрозы:
Функции триггеров:
Заданная реакция на событие, авто/созданная в ручную
Операции/группы операций, указываются для событий
Авто-создание элементов и триггеров, для отслеживания систем, наблюдаемого сервера.
Позволяет обнаружить: OID SNMP, сетевые интерфейсы, процессоры и ядра, файловые системы, службы windows, ODBC
Так же, можно задать собственные типы обнаружения, с применением JSON, типы проверок типа: ssh, ldap, smtp, ftp, http и т.д.
Основные ресурсы: https://www.dmosk.ru/miniinstruktions.php?mini=zabbix-server-ubuntu#zabbix
https://www.zabbix.com/download
Установка на debian 10.
Автосинхронизация серверного времени
Текущий часовой пояс:
# timedatectl set-timezone Asia/Omsk
Сервис синхронизации времени:
# apt install chrony && systemctl {enable,start} chrony
Брандмауэр: нужны порты 80/443 и 10050/10051- агенты/трапперы
Cоздаем базу и пользователя:
mysql> create database zabbix character set utf8 collate utf8_bin; mysql> create user zabbix@localhost identified by 'password'; mysql> grant all privileges on zabbix.* to zabbix@localhost; mysql> quit;
Разворачиваем схему базы:
# zcat /usr/share/doc/zabbix-sql-scripts/mysql/create.sql.gz | mysql -uzabbix -p zabbix
# apt install postgresql postgresql-contrib
Настройка базы
sudo -u postgres createuser --pwprompt zabbix sudo -u postgres createdb -O zabbix -E Unicode -T template0 zabbix zcat /usr/share/zabbix-server-pgsql/schema.sql.gz | sudo -u zabbix psql zabbix zcat /usr/share/zabbix-server-pgsql/images.sql.gz | sudo -u zabbix psql zabbix zcat /usr/share/zabbix-server-pgsql/data.sql.gz | sudo -u zabbix psql zabbix
Установка Nginx (можно просто поставить, без всего лишнего)
PHP, PHP-FPM
# apt 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
Редактируем конфиг: /etc/php/7.3/fpm/php.ini
date.timezone = "Asia/Omsk" ... max_execution_time = 300 ... post_max_size = 16M ... max_input_time = 300 ... max_input_vars = 10000
# systemctl {enable,start} php7.3-fpm
Nginx+ php
/etc/nginx/sitex-enabled/default
# В 'Location /' добавляем 'index.php' ... location ~ \.php$ { set $root_path /var/www/html; fastcgi_buffer_size 32k; fastcgi_buffers 4 32k; fastcgi_pass unix:/run/php/php7.2-fpm.sock; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $root_path$fastcgi_script_name; include fastcgi_params; fastcgi_param DOCUMENT_ROOT $root_path; }
Проверяем настройки и ребутим
# nginx -t && systemctl restart nginx
# apt install apache2 apache2-utils
# Отключите информацию о сервере, изменив следующие параметры в /etc/apache2/conf-enabled/security.conf ServerTokens Prod ServerSignature Off # Включите файл конфигурации Zabbix в Apache: cp /etc/apache2/conf-available/zabbix-frontend-php.conf /etc/apache2/conf-enabled/zabbix.conf # Установите часовой пояс для Zabbix в формате /etc/apache2/conf-enabled/zabbix.conf.
Ставим сам zabbix (тут скачивается файл для настройки репозиториев, сам дистр ставится из репы)
$ wget https://repo.zabbix.com/zabbix/5.4/debian/pool/main/z/zabbix-release/zabbix-release_5.4-1+debian10_all.deb $ dpkg -i zabbix-release_5.4-1+debian10_all.deb $ apt update && apt install zabbix-server-mysql zabbix-frontend-php zabbix-nginx-conf zabbix-sql-scripts zabbix-agent
Либо, если база postgres:
# apt install zabbix-server-pgsql zabbix-frontend-php
Так же, правим конфиг (все данные от БД): /etc/zabbix/zabbix_server.conf
DBHost=<host> DBName=zabbix DBUser=zabbix DBPassword=<password>
Создаем пару папок (иногда не создаются автоматом) и ребут «zabbix-server»
mkdir /etc/zabbix/zabbix_server.conf.d mkdir /var/log/zabbix-server chown zabbix:zabbix /var/log/zabbix-server
Затем открываем web-форму и завершаем ее настройку
После установки пользователь был «Admin» оО
Список пользователей хранится в созданной БД забикса, таблица «user», там же можно сбрасывать пароли:
update users set passwd=md5('new_pass') where alias='test_admin';