Download PDF
Download page Zabbix.
Zabbix
Zabbix — это система мониторинга с открытым исходным кодом. С помощью Zabbix вы можете настроить мониторинг виртуальных машин и других сущностей платформы.
Основные компоненты Zabbix:
- сервер — компонент для управления сетевыми сервисами, хранения данных мониторинга, оповещения администратора о проблемах с оборудованием. Вы можете использовать собственный сервер Zabbix или создать ВМ для выполнения этих функций;
- прокси — промежуточный сервис, который собирает данные с ВМ и передаёт на сервер. Необязательный компонент. Прокси следует использовать, чтобы сократить нагрузку на сервер или если ВМ не имеют прямого доступа к серверу. Вы можете создать одну или несколько ВМ, выполняющую роль прокси;
- агент — программное обеспечение, устанавливаемое на ВМ или узел кластера. Агент собирает данные мониторинга и передаёт на сервер или прокси.
Подробнее о Zabbix см. в официальной документации.
Установка компонентов Zabbix
Установка Zabbix на ВМ производится с помощью скриптов из репозитория ISPsystem. Доступны для установки версии 5.0 LTS, 6.0 LTS и 6.4. Скрипты могут быть запущены как при создании ВМ, так и после создания. Подробнее см. в статье Запуск скриптов на ВМ.
Для установки Zabbix на узел кластера потребуется создать Ansible-скрипт установки. Подробнее см. в статье Создание скрипта для узла.
Сервер
Системные требования к серверу Zabbix зависят от количества устройств, для которых нужно проводить мониторинг. Подробную информацию о системных требованиях см. в официальной документации Zabbix.
Чтобы установить на ВМ сервер Zabbix:
- версии 5.0:
- Cоздайте ВМ с ОС CentOS 7, Ubuntu 20.04 или Debian 10.
- Запустите на ВМ скрипт Zabbix server. Выберите версию 5.0.
- версии 6.0 или 6.4:
- Cоздайте ВМ с ОС AlmaLinux 8, Ubuntu 22.04 или Debian 12.
- Запустите на ВМ скрипт Zabbix server. Выберите нужную версию.
Веб-интерфейс сервера будет доступен по URL http://<IP созданной ВМ>:8080. Например, http://192.168.100.100:8080. Для авторизации используйте:
- имя пользователя — Admin;
- пароль — zabbix.
Прокси
Чтобы установить на ВМ прокси Zabbix:
- версии 5.0:
- Cоздайте ВМ с ОС CentOS 7, Ubuntu 20.04 или Debian 10.
- Запустите на ВМ скрипт Zabbix server. В параметрах укажите IP-адрес сервера Zabbix и выберите версию 5.0.
- версии 6.0 или 6.4:
- Cоздайте ВМ с ОС AlmaLinux 8, Ubuntu 22.04 или Debian 12.
- Запустите на ВМ скрипт Zabbix proxy. В параметрах укажите IP-адрес сервера Zabbix и выберите нужную версию.
Агент
Чтобы установить на ВМ агенты Zabbix:
- Запустите на ВМ:
- с ОС семейства Linux — скрипт Zabbix agent2 linux;
- с ОС Windows — скрипт Zabbix agent2 windows.
- Укажите в параметре ZABBIX_SERVER:
- если вы используете прокси — IP-адрес прокси Zabbix;
- если вы не используете прокси — IP-адрес сервера Zabbix.
- Выберите Версию Zabbix server.
Чтобы установить агенты Zabbix на узлах кластера:
- Перейдите в Скрипты → Для узлов → Создать скрипт.
Создайте Ansible-скрипт и укажите в нём IP-адрес сервера Zabbix вместо фрагмента <zabbix_server> в секциях Change Server IP и Change Active Server IP:
--- - name: Install zabbix-agent playbook hosts: all debugger: on_failed tasks: - name: Install zabbix-release AlmaLinux 8 yum: name: https://repo.zabbix.com/zabbix/6.0/rhel/8/x86_64/zabbix-release-6.0-4.el8.noarch.rpm state: present disable_gpg_check: yes validate_certs: no when: ansible_os_family == "RedHat" and ansible_distribution_major_version == "8" - name: Install zabbix-release CentOS 7 yum: name: https://repo.zabbix.com/zabbix/6.0/rhel/7/x86_64/zabbix-release-6.0-4.el7.noarch.rpm state: present when: ansible_os_family == "RedHat" and ansible_distribution_major_version == "7" - name: Install zabbix release package apt: deb: https://repo.zabbix.com/zabbix/6.0/ubuntu/pool/main/z/zabbix-release/zabbix-release_6.0-1+focal_all.deb when: ansible_distribution == 'Ubuntu' - name: Install zabbix-agent2 package package: name: zabbix-agent2 state: present - name: Change Server IP lineinfile: path: /etc/zabbix/zabbix_agent2.conf regexp: 'Server=127.0.0.1' line: "Server=127.0.0.1,<zabbix_server>" - name: Change Active Server IP lineinfile: path: /etc/zabbix/zabbix_agent2.conf regexp: 'ServerActive=127.0.0.1' line: "ServerActive=127.0.0.1,<zabbix_server>" - name: Stop zabbix-agent service: name: zabbix-agent state: stopped enabled: no ignore_errors: yes - name: Start zabbix-agent2 service: name: zabbix-agent2 state: started enabled: yes - name: Create a new sudoers file file: path: /etc/sudoers.d/zabbix state: touch mode: 0400 owner: root - name: Add sudoers copy: dest: /etc/sudoers.d/zabbix content: | Defaults:zabbix !requiretty Cmnd_Alias ZABBIX_CMD = /usr/bin/virsh -q list, /usr/bin/virsh -q list --all zabbix ALL = (root) NOPASSWD: ZABBIX_CMD - name: Add vmmanager config to zabbix file: path: /etc/zabbix/zabbix_agent2.d/vmmanager.conf state: touch mode: 0644 owner: root - name: Configure zabbix for VMmanager copy: dest: /etc/zabbix/zabbix_agent2.d/vmmanager.conf content: | UserParameter=vm.all,sudo virsh -q list --all | wc -l UserParameter=vm.running,sudo virsh -q list | wc -l
YML- Запустите скрипт на узлах кластера.
Настройка сервера Zabbix
Добавление конфигурации прокси
- Перейдите в Administration → Proxies → Create proxy.
- Укажите настройки прокси:
- Proxy name — произвольное имя прокси.
- Proxy mode — режим работы прокси. Выберите Passive.
- IP address — IP-адрес прокси.
- DNS name — имя DNS-сервера. Оставьте значение по умолчанию — localhost.
- Connect to — тип подключения. Выберите IP.
- Port — порт подключения. Оставьте значение по умолчанию — 10051.
- Description — произвольный комментарий к прокси.
- Нажмите Add.
Добавление мониторинга платформы
- Если на сервере не установлена утилита curl, установите её:
dnf install curl || apt install curl
BASH Создайте токен для авторизации в платформе:
curl -k -X POST -H "accept: application/json" -H "Content-Type: application/json" 'https://example.com/api/auth/v4/public/token' -d '{"email": "admin_email", "password": "admin_pass"}'
CODEexample.com — доменное имя или IP-адрес сервера с платформой
admin_email — email администратора платформы
admin_pass — пароль администратора платформы
В ответ придёт сообщение вида:
Пример ответа в JSON
{ "confirmed": true, "expires_at": null, "id": "6", "token": "4-e9726dd9-61d9-2940-add3-914851d2cb8a" }
CODEСохраните полученное значение параметра token — токен авторизации.
Создайте токен с увеличенным сроком действия:
curl -k -X POST -d '{"description": "Integration with Zabbix", "expires_at": "<expire_time>"}' -H "accept: application/json" -H "Content-Type: application/json" -H "x-xsrf-token: <token>" "https://domain.com/auth/v4/token"
BASH<expire_time> — время окончания действия в формате YYYY-MM-DD HH:MM:SS. Например, 2025-01-01 00:00:00
<token> — токен авторизации
domain.com — доменное имя или IP-адрес сервера с платформой
В ответ придёт сообщение вида:
Пример ответа в JSON
{ "confirmed": true, "expires_at":"2025-01-01 00:00:00", "id": "7346", "token": "14626-897fd91a-5787-4874-8b26" }
CODEСохраните полученное значение параметра token — токен авторизации с увеличенным сроком действия.
Скачайте шаблоны из репозитория Zabbix:
для Zabbix 5.4:
template_vmmanager_6_master.yaml — для мониторинга платформы;
template_vmmanager_6_kvm_hypervisor.yaml — для мониторинга узлов кластера.
- для Zabbix 6.0:
- template_vmmanager_6_master.yaml — для мониторинга платформы.
- template_vmmanager_6_kvm_hypervisor.yaml — для мониторинга узлов кластера.
- Импортируйте загруженные шаблоны в Zabbix: Configuration → Templates → Import → выберите файл шаблона → Import → Import.
- Включите мониторинг сервера с VMmanager в Zabbix:
- Перейдите в Configuration → Hosts → Create host.
- Укажите параметры сервера:
- Host name — произвольное имя для обозначения сервера в базе данных Zabbix.
- Visible name — произвольное имя для отображения сервера в интерфейсе Zabbix.
- Groups — группа объектов. Выберите VMmanager 6.
- Interfaces — сетевые интерфейсы. Нажмите Add → Agent.
- IP address — IP-адрес сервера c платформой.
- DNS name — имя DNS-сервера. Оставьте пустое значение по умолчанию.
- Connect to — тип подключения. Выберите IP.
- Port — порт подключения. Оставьте значение по умолчанию — 10050.
- Description — произвольный комментарий.
- Monitored by proxy — используемый прокси. Выберите имя прокси, если вы его используете.
- Enabled — включите опцию, чтобы активировать мониторинг платформы.
- Перейдите на вкладку Templates и введите в поле Link new templates: Template VMmanager 6 Master.
- Перейдите на вкладку Macros и добавьте макросы:
- {$VM6_TOKEN} — токен авторизации с увеличенным сроком действия.
- {$VM6_URL} — URL сервера с платформой в формате https://vm6.example.com/vm/v3, где vm6.example.com — доменное имя или IP-адрес сервера с платформой.
- Нажмите Add.
- Перейдите в Configuration → Hosts → Create host.
- Включите мониторинг узлов кластера в Zabbix:
- Перейдите в Configuration → Hosts → выберите сервер с платформой → Discovery.
В разделе Discovery Rules в строке Template VMmanager 6 Master: Host discovery нажмите Host prototypes.
- В разделе Host Prototypes включите для сервера опции Create enabled и Discover.
- Перейдите в Monitoring → Hosts → выберите сервер с платформой → Inventory.
- В разделе Host Inventory нажмите Discovery.
- Выделите строку VMmanager 6 Master: Host discovery → Execute now.
- Перейдите в Configuration → Hosts → выберите сервер с платформой → Discovery.
Zabbix подключится к VMmanager и получит список узлов кластера для мониторинга. Чтобы новые узлы кластера автоматически добавлялись в настройки Zabbix, установите на узлы агент Zabbix.
Добавление отдельных ВМ для мониторинга
- Перейдите в Configuration → Hosts → Create host.
- Добавьте настройки ВМ:
- Host name — произвольное имя для обозначения ВМ в базе данных Zabbix.
- Visible name — произвольное имя для отображения ВМ в интерфейсе Zabbix.
- Groups — группа объектов. Выберите Virtual machines.
- Interfaces — сетевые интерфейсы. Нажмите Add → Agent.
- IP address — IP-адрес ВМ.
- DNS name — имя DNS-сервера. Оставьте пустое значение по умолчанию.
- Connect to — тип подключения. Выберите IP.
- Port — порт подключения. Оставьте значение по умолчанию — 10050.
- Description — произвольный комментарий к ВМ.
- Monitored by proxy — используемый прокси. Выберите имя прокси, если вы его используете.
- Enabled — включите опцию, чтобы активировать мониторинг этой ВМ.
- Перейдите на вкладку Templates и выберите в поле Link new templates шаблон для мониторинга ВМ:
- с ОС семейства Linux — Template OS Linux by Zabbix agent;
- с ОС Windows — Template OS Windows by Zabbix agent.
- Нажмите Add.
Может быть полезно
Связанные статьи: