Zabbix — это система мониторинга с открытым исходным кодом. С помощью Zabbix вы можете настроить мониторинг сервера платформы и серверов-локаций.
Основные компоненты Zabbix:
- сервер — компонент для управления сетевыми сервисами, хранения данных мониторинга, оповещения администратора о проблемах с оборудованием;
- агент — программное обеспечение, устанавливаемое на платформу и серверы-локации. Агент собирает данные мониторинга и передаёт на сервер.
Подробнее о Zabbix см. в официальной документации.
Установка компонентов Zabbix
Сервер
Для установки используйте отдельный физический или виртуальный сервер. Если вы используете платформу VMmanager, вы можете создать виртуальную машину с сервером Zabbix по инструкциям из документации к платформе.
Системные требования к серверу зависят от количества устройств, для которых нужно проводить мониторинг.
Подробную информацию об установке и системных требованиях см. в официальной документации Zabbix.
Агент
Рекомендуем установить агенты Zabbix с помощью Ansible:
- Установите Ansible по инструкциям из официальной документации.
-
Создайте Ansible-script zabbix_agent.yml:
Содержимое скрипта - Замените выражения "X.X.X.X" в файле zabbix_agent.yml на IP-адрес сервера Zabbix.
-
Добавьте в файл /etc/ansible/hosts IP-адреса сервера с платформой и серверов-локаций:
Пример настройкиhost1 ansible_host=192.168.2.1 ansible_user=root host2 ansible_host=192.168.2.2 ansible_user=root host3 ansible_host=192.168.2.3 ansible_user=root
Пояснения -
Создайте SSH-ключ и скопируйте открытую часть ключа на сервер с платформой и серверы-локации:
Пример командыssh-keygen -t rsa -b 4096 && ssh-copy-id -i ~/.ssh/id_rsa.pub root@<IP>
Пояснения к команде -
Запустите установку:
ansible-playbook zabbix_agent.yml
-
На сервере с платформой и серверах-локациях разрешите подключения на порт 10050/TCP для агента Zabbix:
firewall-cmd --add-port=10050/tcp
Настройка сервера Zabbix
Добавление шаблона
Чтобы добавить шаблон Zabbix:
-
Создайте файл dci_template.yaml:
Содержимое файла -
Создайте токен для авторизации в платформе:
curl -s -X POST -H "accept: application/json" -H "Content-Type: application/json" -d '{"email": "admin@example.com", "password": "admin_pass"}' "https://dci6.example.com/auth/v4/public/token" -k
Пояснения к командеСохраните значение token из ответа:
Пример ответа{"id":"69","token":"69-a56c5bd9-ba6b-489e-a670-c452cbdd3b70"}
- В интерфейсе Zabbix:
- Перейдите в Configuration → Templates → Import.
- Загрузите файл dci_template.yaml и нажмите Import:
- Перейдите в Configuration → Hosts → Create host.
- Укажите настройки:
- Host name — произвольное имя для обозначения сервера в базе данных Zabbix. Например, DCI6.
- Visible name — произвольное имя для отображения сервера в интерфейсе Zabbix.
- Template — выберите шаблон Template DCImanager 6.
- Groups — выберите группы объектов для мониторинга. Например, Discovered hosts, Linux servers, Templates/Operating systems.
- Interfaces — сетевые интерфейсы. Нажмите Add → Agent.
- IP address — IP-адрес сервера c платформой.
- DNS name — имя DNS-сервера. Оставьте пустое значение по умолчанию.
- Connect to — тип подключения. Выберите IP.
- Port — порт подключения. Оставьте значение по умолчанию — 10050.
- Description — произвольный комментарий.
- Monitored by proxy — используемый прокси. Выберите (no proxy).
- Enabled — включите опцию, чтобы активировать мониторинг платформы.
- Перейдите на вкладку Macros и добавьте макросы:
- {$DCI_TOKEN} — токен для авторизации в платформе.
- {$DCI_URL} — URL сервера с платформой в формате https://dci6.example.com где dci6.example.com — доменное имя или IP-адрес сервера с платформой.
- Нажмите Add.
- Перейдите в Configuration → Templates → Import.
Изменение интервала опроса
По умолчанию данные мониторинга с локаций будут обновляться один раз в сутки. Чтобы изменить интервал опроса в интерфейсе Zabbix:
- Перейдите в Configuration → Templates → выберите шаблон Template DCImanager 6 → Discovery.
- В открывшемся списке нажмите Location discovery.
- Укажите значение интервала в параметре Update interval.
- Нажмите Update.
Создание дашборда
Дашборд Zabbix — это информационная панель, на которую вы можете добавить нужные графики.
Пример дашборда
Чтобы создать дашборд:
- Перейдите в Monitoring → Dashboard → Create dashboard.
- Укажите произвольное название дашборда в поле Name.
- Нажмите Apply.
- Чтобы добавить график на дашборд: