- Требования
- Примерный раcчет требуемого пространства на жестком диске
- Подготовка системы
- Настройка конфигурации Parsec
- Установка пакетов
- Настройка службы Apache2
- Настройка СУБД PostgreSQL
- Настройка zabbix
- Импорт шаблона БД zabbix:
- Настройка WEB-интерфейса zabbix
- Установка и настройка zabbix агента
- Настройка сервера
- Настройка агента
- Настройка триггеров
Требования
Zabbix построен на современном веб-сервере Apache, ведущих СУБД, и на языке сценариев PHP. В состав комплекта ПО Zabbix входят сервер и WEB-интерфейс. Для работы WEB-интерфейса Zabbix требуется следующее программное обеспечение:
Приложение | Версия | Комментарии |
---|---|---|
Apache | 1.3.12 или более поздняя | |
PHP | 5.4.0 или более поздняя | |
Расширения PHP: | ||
gd | 2.0 или более поздняя | Расширение PHP GD должен поддерживать формат PNG (—with-png-dir), JPEG (—with-jpeg-dir) изображения и FreeType 2 (—with-freetype-dir). |
bcmath | php-bcmath (—enable-bcmath) | |
ctype | php-ctype (—enable-ctype) | |
libXML | 2.6.15 или более поздняя | php-xml или php5-dom, если поставляется как отдельный пакет от поставщика. |
xmlreader | php-xmlreader, если поставляется как отдельный пакет от поставщика. | |
xmlwriter | php-xmlwriter, если поставляется как отдельный пакет от поставщика. | |
session | php-session, если поставляется как отдельный пакет от поставщика. | |
sockets | php-net-socket (—enable-sockets). Требуется для поддержки пользовательских скриптов. | |
mbstring | php-mbstring (—enable-mbstring) | |
gettext | php-gettext (—with-gettext). Требуется для работы переводов. | |
ldap | php-ldap. Требуется только, если в веб-интерфейсе используется LDAP аутентификация. | |
ibm_db2 | Требуется, если используется IBM DB2 в качестве базы для Zabbix. | |
mysqli | Требуется, если используется MySQL в качестве базы для Zabbix. | |
oci8 | Требуется, если используется Oracle в качестве базы для Zabbix. | |
pgsql | Требуется, если используется PostgresSQL в качестве базы для Zabbix. |
Обязательные требования нужны всегда, опциональные требования требуется только для поддержки определённых функций.
Требование | Статус | Описание |
---|---|---|
libpcre | Обязательно | PCRE библиотека требуется для поддержки PCRE совместимых регулярных выражений. Наименование может отличаться в зависимости от GNU/Linux дистрибутива, например ‘libpcre3’ или ‘libpcre1’. Обратите внимание, что необходима именно PCRE(v8.X), тогда как PCRE2(v10.X) библиотека не используется. |
libevent | Требуется для массового сбора метрик и IPMI мониторинга. Версия 1.4 или более новая. Обратите внимание, что для Zabbix прокси это требование опциональное, и нужно только для IPMI мониторинга. | |
OpenIPMI | Опционально | Требуется для поддержки IPMI |
libssh2 | Требуется для поддержки SSH. Версия 1.0 или более новая. | |
fping | Требуется для элементов данных ICMP пинг. | |
libcurl | Требуется для веб-мониторинга, мониторинга VMware и для SMTP аутентификации. Для SMTP аутентификации, требуется версия 7.20.0 или выше. Также необходима для поддержки Elasticsearch. | |
libiksemel | Требуется для поддержки Jabber. | |
libxml2 | Требуется для мониторинга VMware. | |
net-snmp | Требуется для поддержки SNMP. |
Примерный раcчет требуемого пространства на жестком диске
Представленная ниже таблица содержит формулы для расчета требуемого пространства на жёстком диске для системы мониторинга Zabbix:
Параметр | Формула для расчета занимаемого места(в байтах) |
---|---|
Конфигурация Zabbix | Фиксированный размер. Ориентировочно 10МБ или меньше. |
История | дней*(элементов/частота обновления)*24*3600*байт элементы : количество элементов данных дней : количество дней хранения истории частота обновления : среднее значение периода проверки элементов данных байт : количество байт, требуемых для одного значения, зависит от типа базы данных, около 90 байт |
Динамика изменений | дней*(элементов/3600)*24*3600*байт элементов : количество элементов данных дней : количество дней хранения динамики изменений байт : количество байт, требуемых для одного значения, зависит от типа базы данных, около 90 байт. |
События | дней*событий*24*3600*байт событий : количество событий в секунду. Одно (1) событие в худшем случае. дней : количество дней хранения событий байт : количество байт, требуемых для одного значения, зависит от типа базы данных, около 170 байт. |
Подготовка системы
Настройка конфигурации Parsec
В конфигурационном файле Parsec /etc/parsec/mswitch.conf присвоить параметру zero_if_notfound значение yes:
Это необходимо, чтобы пользователь СУБД, сущность которого не создана в ОС, мог входить в СУБД с нулевыми мандатными атрибутами.
Установка пакетов
Установить необходимые пакеты:
Настройка службы Apache2
В файле /etc/php/*/apache2/php.ini удалить символ ‘»точка с запятой» перед параметром date.timezone и указать часовой пояс, например Europe/Moscow
[Date] date.timezone = Europe/Moscow
Отредактировать файл /etc/hosts
127.0.0.1 localhost #127.0.1.1 astra16 192.168.32.218 astra16.example.com astra16
В при работе в Astra Linux Special Edition в конфигурационном файле /etc/apache2/apache2.conf указать параметр :
Перезапустить службу apache2:
Настройка СУБД PostgreSQL
Отредактировать конфигурационный файл /etc/postgresql/*/main/pg_hba.conf:
# TYPE DATABASE USER ADDRESS METHOD local zabbix zabbix trust # IPv4 local connections: host zabbix zabbix 127.0.0.1/32 trust
sudo -u postgres psql
CREATE DATABASE ZABBIX;
CREATE USER zabbix WITH ENCRYPTED PASSWORD ‘12345678’;
GRANT ALL ON DATABASE zabbix to zabbix;
\q
Настройка zabbix
Импорт шаблона БД zabbix:
Для Astra Linux Common Edition, Astra Linux Special Edition РУСБ.10015-01 очередное обновление 1.6 с установленным обновлением БЮЛЛЕТЕНЬ № 20210611SE16 (оперативное обновление 7) и более поздних обновлений ОС (включая Astra Linux Special Edition x.7):
zcat /usr/share/zabbix-server-pgsql/.sql.gz | psql -h localhost zabbix zabbix sudo a2enconf zabbix-frontend-php sudo systemctl reload apache2
Для Astra Linux Special Edition РУСБ.10015-01 очередное обновление 1.6 без установленного обновления БЮЛЛЕТЕНЬ № 20210611SE16 (оперативное обновление 7):
gunzip -c /usr/share/doc/zabbix-server-pgsql/create.sql.gz > create.sql
psql -U zabbix -d zabbix -f create.sql
то для устранения ошибки выполнить следующие команды:
usermod -a -G shadow postgres
setfacl -d -m u:postgres:r /etc/parsec/macdb
setfacl -R -m u:postgres:r /etc/parsec/macdb
setfacl -m u:postgres:rx /etc/parsec/macdb
setfacl -d -m u:postgres:r /etc/parsec/capdb
setfacl -R -m u:postgres:r /etc/parsec/capdb
setfacl -m u:postgres:rx /etc/parsec/capdb
pdpl-user -l 0:0 zabbix
Настройка WEB-интерфейса zabbix
Для Astra Linux Common Edition, Astra Linux Special Edition РУСБ.10015-01 очередное обновление 1.6 с установленным обновлением БЮЛЛЕТЕНЬ № 20210611SE16 (оперативное обновление 7) и более поздних обновлений ОС (включая Astra Linux Special Edition x.7):
- Скопировать в файл /etc/zabbix/zabbix.conf.php один из файлов /usr/share/zabbix/conf/zabbix.conf.php.example или /usr/share/doc/zabbix-frontend-php/examples/zabbix.conf.php.example:
$DB['TYPE'] = 'POSTGRESQL'; . $DB['PASSWORD'] = '';
Установка и настройка zabbix агента
В конфигурационном файле /etc/zabbix/zabbix_agentd.conf в строке Server указать адрес IP-сервера:
### Option: Server # List of comma delimited IP addresses, optionally in CIDR notation, or hostnames of Zabbix servers. # Incoming connections will be accepted only from the hosts listed here. # If IPv6 support is enabled then '127.0.0.1', '::127.0.0.1', '::ffff:127.0.0.1' are treated equally and '::/0' will allow any IPv4 or IPv6 address. # '0.0.0.0/0' can be used to allow any IPv4 address. # Example: Server=127.0.0.1,192.168.1.0/24. 1,2001:db8::/32,zabbix.domain # # Mandatory: no # Default: # Server= Server=192.168.32.218
В WEB-интерфейсе сервера zabbix перейти в «Настройка» → «Узлы сети» → «Создать узел сети», после чего указать название добавляемого узла, отображаемое имя, IP-адрес и группу (для выбора группы начать вводить ее имя или нажать кнопку «Выбрать»):
Перейти в закладку «Шаблоны», в строке «Присоединение новых шаблонов» начать печатать имя шаблона («lin. «), и з полученного списка выбрать «Template OS Linux by Zabbix Agent»
Нажать кнопку «Добавить» для сохранения введенных данных, после чего компьютер будет добавлен в список узлов для проверки.
Настройка сервера
Для настройки севера нужно импортировать шаблоны для Astra Linux, для чего:
- Открыть в браузере WEB-интерфейс Zabbix;
Перейти в Настройки — Шаблоны и нажать кнопку Импорт:
- Нажать кнопку Обзор;
- Выбрать шаблон в файле /usr/share/zabbix/conf/zabbix_astra_template.xml;
- Перейти в Настройки — Узлы сети ;
- Выбрать нужный узел;
- Перейти в закладку «Шаблоны»:
- Нажав Выбрать в группе узлов сети Astra clients выбрать шаблоны Template Astra Linux и Template Astra Linux Parsec для Astra Linux Special Edition в режиме МКЦ и МРД и добавить их к узлу, нажав «Выбрать»:
- Обновить конфигурацию узла с помощью кнопки Обновить:
Настройка агента
- В конфигурационном файле агента /etc/zabbix/zabbix_agentd.conf:
- В строках Server и ServerActive указать IP-адрес (при настроенном DNS — имя) сервера;
- В строке Hostname указать имя агента. Имя агента должно совпадать с указанным на сервере именем агента и может содержать буквенно-цифровые символы, пробелы, точки, тире и подчеркивания:
### Option: Server # List of comma delimited IP addresses, optionally in CIDR notation, or hostnames of Zabbix servers. # Incoming connections will be accepted only from the hosts listed here. # If IPv6 support is enabled then '127.0.0.1', '::127.0.0.1', '::ffff:127.0.0.1' are treated equally and '::/0' will allow any IPv4 or IPv6 address. # '0.0.0.0/0' can be used to allow any IPv4 address. # Example: Server=127.0.0.1,192.168.1.0/24. 1,2001:db8::/32,zabbix.domain # # Mandatory: no # Default: # Server= Server=192.168.27.110 ### Option: ServerActive # List of comma delimited IP:port (or hostname:port) pairs of Zabbix servers for active checks. # If port is not specified, default port is used. # IPv6 addresses must be enclosed in square brackets if port for that host is specified. # If port is not specified, square brackets for IPv6 addresses are optional. # If this parameter is not specified, active checks are disabled. # Example: ServerActive=127.0.0.1:20051,zabbix.domain,[::1]:30051. 1,[12fc::1] # # Mandatory: no # Default: # ServerActive= ServerActive=192.168.27.110 ### Option: Hostname # Unique, case sensitive hostname. # Required for active checks and must match hostname as configured on the server. # Value is acquired from HostnameItem if undefined. # # Mandatory: no # Default: # Hostname= Hostname=astraclient
После выполнения указанных выше действий отдельные события аудита будут отображаться в WEB-интерфейсе zabbix-сервера в разделе Мониторинг:
Для определения дополнительных событий аудита, подлежащих регистрации, необходимо в разделе Аудит приложения — Управление политикой безопасности ( fly-admin-smc ) установить переключатели Успех и Отказ напротив регистрируемых событий аудита. Для применения изменений необходимо перезагрузить сессию пользователя или перезагрузить компьютер:
Настройка триггеров
Триггеры — это логические выражения, которые «оценивают» получаемые данные и отражают текущее состояние системы. Ш аблоны Zabbix для Astra Linux Special Edition РУСБ.10015-01 (очередное обновление 1.7) содержат общие настройки, использующихся для сбора системных данных Astra Linux, и крайне непрактично наблюдать за этими данными всё время в ожидании выполнения условия, приводящего к оповещению или которое заслуживающего внимания. Работа по «оценке» данных может выполняться автоматически с использованием триггеров в соответствии с установленной в сети политикой безопасности.
- В WEB-интрефейе сервера перейти в Настройка ->Шаблоны ->Триггеры;
- Нажать кнопку Создать триггер:
- В появившемся окне:
- Задать имя триггера;
- Установить важность триггера;
- Нажать кнопку Добавить для задания выражения триггера:
- Заполнить открывшуюся форму Условие (пример показан на рисунке):
- Нажать кнопку Вставить;
- Нажать кнопку Добавить после чего в открывшемся окне отобразится строка с добавленным триггером:
Для проверки срабатывания триггера на компьютере с установленным zabbix-агентом выполнить произвольную команду с использованием sudo, например:
В случае успеха примерно через 1-2 минуты на сервере в разделе Мониторинг -> Проблемы отобразится факт срабатывание триггера: