🐹 CentOS 7: Установка и настройка Zabbix server 5.0 и Zabbix agent 5.4.

Содержание:

1. Введение.

1.1. Что такое Zabbix.
1.2. Системные требования.
1.3. Официальная документация.
1.4. Архитектура Zabbix.
1.5. Проверки.
1.6. Проверка через пользовательский параметр.
1.7. Триггеры.
1.8. Прогнозирование.
1.9. Действие.
1.10. Операции.
1.11. Низкоуровневое обнаружение.
1.12. Прокси.

2. Предварительная подготовка сервера.

2.1. Как временно или навсегда отключить SELinux.
2.2. Обновление системы.
2.3. Настройка часового пояса и синхронизации времени.
2.4. Настройка брандмауэра.

2.4.1. Для firewalld.
2.4.1. Для iptables.

3. Установка и настройка системы баз данных MariaDB.
4. Установка и настройка сервера Zabbix 5.0.

4.1. Получение программы с официального сайта.
4.2. Создание базы данных.
4.3. Настройка базы данных.
4.4. Настройка Zabbix.
4.5. Конфигурация PHP для Zabbix frontend.

4.5.1. Конфигурация nginx.
4.5.2. Конфигурация php-fpm.d.

4.6. Запуск Zabbix server.
4.7. Подключение к web-интерфейсу.
4.8. Установка портала для управления Zabbix.

5. Проброс Zabbix server через proxy_pass стороннего Nginx server’а.

5.1. Настройка локального Nginx.
5.2. Настройка proxy_pass стороннего Nginx server’а.

6. Настройка Zabbix server.

6.1. Создание учетной записи и смена пароля.

6.1.1. Карты сети Local Network.
6.1.2. Комплексный экран Zabbix server.
6.1.3. Панели Global view и Zabbix server health.

6.2. Деактивация учетных записей гостей Guests.
6.3. Настройка e-mail оповещений.
6.4. Изменение шаблона стандартных оповещений.

7. Обновление Zabbix 5.0 до 5.4.
8. Установка Zabbix agent на Linux.

8.1. Инсталляция пакета Zabbix agent.
8.2. Настройка конфигурации Zabbix agent.
8.3. Добавление узла Zabbix agent.
8.4. Проверка поступления данных с Zabbix agent.
8.5. Проверка срабатывания триггера с Zabbix server.

9. Установка Zabbix agent на Windows.
10. Настройка шифрованного подключения.
11. Изменение паролей пользователей и базы данных Zabbix.
12. Оригиналы источников информации.


На чем было опробовано:

  1. CentOS Linux release 7.9.2009 (Core).
  2. Zabbix server 5.0.
  3. Zabbix agent 5.4.
  4. MariaDB 10.5.10.

1. Введение.

1.1. Что такое Zabbix.

Zabbix — это универсальный инструмент мониторинга, способный отслеживать динамику работы серверов и сетевого оборудования, быстро реагировать на внештатные ситуации и предупреждать возможные проблемы с нагрузкой.

Внимание! Zabbix server больше не поддерживает Centos 7. Потому что официально поддержка CentOS 7 выше Zabbix 5.0 пока что отсутствует, но Zabbix agent 5.4 под CentOS 7 обновляется и поддерживается исправно.

Внимание! Статья подразумевает, что вы устанавливаете Zabbix на «чистый» сервер. Установка на сервер с уже настроенными сервисами категорически не рекомендуется! Будут затронуты зависимости, которые могут привести к неработоспособности работающих приложений.

Основные возможности:

Функционал включает в себя общие проверки для наиболее распространенных сервисов, в том числе СУБД, SSH, Telnet, VMware, NTP, POP, SMTP, FTP и так далее. Если стандартных настроек системы недостаточно, их можно изменить самостоятельно или же пользоваться дополнением через API.

Стандартные функции системы:

  • Контроль нагрузки на процессор, касается и отдельных процессов.
  • Сбор данных об объеме свободной оперативной и физической памяти.
  • Мониторинг активности жесткого диска.
  • Мониторинг сетевой активности.
  • Пинг для проверки доступности узлов в сети.

Ключевой особенностью Zabbix является возможность его использования как начинающим администраторам, так и опытным пользователям, обслуживающим десятки, а то и сотни серверов.

Для начинающих специалистов существует достаточное количество уже готовых решений, которые можно добавить через web-интерфейс, для более опытных коллег Zabbix позволяет мониторить сервисы с помощью самостоятельно написанных скриптов.

Система мониторинга Zabbix по праву считается одним из самых продвинутых инструментов для удалённого мониторинга аппаратных и программных ресурсов. Система с успехом позволяет решать задачи по отслеживанию сетевой активности и работоспособности серверов, а также предупреждать о потенциально опасных ситуациях. Благодаря встроенным механизмам анализа и прогнозирования, Zabbix может стать основой для создания полноценной стратегии эффективного использования IT-инфраструктуры в компаниях любого масштаба.

1.2. Системные требования.

Zabbiх не требователен к ресурсам, но он позволяет не только оперативно проинформировать о возникшей проблеме, но и предотвратить её. Что немаловажно для функционирования сервисов в режиме 24 часа в день, 7 дней в неделю и 364 дня в году.

Технические требования следующие:

  • 1 ядро CPU + 1ГБ памяти — до 20 наблюдаемых узлов сети;
  • 2 ядра CPU + 2ГБ памяти — до 500 наблюдаемых узлов сети;
  • 4 ядра CPU + 8ГБ памяти — более 1000 наблюдаемых узлов сети;
  • 8 ядер CPU + 16ГБ памяти — более 10000 наблюдаемых узлов сети.

1.3. Официальная документация.

В рамках одной инструкции невозможно затронуть все возможности системы мониторинга Zabbix, она получится слишком обзорной. Возможности Zabbix велики.

Рекомендуется обратиться к официальной документации, чтобы ознакомиться с возможностями и найти ответы на вопросы, которые здесь не рассмотрены.

Ссылка на официальную документацию: zabbix.com.

1.4. Архитектура Zabbix.

У Zabbix есть 4 основных инструмента, с помощью которых можно мониторить определенную рабочую среду и собирать о ней полный пакет данных для оптимизации работы.

Перечислим их:

  • Сервер — ядро, хранящее в себе все данные системы, включая статистические, оперативные и конфигурацию. Дистанционно управляет сетевыми сервисами, оповещает администратора о существующих проблемах с оборудованием, находящимся под наблюдением.
  • Прокси — сервис, собирающий данные о доступности и производительности устройств, который работает от имени сервера. Все собранные данные сохраняются в буфер и загружаются на сервер. Нужен для распределения нагрузки на сервер. Благодаря этому процессу можно уменьшить нагрузку на процессор и жесткий диск. Для работы прокси Zabbix отдельно нужна база данных.
  • Агент — программа (демон), которая активно мониторит и собирает статистику работы локальных ресурсов (накопители, оперативная память, процессор и др.) и приложений.
  • Web-интерфейс — является частью сервера системы и требует для работы веб-сервер. Часто запускается на том же физическом узле, что и Zabbix.

1.5. Проверки.

Для описания системы мониторинга Zabbix существует два ключевых понятия:

  • Узлы сети — рабочие устройства и их группы (сервера, рабочие станции, коммутаторы), которые необходимо проверять. С создания и настойки узлов сети обычно начинается практическая работа с Zabbix.
  • Элементы данных — набор самостоятельных метрик, по которым происходит сбор данных с узлов сети. Настройка элементов данных производится на вкладке «Элемент данных» или в автоматическом режиме — через подключение шаблона.

Сам Zabbix agent способен отражать текущее состояние физического сервера, собирая совокупность данных. У него достаточно много метрик. С их помощью можно проверить загруженность ядра (Processor load), время ожидания ресурсов (CPU iowait time), объем системы подкачки (Total swap space) и многое другое.

В Zabbix существует целых 17 способов, дающих возможность собирать информацию.

Указанные ниже, входят в число наиболее часто применяемых:

  • Zabbix agent (Zabbix-агент) — сервер собирает информацию у агента самостоятельно, подключаясь по определенному интервалу.
  • Simple check (Простые проверки) — простые операции, в том числе пинг.
  • Zabbix trapper (Zabbix-траппер) — сбор информации с трапперов, представляющих собой мосты между используемыми сервисами и самой системой.
  • Zabbix aggregate (Zabbix-комплекс) — процесс, предусматривающий сбор совокупной информации из базы данных.
  • SSH agent (SSH-агент) — система подключается по SSH, использует указанные команды.
  • Calculate (Вычисление) — проверки, которые система производит, сопоставляя имеющиеся данные, в том числе после предыдущих сборов.

У проверок есть заданные шаблоны (Templates), которые упрощают создание новых. Кроме обычных операций существует возможность регулярно проверять доступность web-сервера с помощью имитации запросов браузера.

1.6. Проверка через пользовательский параметр.

Чтобы выполнить проверку через агент, нужно прописать соответствующую команду в конфигурационный файл Zabbix agent в качестве пользовательского параметра (UserParameter).

Сделать это можно с помощью выражения следующего вида:

UserParameter=<ключ>,<команда>

Помимо самой команды, приведенный синтаксис содержит уникальный (в пределах узла сети) ключ элемента данных, который надо придумать самостоятельно и сохранить. В дальнейшем, ключ можно использовать для ссылки на команду, внесенную в пользовательский параметр, при создании элемента данных.

Пример 1:

UserParameter=ping,echo 1

С помощью данной команды можно настроить агент на постоянное возвращение значения «1» для элемента данных с ключом «ping».

Пример 2:

Организовать мониторинг текущих версий контейнеров развернутых на серверах.

Ссылка: «Zabbix: Парсинг и передача json данных».

1.7. Триггеры.

Это логические выражения со значениями FALSE, TRUE и UNKNOWN, которые используются для обработки данных. Их можно создать вручную. Перед использованием триггеры возможно протестировать на произвольных значениях.

У каждого триггера существует уровень серьезности угрозы, который маркируется цветом и передается звуковым оповещением в web-интерфейсе.

  • Not classified (Не классифицировано) — серый.
  • Information (Информация) — светло-синий.
  • Warning (Предупреждение) — жёлтый.
  • Average (Средняя) — оранжевый.
  • High (Высокая) — светло-красный.
  • Disaster (Чрезвычайная) — красный.

Некоторые функции триггеров:

  • abschange — абсолютная разница между последним и предпоследним значением (0 — значения равны, 1 — не равны).
  • avg — среднее значение за определенный интервал в секундах или количество отсчетов.
  • delta — разность между максимумом и минимумом с определенным интервалом или количеством отсчетов.
  • change — разница между последним и предпоследним значением.
  • count — количество отсчетов, удовлетворяющих критерию.
  • date — дата.
  • dayofweek — день недели от 1 до 7.
  • diff — у параметра есть значения, где 0 — последнее и предпоследнее значения равны, 1 — различаются.
  • last — любое (с конца) значение элемента данных.
  • max/min — максимум и минимум значений за указанные интервалы или отсчеты.
  • now — время в формате UNIX.
  • prev — предпоследнее значение.
  • sum — сумма значений за указанный интервал или количество отсчетов.
  • time — текущее время в формате HHMMSS.

1.8. Прогнозирование.

Триггеры обладают еще одной важной функцией для мониторинга — прогнозированием. Она предугадывает возможные значения и время их возникновения. Прогноз составляется на основе ранее собранных данных.

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

1.9. Действие.

Действие (Action) представляет собой заданную реакцию на событие (Event). Действие может устанавливаться автоматически или вручную как для одного из событий, так и для целой группы.

Параметры действий:

  • Name — имя действия.
  • Event source — источник события. Источниками событий служат обнаружение (Discovery Events), автоматическая регистрация (Auto registration Events) или заданный триггер (Trigger Events).
  • Enable escalations — разрешение на эскалацию событий.
  • Period — период времени для шага эскалации, указывается в секундах.
  • Default subject — указывается, кто извещается по умолчанию.
  • Default message — стандартный текст сообщения.
  • Recovery message — текст уведомления после решения проблемы.
  • Recovery subject — субъект, которого извещают после операции.
  • Status — статус действия, может быть «активно» и «запрещено».

Для событий, вызванных триггером или обнаружением, есть свои типы условий.

Например, «Application» с операторами «=», «like» и «not like» значит, что триггер является частью указанного приложения. Или «Service type» с операторами «=», «<» и «>» предусматривает, что обнаруженный сервис совпадает с указанным.

1.10. Операции.

Пользователь может указать для событий операцию или группу операций.

Параметры операций:

  • Step — при эскалации событий.
  • Operation type — действия на определенном шаге, например, «Send message» или «Execute command».
  • Event Source — источник событий.
  • Send message to — отдельное сообщение (Single user) или групповое (User group).
  • Default message — текст по умолчанию.
  • Subject — кого оповещает система.
  • Message — текст сообщения.
  • Remote command — команда для удаленного управления.

1.11. Низкоуровневое обнаружение.

Функция LLD (Низкоуровневого обнаружения) автоматически создает элементы и триггеры, которые позволяют отслеживать системы сервера, находящимся под наблюдением.

Включение функции происходит через настройку атрибутов, которую можно сделать, пройдя по пути: Настройка —> Шаблоны —> Обнаружение (вкладка в строке с шаблоном) —> вкладки Правила обнаружения/Фильтры.

Что можно обнаружить:

  • Распространённые OID, используемые SNMP.
  • Сетевые интерфейсы.
  • Процессоры, их ядра.
  • Файловые системы.
  • Службы Windows.
  • ODBC.

Дополнительные типы.

Задать собственные типы низкоуровневого обнаружения возможно с применением формата JSON.

Типы проверок, для которых можно указать список портов и интервал для них:

  • SSH;
  • LDAP;
  • SMTP;
  • FTP;
  • HTTP;
  • POP;
  • NNTP;
  • IMAP;
  • TCP.

Если хост пропадает или обнаруживается, для события можно привязать любое действие — условия и операцию для них.

1.11. Прокси.

Функция буферизации через прокси используется в том случае, когда существующая инфраструктура достаточно большая, а выделенный Zabbix server не способен нести такую нагрузку. Zabbix proxy выступает промежуточным звеном, которое собирает информацию с Zabbix agent в буфер, а после отправляет данные на Zabbix server.

Прокси используется еще в нескольких случаях — если Zabbix agent’ы находятся далеко друг от друга или ограничены локальной сетью. Это сказывается на доступности Zabbix agent и величине пингов.

Zabbix proxy функционирует как демон. Для его использования обязательно наличие отдельной базы данных.

2. Предварительная подготовка сервера.

Перед установкой Zabbix выполняем некоторые подготовительные процедуры.

2.1. Как временно или навсегда отключить SELinux.

Когда вы устанавливаете CentOS 7, функция SELinux включена по умолчанию, из-за этого некоторые приложения в вашей системе могут фактически не поддерживать этот механизм безопасности. Чтобы такие приложения функционировали нормально, вам необходимо отключить SELinux.

Ссылка: «CentOS 7: Как временно или навсегда отключить SELinux».

2.2. Обновление системы.

Обновим операционную систему:

# yum -y update && yum -y upgrade

2.3. Настройка часового пояса и синхронизации времени.

Очень важно иметь правильно настроенную систему учета времени на сервере, потому что сервер — существо электромеханическое и все процессы в нём ориентируются на точно время. Например, резервное копирование, мониторинг и синхронизация с другими системами в сети.

Чтобы время на сервере CentOS 7 соответствовало вашему часовому поясу, его можно изменить вручную.

Ссылка: «CentOS 7: Настройка часового пояса. Утилита tzdata».

Ссылка: «CentOS 7: Настройка синхронизация времени по Network Time Protocol. Утилита chrony».

Для корректной работы сервера требуется правильно настроить его синхронизацию времени по Network Time Protocol.

Внимание! В CentOS 7 данная утилита уже идет в комплекте даже при минимальной комплектации установщика. Устанавливать отдельно в CentOS 7 утилиту chrony не надо. В CentOS 8 данная утилита не идет в комплекте и потребуется её установка и настройка.

Ссылка: «CentOS 7: Настройка синхронизация времени по Network Time Protocol. Утилита ntp».

2.4. Настройка брандмауэра.

Для работы web-сервера требуется пробросить порт 80/tcp, порт 443/tcp порт через брандмауэр.

Ссылка: «CentOS 7: Первичная настройка брандмауэра web-сервера. Проброс 80 порта и 443 порта. Настройка firewalld или iptables».

Один из важных моментов который надо учитывать при настройке это знать на каких портах по умолчанию работает Zabbix.

Порта всего два:

  • 10051 — по нему Zabbix server получает данные от активных Zabbix agent. Порт должен быть открыть на Zabbix server.
  • 10050 — по нему Zabbix server опрашивает Zabbix agent и забирает данные. Порт должен быть открыть на Zabbix agent.

Также, по аналогии, пробрасываем порт 10051/tcp, порт 10050/tcp, порт 10051/udp, порт 10050/udp.

Где

  • порт 80 — для http запросов (web-интерфейс);
  • порт 443 — для https запросов (web-интерфейс);
  • порты 10050, 10051 — порты для получения информации от Zabbix agent.

2.4.1. Для firewalld.

Кому лень устанавливать и настраивать iptables или просто удобнее работать с firewalld выполните следующие команды:

# firewall-cmd --permanent --add-port={80/tcp,443/tcp,10051/tcp,10050/tcp,10050/udp,10051/udp}

# firewall-cmd --complete-reload

Ответ:

2.4.1. Для iptables.

Прежде, чем что-то модифицировать в файле конфигурации, всегда нужно иметь резервную копию файла:

# cp /etc/sysconfig/iptables /etc/sysconfig/iptables.original

Открываем файл конфигурации iptables текстовым редактором:

# mcedit /etc/sysconfig/iptables

-A INPUT -p tcp -m tcp --dport 80 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 443 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 10050 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 10051 -j ACCEPT
-A INPUT -p tcp -m udp --dport 10050 -j ACCEPT
-A INPUT -p tcp -m udp --dport 10051 -j ACCEPT

Должно получиться так:

# sample configuration for iptables service
# you can edit this manually or use system-config-firewall
# please do not ask us to add additional ports/services to this default configuration
*filter
:INPUT DROP [0:0]
:FORWARD DROP [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 80 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 443 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 10050 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 10051 -j ACCEPT
-A INPUT -p udp -m udp --dport 10050 -j ACCEPT
-A INPUT -p udp -m udp --dport 10051 -j ACCEPT
-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A FORWARD -j REJECT --reject-with icmp-host-prohibited
COMMIT

Чтобы iptables учел изменения в файлах конфигураций, его нужно его перезапустить:

# systemctl restart iptables

3. Установка и настройка системы баз данных MariaDB.

Для хранения информации на сервере используется MariaDB — ответвление от системы управления базами данных MySQL.

Ссылка: «CentOS 7: Установка и настройка системы баз данных MariaDB. Создание базы данных.»

4. Установка и настройка сервера Zabbix 5.0.

Переходим к установке самого Zabbix server.

4.1. Получение программы с официального сайта.

Ссылка на официальный сайт: zabbix.com/ru/download.

Примечание! Почему не выбрали Zabbix 5.4? Потому что официально поддержка CentOS 7 выше Zabbix 5.0 пока что отсутствует. Если сразу начать ставить по репозиторию Zabbix 5.4, то там ничего кроме Zabbix agent нет и вы испортите порядок установки модулей. Будем ставить в начале Zabbix 5.0 и потом обновим некоторые модули до версии 5.4.

Установите репозиторий Zabbix:

# rpm -Uvh https://repo.zabbix.com/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpm
# yum clean all
# yum makecache

Установите Zabbix server и Zabbix agent:

# yum install zabbix-server-mysql zabbix-agent

Установите репозиторий Red Hat Software Collections:

# yum install -y centos-release-scl

Модифицируйте файл /etc/yum.repos.d/zabbix.repo и активируйте Zabbix-frontend репозиторий:

# mcedit /etc/yum.repos.d/zabbix.repo

Замените 0 на 1:

[zabbix-frontend]
…
enabled=1

Установим Zabbix-frontend пакеты:

# yum -y install zabbix-web-mysql-scl zabbix-nginx-conf-scl

4.2. Создание базы данных.

Также нужно создать новую базу данных, пользователя и назначить права доступа к базе данных.

# mysql -uroot -p

Придумываем имя для базы данных и создаем ее:

# CREATE DATABASE name_of_db character set utf8 collate utf8_bin;

Создаем пользователя для этой базы данных:

# CREATE USER user_of_db@localhost;

Устанавливаем ему пароль:

# SET PASSWORD FOR user_of_db@localhost=PASSWORD("password_of_db");

Делаем этого пользователя хозяином новоиспеченной базы:

# GRANT ALL PRIVILEGES ON name_of_db.* TO user_of_db@localhost IDENTIFIED BY 'password_of_db';

Перезапускаем привилегии базы:

# FLUSH PRIVILEGES;

Выходим из базы:

# exit

Готово!

4.3. Настройка базы данных.

На хосте Zabbix server импортируйте в созданную вами базу данных исходную схему и первоначальные данные:

# zcat /usr/share/doc/zabbix-server-mysql*/create.sql.gz | mysql -uuser_of_db -p name_of_db

Ответ:

Внимание! Вам будет предложено ввести только что созданный пароль от базы данных, а не от MariaDB.

Enter password: password_of_db

Примечание! Самонастройка схем базы данных из шаблона будет происходить более 1-5 минут. Не переживайте, ничего не зависло. Обязательно дождитесь раскатки схемы на базу данных.

4.4. Настройка Zabbix.

Открываем конфигурационный файл Zabbix:

# mcedit /etc/zabbix/zabbix_server.conf

Ищем и модифицируем строки по смыслу:

DBHost=localhost
DBName=name_of_db
DBUser=user_of_db
DBPassword=password_of_db
Timeout=20

Имя, пользователь и пароль базы данных должны быть такими, как мы и создавали в новой базе данных для MariaDB.

Там же рекомендуется сразу изменить параметр таймаута, увеличив его до 20-ти секунд.

4.5. Конфигурация PHP для Zabbix frontend.

4.5.1. Конфигурация nginx.

Отредактируем файл /etc/opt/rh/rh-nginx116/nginx/conf.d/zabbix.conf, раскомментируем и модифицируем директивы ‘listen‘ и ‘server_name‘:

# mcedit /etc/opt/rh/rh-nginx116/nginx/conf.d/zabbix.conf

Было:

# listen 80;
# server_name example.com;

Стало:

listen 80;
server_name example.com;

или

listen 80;
server_name 192.168.0.30;

Вместо example.com укажите свое имя виртуального хоста для Zabbix server.

Если вы хотите подключаться не только по доменному имени, но и по IP-адресу к web-интерфейсу Zabbix, вам необходимо в помимо listen 80, добавить директиву default_server:

listen 80 default_server;
server_name example.com;

Одновременно с этим вы должны удалить эту же директиву в основном конфиге Nginx/etc/nginx/nginx.conf.

Вместо:

listen 80 default_server;
listen [::]:80 default_server;

Сделать просто:

listen 80;
listen [::]:80;

4.5.2. Конфигурация php-fpm.d.

Внимание! Обратите внимание на то, что версия php может отличаться в зависимости от операционной системы и версии в базовых репозиториях. В общем случае она будет либо php7.3-fpm, либо php7.2-fpm, либо php7.4-fpm.

Отредактируем файл /etc/opt/rh/rh-php72/php-fpm.d/zabbix.conf, добавим пользователя Nginx к listen.acl_users директиве.

# mcedit /etc/opt/rh/rh-php72/php-fpm.d/zabbix.conf

Было:

listen.acl_users = apache

Стало:

listen.acl_users = apache,nginx

Затем, в этом же файле zabbix.conf, раскомментируем и установим свою корректную региональную timezone:

Было:

; php_value[date.timezone] = Europe/Riga

Стало:

php_value[date.timezone] = Asia/Yekaterinburg

Временные зоны России в PHP можно посмотреть на другой страничке моего сайта.

Ссылка: «CentOS 7: Временные зоны России в PHP».

4.6. Запуск Zabbix server.

Разрешаем автозапуск комплекса мониторинга:

# systemctl enable zabbix-server

# systemctl enable zabbix-agent

# systemctl enable rh-nginx116-nginx

# systemctl enable rh-php72-php-fpm

После запускаем комплекс мониторинга через restart, чтобы были учтены модифицированные файлы конфигураций:

# systemctl restart zabbix-server

# systemctl restart zabbix-agent

# systemctl restart rh-nginx116-nginx

# systemctl restart rh-php72-php-fpm

Проверяем статус комплекса мониторинга:

# systemctl status zabbix-server

# systemctl status zabbix-agent

# systemctl status rh-nginx116-nginx

# systemctl status rh-php72-php-fpm

Ответ:

Если везде имеется 'Active: active (running)' — всё хорошо, всё работает в штатном режиме.

Внимание! Если где-то нет такой текстовой индикации, успеха работы службы, то ищите опечатки в файлах конфигурации.

Убедиться в том, что сервер нормально запустился, можно проверив log-файл от Zabbix server/var/log/zabbix/.

# cat /var/log/zabbix/zabbix_server.log

Ответ:

4.7. Подключение к web-интерфейсу.

Для подключения к web-интерфейсу Zabbix, перейдите в браузере по адресу:

# http://<IP-адрес-сервера>/

Если вы видите ошибку подключения к web-серверу, то скорее всего у вас межсетевой экран блокирует соединения. Настройте его.

4.8. Установка портала для управления Zabbix.

Откроется страница установки Zabbix server.

Кликаем по ссылке Next Step.

В следующем окне внимательно смотрим на результаты проверки нашего web-сервера — справа вы должны увидеть все OK.

Если это не так, проверяем настройки и исправляем предупреждения и ошибки, после перезапускаем страницу, нажмите F5 для обновления содержимого страницы браузера и повторной проверки настроек.

Когда все результаты будут OK, кликаем по Next Step.

В следующем окне мы оставляем настройки подключения к базе name_of_db как есть — дополнительно прописываем пароль, который задали при создании пользователя user_of_db, в нашем примере, password_of_db.

После нажимаем Next Step.

В следующем окне оставляем все как есть.

Нажимаем Next Step.

В последнем окне мы проверяем настройки и кликаем Next Step.

Установка завершена — нажимаем Finish.

В открывшемся окне вводим логин Admin и пароль zabbix, которые идут по умолчанию при первоначальной установке Zabbix server.

Далее откроется окно со сводной информацией по мониторингу.

5. Проброс Zabbix server через proxy_pass стороннего Nginx server’а.

Возможно вам на данном этапе захочется пробросить свой Zabbix server за NAT через proxy_pass стороннего Nginx server’а с помощью технологии проксирования запросов и пользоваться Zabbix server по доменному имени.

Для этого нужно будет внести одно изменение в конфигурацию локального Nginx самого Zabbix server и создать файл конфигурации виртуального хоста на Nginx server, через который будем проксировать сам Zabbix server, а так же сгенерировать сертификаты шифрования для передачи информации по HTTPS.

Ссылка: «Nginx: Проксирование запросов с помощью proxy_pass».

Ссылка: «CentOS 7: Установка, настройка и получение бесплатного ssl-сертификата Let’s Encrypt».

5.1. Настройка локального Nginx.

На этом этапе заходим в настройки локального Nginx и меняем IP-адрес на доменное имя, по которому будет открываться web-панель Zabbix server.

Отредактируем файл /etc/opt/rh/rh-nginx116/nginx/conf.d/zabbix.conf:

# mcedit /etc/opt/rh/rh-nginx116/nginx/conf.d/zabbix.conf

Было:

listen 80;
server_name 192.168.0.30;

или

listen 80;
server_name example.com;

Вместо example.com укажите свое имя виртуального хоста локального Nginx для Zabbix server.

Сохраните файл и выйдите из текстового редактора.

Перезапустим локальный Nginx, чтобы файл конфигурации считался заново:

# systemctl restart rh-nginx116-nginx

5.2. Настройка proxy_pass стороннего Nginx server’а.

На этом этапе создадим файл конфигурации виртуального хоста для стороннего Nginx server, по которому будет открываться web-панель Zabbix server с помощью proxy_pass.

Создадим новый файл конфигурации на Nginx server /etc/nginx/conf.d/:

# mcedit /etc/nginx/conf.d/zabbix-server.conf

И наполним его вот таким содержимым:

server {
    listen 443 ssl http2;
    server_name example.com;
    access_log /var/log/nginx/zabbix-server-access.log;
    error_log /var/log/nginx/zabbix-server-error.log;

    ssl_certificate         /etc/letsencrypt/live/example.com/fullchain.pem;
    ssl_certificate_key     /etc/letsencrypt/live/example.com/privkey.pem;
    ssl_trusted_certificate /etc/letsencrypt/live/example.com/chain.pem;

    location / {
#       auth_basic "Zabbix Server";
#       auth_basic_user_file /etc/nginx/htpasswd/zabbix_server;
        proxy_pass http://192.168.0.30;
        proxy_http_version 1.1;
        proxy_set_header Host $http_host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
        proxy_redirect off;
    }
}

где auth_basic и auth_basic_user_file — это переменные для базовой аутентификации.

Ссылка: «Nginx: Базовая аутентификация. Как поставить пароль на раздел, директорию или каталог сайта? Утилита htpasswd.»

Проверим корректность составления файла конфигурации:

# nginx -t

Если ошибок не обнаружено, то пересчитаем файл конфигурации, чтобы другие сессии не слетели на работающем Nginx server:

# nginx -s reload

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

Ссылка: «CentOS 7: Ротация логов web-сервера Nginx».

Теперь проверьте, по example.com у вас будет открываться web-интерфейс Zabbix server:

# https://example.com

Ответ:

6. Настройка Zabbix server.

6.1. Создание учетной записи и смена пароля.

Первое, что нужно сделать после установки — сменить стандартные учетные данные для входа.

Можно просто поменять пароль пользователя Admin, но лучше создать новую учетную запись с правами суперпользователя, а администратора, который идет по умолчанию, удалить.

Для этого идем в раздел Administration —> Users и нажимаем Create User.

Заполняем все необходимые поля. Можно выбрать русский язык.

Не забудьте зайти во вкладку Permissions и выбрать User typeZabbix Super Admin.

Теперь можно зайти под новым пользователем, а Admin не плохо бы удалить. Но это не получится так просто, система не даст его удалить, так как он является владельцем некоторых объектов.

Они создаются автоматически при установке Zabbix. Вам нужно сменить у них владельца на нового пользователя.

  • Карты сети Local Network.
  • Комплексный экран Zabbix server.
  • Панелей Global view и Zabbix server health.

6.1.1. Карты сети Local Network.

Заходим Monitorong —> Maps —> Properties:

Нажимаем Select и меняем учетную запись старого системного администратора на учетную запись нового системного администратора.

Сохраняем изменения.

6.1.2. Комплексный экран Zabbix server.

Заходим Monitoring —> Screens —> Properties:

Нажимаем Select и так же меняем учетную запись старого системного администратора на учетную запись нового системного администратора.

Сохраняем изменения.

6.1.3. Панели Global view и Zabbix server health.

Заходим в Monitoring —> Dashboard —> All dashboards.

Здесь уже нажимаем к конкретный раздел Global view или Zabbix server health.

Выбираем каждый Dashboard по отдельности, и проводим операцию Edit dashboard для каждого, по аналогии ниже:

Нажимаем на Значок шестерёнки. Откроется вспомогательное окно Dashboard properties, выбираем Select.

Откроется список пользователей в системе и один раз кликаем на Имя учетной записи нового администратора.

Owner сменится и нажимаем Apply.

Сохраняем изменения.

Проделываем данный алгоритм действий для каждого Dashboard‘а.

Третий шаг пройден.

После этого стандартного администратора, с учебной записью Admin, можно будет удалить.

6.2. Деактивация учетных записей гостей Guests.

Пользователя guest удалить нельзя, его можно только отключить. Делается это путем отключения группы Guests, в которой он состоит.

Идем в меню настройки групп Administration —> User groups и в группе Guests кликаем по значениям параметров Frontend access и Status, значения поменяются на Disabled.

Должно получиться так:

В меню настройки пользователей (Administration —> Users) статус у guest поменяется на Disabled.

6.3. Настройка e-mail оповещений.

Дальше нужно настроить очень важную часть системы мониторинга — уведомления на e-mail.

Без оповещения о событиях система мониторинга будет частично бесполезная.

Zabbix server поддерживает отправку почты через сторонние smtp-серверы. Настроим один из них. Для этого идем в раздел Administration —> Media types и нажимаем на Email или Email HTML.

Нажимаем на название способа оповещения, открывается панель его настройки.

Посмотрим на примере настроек ящика в Яндексе:

Здесь же можете протестировать выбранный способ отправки.

Это мы настроили адрес отправки.

Теперь нужно пользователю добавить адрес для получения оповещений. Для этого идем в Administration —> Users, выбираем своего пользователя. Идем во вкладку Media и жмем Add. Добавляйте свой ящик и нажимайте Update.

Дальше нужно активировать отправку уведомлений по событиям. Для этого идем в Configuration —> Actions и жмем на Disabled, чтобы стало Enabled.

Все, отправку уведомлений вы настроили, осталось подождать срабатывания триггера, чтобы проверить.

Сделаем это позже, когда подключим хотя бы один хост к мониторингу.

6.4. Изменение шаблона стандартных оповещений.

Для того, чтобы сообщения на e-mail были более информативные, изменим шаблон идущий в комплекте по умолчанию в Zabbix.

Возвращаемся туда же и правим шаблон.

Меняем шаблон темы письма при проблеме и восстановлении.

В стандартном шаблоне в теме письма нет информации об имени хоста. Некоторые шаблоны в триггерах указывают имя хоста в названии триггера, но есть и такие, где нет этой информации. Из-за этого в оповещении сразу не видно, о каком хосте идет речь. Этом же шаблоне сразу в теме будет указано имя хоста, далее статус, а потом имя триггера.

Шаблон меняет на следующий:

{HOST.NAME} - {TRIGGER.STATUS}: {TRIGGER.NAME}

Он одинаковый и для Problem, и для Problem recovery.

7. Обновление Zabbix 5.0 до 5.4.

Перед обновлением, сделаем на всякий случай резервную копию базы данных Zabbix.

Для этого предварительно остановим Zabbix server с Zabbix agent:

# systemctl stop zabbix-server

# systemctl stop zabbix-agent

Делаем резервную копию баз данных:

# /usr/bin/mysqldump --opt -v --databases name_of_db -uuser_of_db -p'password_of_db' | /usr/bin/gzip -c > /root/zabbix.sql.gz

Где:

  • name_of_db — название базы данных Zabbix;
  • -uuser_of_db — ключ -u и user_of_db — имя пользователя базы данных;
  • -p'password_of_db' — ключ -p и 'password_of_db' — пароль пользователя базы данных, если в пароле есть спецсимволы, экранируйте их одиночными кавычками.

На всякий случай сохраним php-скрипты учетной записи администратора системы мониторинга, чтобы можно было оперативно запустить старую версию в случае нештатной ситуации.

Хотя можно сделать копию виртуального сервера перед обновлением, если он у вас виртуальный, чтобы откатиться назад в случае проблем:

# cp -R /usr/share/zabbix /root

Подключаем репозиторий версии Zabbix 5.4:

# rpm -Uvh https://repo.zabbix.com/zabbix/5.4/rhel/7/x86_64/zabbix-release-5.4-1.el7.noarch.rpm
# yum clean all
# yum makecache

К обновлению подготовились, можно приступать.

Посмотрим что у нас установлено со времен установки системы мониторинга из репозитория Zabbix 5.0:

# rpm -qa | grep zabbix

Ответ:

Устанавливаем обновление Zabbix на сервер Centos 7, выбирая установленные у вас пакеты:

# yum -y upgrade zabbix-web zabbix-web-mysql-scl zabbix-agent zabbix-server-mysql

Посмотрим что обновилось из репозитория Zabbix 5.4:

# rpm -qa | grep zabbix

Ответ:

Как видно, обновилось не всё.

Примечание! Потому что на официальном сайте Zabbix нет версии Zabbix server версии 5.4 для версии CentOS 7. И, похоже, не будет, так как CentOS 7 в 2024 году прекращают поддерживать и все силы Zabbix направил на другие перспективные системы. Как появится что-то на этот счет, я обновлю инструкцию.

После завершения обновления, запускаем Zabbix server и локальный Zabbix agent:

# systemctl start zabbix-server

# systemctl start zabbix-agent

Проверяем log-файл сервера.

Внимание! Необходимо дождаться обновления базы данных. Важно не трогать в этот момент сервер, не прерывать обновление, не пытаться его перезапустить. Если база большая, обновление может длиться очень долго.

# tail -f /var/log/zabbix/zabbix_server.log

В конце должны получить сообщение:

2860543:20201029:173036.441 completed 100% of database upgrade
2860543:20201029:173036.441 database upgrade fully completed

Есть ненулевой шанс, что будет какая-то ошибка с базой. Чаще всего возникают проблемы с какой-то нестандартной записью в таблице. Туда может попасть какой-то необычный символ, или с кодировкой проблемы. В этих случаях удаляйте проблемные записи, меняйте кодировку базы данных Zabbix.

Ссылка на инструкцию по смене кодировки базы данных Zabbix: serveradmin.ru.

Примечание! Если ставили Zabbix по моей инструкции, то при создании базы данных я уже учел кодировку utf8 и ничего менять не требуется.

8. Установка Zabbix agent на Linux.

Для установки Zabbix agent необходимо вначале подключить репозиторий для нужного дистрибутива.

Для любого дистрибутива необходимо сделать стандартные действия:

  • подключить репозиторий;
  • установить агент;
  • настроить параметры подключения;
  • добавить в автозагрузку и запустить;
  • проверить правильность работы.

На Zabbix server должен быть открыть порт 10051.

Внимание! Если вы хотите установить Zabbix agent на сам сервер мониторинга, то ничего делать не надо, кроме самой установки.

При установке агента на самом Zabbix server никаких действий с настройкой не требуется, так как узел Zabbix server по умолчанию уже имеется на сервере.

8.1. Инсталляция пакета Zabbix agent.

Для других узлов в сети установка Zabbix agent выполняется командой:

# yum -y install zabbix-agent

Если это просто плановый запуск после установки, то запустите процесс Zabbix agent и настройте его запуск при загрузке CentOS 7:

# systemctl enable zabbix-agent

# systemctl start zabbix-agent

Проверим статус работы Zabbix agent:

# systemctl status zabbix-agent

Ответ:

Проверяем лог файл /var/log/zabbix/zabbix_agentd.log.

# cat /var/log/zabbix/zabbix_agentd.log

Ответ:

Все в порядке.

8.2. Настройка конфигурации Zabbix agent.

Файл конфигурации zabbix_agentd.conf лежит в /etc/zabbix.

Содержимое файла /etc/zabbix/zabbix_agentd.conf на Zabbix server:

Server=127.0.0.1
ServerActive=127.0.0.1
Hostname=Zabbix server
# Timeout=3

Если же вы будете устанавливать Zabbix agent на другой сервер, то в файле конфигурации /etc/zabbix/zabbix_agentd.conf потребуется внести изменения.

Внимание! Особое внимание обратите на порты работы Zabbix agent. На Zabbix agent должен быть открыт порт 10050 так как именно по нему Zabbix server будет пытаться получить данные с Zabbix agent. В случае использования активного Zabbix agent (агент сам отправляет данные на Zabbix server) должно быть разрешено исходящее подключения по порту 10051.

Кому лень устанавливать и настраивать iptables или просто удобнее работать с firewalld выполните следующие команды:

# firewall-cmd --permanent --add-port={10051/tcp,10050/tcp,10050/udp,10051/udp}

# firewall-cmd --complete-reload

Откроем конфигурационный файл:

# mcedit /etc/zabbix/zabbix_agentd.conf

Отредактируем следующую опцию, если там стоит какое-либо другое значение:

# IP-адрес, с которого будут подключаться к Zabbix agent
Server=192.168.0.30
# Порт, который слушает Zabbix agent (по умолчанию дефолту tcp порт 10050)
ListenPort=10050
# IP-адрес Zabbix agent - адрес, к которому Zabbix agent будет обращаться, что бы отправить результаты активной проверки
ServerActive=192.168.0.30:10051
# Имя Zabbix agent компьютера - тут указываем такое же имя как стоит на Zabbix server в настройках хоста, который мы мониторим
Hostname=cos7client1
# Время ожидания приёма-передачи информации между Zabbix server и Zabbix agent
Timeout=20
# Вы можете включить в файл конфигурации отдельные файлы или все файлы в каталоге
Include=/etc/zabbix/zabbix_agentd.d/*.conf

где:

  • Server — список IP-адресов, разделенных запятыми, Zabbix server и Zabbix proxy-server. Входящие соединения будут приниматься только с хостов, перечисленных здесь.
  • ListenPort — агент будет прослушивать этот порт для подключений с сервера.
  • ServerActive:ActivePort — список разделенных запятыми пар IP:порт, Zabbix server и Zabbix proxy-server для отправки результатов активных проверок.
  • Hostname — требуется для активных проверок и должен соответствовать именам хостов, настроенным на Zabbix server.
  • Timeout — Тратится на обработку не более этих нескольких секунд таймаута.
  • Include — (опционально) Вы можете включить в файл конфигурации отдельные файлы или все файлы в каталоге. Установка Zabbix создаст каталог include в /usr/local/etc, если он не будет изменен во время компиляции.

Если вы вносили какие-либо изменения в файлы конфигурации, то перезапустите службу Zabbix agent:

# systemctl start zabbix-agent

8.3. Добавление узла Zabbix agent.

8.3.1. Обычный и активный агенты — разница.

Клиент может быть двух видов:

  • Обычный агент — сервер получает доступ к узлу мониторинга и забирает данные;
  • Активный агент — клиент сам отправляет данные серверу.

Активный агент.

Для добавления узла мониторинга не имеющего статического IP-адреса необходимо выполнить 4 условия:

  1. В параметре ServerActive настройки агента указывается IP-адрес Zabbix server.
  2. Межсетевой экран должен иметь разрешение на исходящий порт 10051. Будет не плохо если сразу добавите правило и для входящего порта 10050.
  3. Шаблон, который используется для узла должен иметь во всех элементах данных параметр Zabbix agent (активный).
  4. При настройке узла в параметре Интерфейсы агента указывается IP-адрес 0.0.0.0 — это говорит что принимать данные нужно с любого адреса, подключение через IP-адрес и указывается порт 10051.

По умолчанию почти во всех шаблонах параметр сбора стоит Zabbix agent. Менять эти параметры в стандартных шаблонах не целесообразно.

Например, для мониторинга узла без статического IP-адреса работающего на операционной системе Linux необходимо взять шаблон Template OS Linux и произвести его полное клонирование. Название шаблона сделайте понятным для понимания того, что в шаблоне используется параметр активного агента.

Внимание! Как в новом шаблоне сделать параметр Zabbix agent (активный) во всех параметрах вы разберетесь сами — это не сложно. Обязательно создайте полную копию шаблона Template App Zabbix Agent с аналогичным изменением параметра агента. Главное не забудьте поменять его в присоединенных шаблонах вашего нового шаблона.

Больше никаких различий в дальнейшей работе не замечено. Единственное что бросается в глаза это отсутствие цветовой зеленой метки на цветовой индикации состояния агента. К примеру, cos7client1 — это обычный агент, а cos7client2 — это активный агент.

На обычных агентах в случае успеха он должен быть зеленым.

8.3.2. Практика добавления узла сети.

Проходим по вкладкам Configuration —> Hosts —> Create host:

Заполняем по смыслу анкету. Имя узла используем то, которое вы указали в файле конфигурации Zabbix agent. По завершению редактирования нажимаем клавишу Add для сохранения результатов ввода информации.

Внимание! В поле Имя узла сети ставится значение которое указывается в настройках агента в поле Hostname.

Для обычного агента указываем IP-адрес клиента Zabbix agent и порт 10050:

Для активного агента указываем IP-адрес 0.0.0.0 и порт 10051:

Внимание! Все последующие картинки и описания будут делаться с учетом использования обычного агента Zabbix!

Zabbix agent на узле 192.168.0.38 успешно встал на дежурство, но его активность можно будет заметить только спустя 3-5 минут:

Добавляем необходимый шаблон соответствующий операционной системе, устройству или службы .

Снова кликаем на имя узла. В примере это cos7client1, откроется раздел настройки. Переходим в закладку Templates и в поле Link new templates вводим слово Linux. Откроется список шаблонов, выбираем Template OS Linux by Zabbix agent. Можно выбирать любые шаблоны, которые содержатся в системе Zabbix server. Сохраняем настройки клавишей Update.

Сохранение настроек оповестит нас надписью Host updated в разделе со списком узлов на дежурном мониторинге.

В списке узлов сети вы всегда можете наглядно видеть короткую информацию об узлах мониторинга. Например, что один узел работает по активному агенту, второй имеет проблемы с подключением и у третьего всё хорошо и так далее.

8.4. Проверка поступления данных с Zabbix agent.

Идем в web-интерфейс и проверяем поступление данных. Для этого переходим в раздел Monitoring —> Latest data.

Внимание! Сразу не спешите смотреть, так как должно пройти время. Для получения данных о Zabbix agent должно пройти минимум 3-5 минут.

Заказываем в разделе Hosts группу узлов Clients и выбираем имя узла из примера — cos7client1:

Поисковик примет заказанное имя узла — cos7client1, попросим его сделать подборку поступивших с него данных нажатием клавиши Apply:

Выйдет список информации по cos7client1 узлу.

Аналогично можно запросить информацию про сам Zabbix server. Указываем в разделе Hosts группу хостов тип Zabbix servers и выбираем узел Zabbix server и ждем поступления данных.

8.5. Проверка срабатывания триггера с Zabbix server.

Теперь попробуем остановить Zabbix agent и проверить, придет ли уведомление на почту.

Идем в консоль и выключаем Zabbix agent на любом узле:

# systemctl stop zabbix-agent

Ждем минимум 3 минуты. Именно такой интервал указан по умолчанию для срабатывания триггера на недоступность Zabbix agent.

После этого проверяем главную панель, виджет Problems.

Проверяйте e-mail. Туда должно прийти уведомление от Zabbix server.

Обращаем внимание на тему письма, шаблон которого мы отредактировали. В самом начале темы указано имя хоста, на котором сработал триггер.

Если использовать стандартный шаблон, этой информации не будет.

9. Установка Zabbix agent на Windows.

В последних версиях Zabbix установка Zabbix agent для Windows значительно упростилась, так как появился готовый установщик. Во время его работы можно сразу указать адрес сервера мониторинга и имя хоста, на который устанавливается Zabbix agent. В итоге, все делается автоматически, не надо ничего настраивать вручную .

Для установки Zabbix agent на Windows, идем на страницу загрузок официального сайта. Выбираем там Zabbix agent и качаем подходящую версию.

Выбираем просто Zabbix agent 5.4:

Чем отличается Zabbiz agent от Zabbix agent 2?

В этом разделе описываются различия между Zabbiz agent и Zabbiz agent 2.

Ссылка на описание различий: zabbix.com.

Запускаем MSI-пакет и доходим до этапа, где надо указать адрес Zabbix server и имя хоста. Делаем это.

Все остальное оставляем без изменений.

Не забываем создать разрешающее правило в Брандмауэре, если он у вас включен.

Для этого идем в Панель управления —> Система и безопасность —> Брандмауэр Windows —> Дополнительные параметры —> Правило для входящих подключений —> Создать правило.

  • Тип правила: Для порта;
  • Протоколы и порты: Протокол TCP;
  • Определенные локальные порты: 10050;
  • Действие: Разрешить подключение;
  • Профиль (ставим галочки): Доменный, Частный, Публичный;
  • Имя: Zabbix Agent;

Чтобы работал мониторинг Windows машины, нужно добавить на сервер мониторинга Host с таким же Hostname, что мы указали во время установки Zabbix agent.

Для этого идем в web-панель, открываем раздел Configuration —> Hosts и жмем Create host .

На первой вкладке указываем имя хоста, такое же, как на клиенте, добавляем в любую существующую группу и задаем IP-адрес компьютера.

Переходим на вкладку Templates и выбираем там шаблон Template OS Windows by Zabbix agent.

Добавляем новый хост на сервер мониторинга. Осталось подождать несколько минут поступления свежих данных. Проверить их можно там, где и раньше, в Latest data, выбрав новый хост.

На этом установка и настройка мониторинга Windows с помощью Zabbix agent закончена.

Можно добавлять новые компьютеры с разными версиями Windows. Одна и та же версия Zabbix agent подходит для всех, и десктопных, и серверных систем.

10. Настройка шифрованного подключения.

Для полноты картины расскажу об еще одном важном моменте. Если данные от Zabbix agent поступают на сервер через интернет. И при этом не используется шифрованный vpn канал, я всегда настраиваю шифрованную передачу данных. Для этого использую наиболее простой вариант шифрования с применением pre-shared ключей.

Как настроить подключение Zabbix agent к Zabbix server с использованием шифрования на основе pre-shared ключей?

В качестве хоста будет выступать обычный CentOS 7 сервер. Идем в его консоль и формируем 256-битный pre-shared key.

# openssl rand -hex 32 > /etc/zabbix/zabbix_agentd.psk

В конфигурацию zabbix_agent.conf добавляем следующие параметры:

# mcedit /etc/zabbix/zabbix_agent.conf

TLSConnect=psk
TLSAccept=psk
TLSPSKFile=/etc/zabbix/zabbix_agentd.psk
TLSPSKIdentity=PSK 001

В свойствах хоста на Zabbix server в отдельной вкладке Encryption, настраиваем PSK ключ.

Обратите внимание на частую ошибку, с которой регулярно сталкиваются все, а потом долго не могут понять, в чем проблема шифрованного соединения? Почему ничего не работает?

Все иногда забывают установить PSK в строке Connections to host, так как машинально сразу ставлю галочку PSK в Connections from host. Обязательно должно быть указано PSK и там, и там.

Если все сделали правильно, то в информации о хосте на сервере мониторинга будет пометка о том, что соединение с Zabbix agent зашифровано.

11. Изменение паролей пользователей и базы данных Zabbix.

Вопросы в рамках этого раздела:

  1. Изменить забытый пароль администратора или пользователя Zabbix для web-интерфейса;
  2. Изменить пароль пользователя базы данных системы мониторинга Zabbix.

Ссылка: «Zabbix: Сброс пароля администратора или пользователя Zabbix для web-интерфейса. Изменение пароля пользователя базы данных для доступа к базе данных Zabbix.»

12. Оригиналы источников информации.

  1. zabbix.com «Download and install Zabbix».
  2. zabbix.com «Вход и настройка пользователя».
  3. dmosk.ru «Установка и начальная настройка сервера мониторинга Zabbix на CentOS».
  4. youtu.be «Zabbix 5 — установка в CentOS 7».
  5. serveradmin.ru «Установка и настройка Zabbix 5.0»
  6. serveradmin.ru «Обновление Zabbix 5.0 до 5.2»
  7. qna.habr.com «Скачать и установить Zabbix».
  8. mykb.ru«Отключение пользователя guest в Zabbix».
  9. mykb.ru«Установка zabbix-агента в Linux».
  10. freehost.com.ua «Как мониторить сервер с помощью Zabbix».
  11. eternalhost.net «Система мониторинга Zabbix для начинающих».
  12. sevo44.ru «Настройка Zabbix сервера».
  13. sevo44.ru «Zabbix agent установка и настройка».