Введение
Для мониторинга веб сайта мы будем использовать стандартный функционал zabbix. Вот параметры, за которыми будем наблюдать:
- доступность сайта
- время ответа сайта в миллисекундах
- скорость доступа к сайту
- работа авторизации на сайте
Для этого мы выполним следующую последовательность действий:
- Создадим шаблон для мониторинга за сайтами.
- Настроим сценарии проверки.
- Создадим графики с данными.
- Добавим триггеры на проверку доступности и скорости загрузки сайта.
Приступаем к настройке мониторинга. Использовать будем только стандартный функционал, доступный после установки. Никаких дополнительных пользовательских параметров или работы скриптов не будет.
Если у вас еще нет своего сервера для мониторинга, то рекомендую материалы на эту тему. Для тех, кто предпочитает систему CentOS:
- Установка CentOS 8.
- Настройка CentOS 8.
- Установка и настройка zabbix сервера.
То же самое на Debian 10, если предпочитаете его:
- Установка Debian 10.
- Базовая настройка Debian.
- Установка и настройка zabbix на debian.
Введение
Начнем с того, кому и зачем это может быть нужен общий дашборд заббикс серверов в Grafana. Если у вас один сервер Zabbix, то тема для вас совершенно не актуальна. В целом, у Zabbix сейчас своими средствами можно собирать красивые и информативные дашборды прямо из коробки.
У меня в управлении постоянно находится несколько никак не связанных между собой zabbix серверов от разных заказчиков, плюс свои личные. Везде настроены уведомления, в том числе в telegram. Оповещения удобно рассортированы по меткам, чатам, каналам и т.д. С этим никаких проблем нет. Но иногда хочется одним взглядом быстро посмотреть на все активные триггеры всех серверов
Это нужно для того, чтобы быть уверенным, что не забыл отреагировать на что-то важное, где не настроены повторяющиеся уведомления
Решение вопроса мульти дашборда в zabbix изначально мне виделось очень сложным, так как не представлял, на базе какого готового инструмента это можно было сделать. Пока я не вспомнил про Grafana. Причем, знаю то я ее давно, но использую редко. Она чаще всего с prometheus используется, а у меня основной мониторинг всегда и везде Zabbix. При этом его графических возможностей мне хватает за глаза. За красотой не гонюсь, важен функционал.
Я видел интеграцию Zabbix и Grafana, но как я уже сказал, мне встроенной визуализации данных в заббиксе достаточно. А вот в контексте сбора информации о триггерах в едином дашборде, я графану не рассматривал. Я просто не знал, что в плагине графаны для интеграции с заббиксом есть готовая визуализация для Zabbix Problems.
После того, как узнал, что с помощью Grafana можно будет собрать multi dashboard для zabbix, настроить его было дело техники. Причем не очень сложной. Далее подробно расскажу, как это сделать.
Если у вас еще нет своего сервера для мониторинга, то рекомендую материалы на эту тему. Для тех, кто предпочитает систему CentOS:
- Установка CentOS 8.
- Настройка CentOS 8.
- Установка и настройка zabbix сервера.
То же самое на Debian 10, если предпочитаете его:
- Установка Debian 10.
- Базовая настройка Debian.
- Установка и настройка zabbix на debian.
Дополнительные материалы по Zabbix
Онлайн курс «SRE практики и инструменты»
Если у вас есть желание научиться строить и поддерживать высокодоступные и надежные системы, рекомендую познакомиться с онлайн-курсом «SRE практики и инструменты» в OTUS. Курс не для новичков, для поступления нужны базовые знания по сетям и Linux. Обучение длится 3 месяц, после чего успешные выпускники курса смогут пройти собеседования у партнеров.
На курсе вы узнаете как:
- Внедрить SRE практики в своей организации
- Управлять надежностью, доступностью и эффективностью сервисов
- Управлять изменениями
- Осуществлять мониторинг
- Реагировать на инциденты и производительность
- Работать со следующим технологическим стеком: Linux, AWS, GCP, Kubernetes, Ansible, Terraform, Prometheus, Go, Python.
Проверьте себя на вступительном тесте и смотрите подробнее программу по .
Рекомендую полезные материалы по Zabbix: |
Настройки системы |
---|
Видео и подробное описание установки и настройки Zabbix 4.0, а также установка агентов на linux и windows и подключение их к мониторингу. Подробное описание обновления системы мониторинга zabbix версии 3.4 до новой версии 4.0. Пошаговая процедура обновления сервера мониторинга zabbix 2.4 до 3.0. Подробное описание каждого шага с пояснениями и рекомендациями. Подробное описание установки и настройки zabbix proxy для организации распределенной системы мониторинга. Все показано на примерах. Подробное описание установки системы мониторинга Zabbix на веб сервер на базе nginx + php-fpm. |
Мониторинг служб и сервисов |
Мониторинг температуры процессора с помощью zabbix на Windows сервере с использованием пользовательских скриптов. Настройка полноценного мониторинга web сервера nginx и php-fpm в zabbix с помощью скриптов и пользовательских параметров. Мониторинг репликации mysql с помощью Zabbix. Подробный разбор методики и тестирование работы. Описание настройки мониторинга tcp служб с помощью zabbix и его инструмента простых проверок (simple checks) Настройка мониторинга рейда mdadm с помощью zabbix. Подробное пояснение принципа работы и пошаговая инструкция. Подробное описание мониторинга регистраций транков (trunk) в asterisk с помощью сервера мониторинга zabbix. Подробная инструкция со скриншотами по настройке мониторинга по snmp дискового хранилища synology с помощью сервера мониторинга zabbix. |
Мониторинг различных значений |
Настройка мониторинга web сайта в zabbix. Параметры для наблюдения — доступность сайта, время отклика, скорость доступа к сайту. Один из способов мониторинга бэкапов с помощью zabbix через проверку даты последнего изменения файла из архивной копии с помощью vfs.file.time. Подробное описание настройки мониторинга размера бэкапов в Zabbix с помощью внешних скриптов. Пример настройки мониторинга за временем делегирования домена с помощью Zabbix и внешнего скрипта. Все скрипты и готовый шаблон представлены. Пример распознавания и мониторинга за изменением значений в обычных текстовых файлах с помощью zabbix. Описание мониторинга лог файлов в zabbix на примере анализа лога программы apcupsd. Отправка оповещений по событиям из лога. |
Модуль 10: Zabbix API
Лабораторные работы: Пример задачи, использующей Zabbix API
Техническое задание: сканировать через nmap определенные узлы и уведомлять, если результаты сканирования изменились
Решение:
- Создать шаблон “My Template Nmap” с и триггером (см. ), подключить его к узлам, которые надо мониторить (перед подключение к узлу, удалить элемент my.nmap от предыдущих лабораторных работ).
- Периодически получать список узлов с шаблоном My Template Nmap из Zabbix через (Выяснить templateids шаблона “My Template Nmap”)
Примечание: templateid можно увидеть в строке URL интерфейсе администрирования zabbix
# cat /root/zab_get_hosts_nmap.sh
#!/bin/sh curl -s -k -X POST -H 'Content-Type: application/json-rpc' -d " { \"jsonrpc\": \"2.0\", \"method\": \"host.get\", \"params\": { \"output\": , \"templateids\": }, \"auth\": \"${AUTH}\", \"id\": 2 } " http://127.0.0.1/zabbix/api_jsonrpc.php \ | jq '.result | .[] | { host: .host} | tostring' \ | tr -d '{}\\' | tr '"' ' ' | cut -d ' ' -f5
# /root/zab_get_hosts_nmap.sh | tee /root/hosts_nmap.txt
- Периодически сканировать узлы (см. ) и передавать результаты сканирования в zabbix
# cat /root/nmap_2_zabbix.sh
#!/bin/sh while read host do echo $host zabbix_sender -z 127.0.0.1 -p 10051 -s $host -k my.nmap \ -o "$(/etc/zabbix/externalscripts/detect_host_nmap.sh $host)" done
# /root/nmap_2_zabbix.sh < /root/hosts_nmap.txt
Вопросы
- Верно ли что Zabbix API можно использовать для управления результатами мониторинга?
- Верно ли что Zabbix API можно использовать для управления конфигурацией системы мониторинга?
Настройка Multi Dashboard
Осталось добавить данные на единый Dashboard. Для этого идем на главную графаны и добавляем новый dashboard.
Выбираем Choose Visualisation.
В общем случае достаточно указать только тип визуализации — Zabbix Problems и Data Source. Данные по активным триггерам по всем группам и хостам сразу же появятся. Ниже можно настроить некоторые параметры. К примеру, я не вывожу триггеры типа Information и тэги к ним, так как не использую их.
После того, как все настроите, сохраните дашборд. Следующие панели можно добавлять просто копируя и редактируя уже сделанную. В ней нужно будет поменять только Data Source. В итоге у меня получился вот такой Dashboard из 5-ти основных серверов Zabbix.
Я не настраивал никакой красоты. Все сугубо по делу. Просто список, который я могу быстро посмотреть и оценить обстановку.
Подготовка к мониторингу в Zabbix
Описанным мной способом можно мониторить температуру не только windows серверов, но и любых рабочих станций, если будет такая необходимость. Схема мониторинга следующая:
Существует бесплатная утилита Open Hardware Monitor, которая может показывать температуру некоторых датчиков сервера. Вообще говоря, она много чего может показывать (напряжение, скорость вентиляторов, загрузку процессора), но в данном случае нас интересует только температура. У этой утилиты есть версия, работающая в командной строке. Из командной строки показания датчиков можно записывать в файл. Этот файл можно анализировать и забирать из него необходимую для мониторинга информацию. Дальше эта информация передается в сервер Zabbix с помощью опции UserParameter. Все достаточно просто и в то же время эффективно.
Программа увидела несколько датчиков. С процессором все понятно, а вот три других датчика не ясно, чью температуру показывают. Я хотел мониторить температуру процессора и материнской платы. Узнать, какая температура относится к материнской плате можно несколькими способами. Конкретно в данной ситуации я просто запустил портированную версию AIDA64 и посмотрел, какие показания у датчика материнской платы:
Оказалось — 45 градусов. Я запомнил, что датчик Temperature #3 отображает температуру материнской платы.
Можно было пойти другим путем, зайти в IPMI панель, если она есть, и посмотреть там. Я работал с серверами SuperMicro, там она есть. Я на всякий случай зашел и проверил:
Почему-то в этой панели не оказалось информации с датчика температуры процессора
Но нам это не важно. Самое главное, что мы узнали параметры, за которыми будем следить — это CPU Packege и Temperature #3
Теперь запускаем консольную версию и смотрим вывод информации. Я для удобства положил OpenHardwareMonitorReport.exe в папку с основной программой и все это хозяйство скопировал в корень диска C:
Открываем файл 1.txt. Ищем там строки
| +- CPU Package : 52 51 52 (/intelcpu/0/temperature/4)
| | +- Temperature #3 : 45 45 45 (/lpc/nct6776f/temperature/3)
Нас интересует выделенный текст. По нему мы будем вычленять температуру для мониторинга и передавать ее на Zabbix сервер. Создаем в этой же папке 2 bat файла следующего содержания:
CPUTemperature.bat
@echo off for /F "usebackq tokens=7-10" %%a in (`C:\OpenHardwareMonitor\OpenHardwareMonitorReport.exe`) do echo %%b %%c %%d| find "/intelcpu/0/temperature/4">nul && set temper=%%a echo %temper%
MotherTemperature.bat
@echo off for /F "usebackq tokens=7-10" %%a in (`C:\OpenHardwareMonitor\OpenHardwareMonitorReport.exe`) do echo %%b %%c %%d| find "/lpc/nct6776f/temperature/3">nul && set temper=%%a echo %temper%
Запускаем эти батники в командной строке и проверяем вывод. Там должны быть только цифры температуры:
Отлично, на выходе готовые цифры, которые мы будем передавать в Zabbix. Займемся его настройкой.
Шаг 2 — Подключение официального репозитория Zabbix и исправление ошибок:)
В этом руководстве я буду объяснить, как установить сервер Zabbix в системе Ubuntu 20.04 LTS.
Zabbix доступен в репозиториях пакетов Ubuntu, но я рекомендую использовать официальный репозиторий Zabbix. Для подключения официальных репозиториев вам нужно перейти на страницу загрузки Zabbix и выбрать вашу конфигурацию. Моя конфигурация на скриншоте:
После выбора конфигурации — ниже появятся команды для подключения репозитория, в моем случае такие:
# wget https://repo.zabbix.com/zabbix/5.2/ubuntu/pool/main/z/zabbix-release/zabbix-release_5.2-1+ubuntu20.04_all.deb # dpkg -i zabbix-release_5.2-1+ubuntu20.04_all.deb # apt update
И здесь бабамс!!! Получаем ошибку: N: Skipping acquire of configured file ‘main/binary-i386/Packages’ as repository ‘http://repo.zabbix.com/zabbix/5.2/ubuntu focal InRelease’ doesn’t support architecture ‘i386’
Самое интересное изучил штук 7 руководств по установке Zabbix 5 на Ubuntu и нигде такой ошибки нет! Вопрос, а кто в интернете пишет эти руководства, на том же digitalocean и других гуру администрирования, это копипаст какой-то?!! Ладно как всегда иду на новозеландские англоязычные форумы и нахожу ответ не по Заббиксу, но решение проблемы понятно. Кому интересно это связано с мультиархитектурностью ядра Linux и поддержкой одновременно приложений i386 и amd64. Ниже команды для анализа вашего сервера по поддержке 32 и 64:
root@zab:/# dpkg --print-foreign-architectures i386 root@zab:/# dpkg --print-architecture amd64
Вот команда для удаления мульти-архитектуры (только если у вас нет 32-битных приложений), но запускать ее не надо. Я ее указал просто для полного раскрытие этой ошибки.
sudo dpkg --remove-architecture i386
РЕШЕНИЕ: Правим файл /etc/apt/sources.list.d/zabbix.list, который нам установила команда dpkg -i zabbix-release_5.2-1+ubuntu20.04_all.deb и добавляем ключ . Мой измененный файл:
deb arch=amd64 http//repo.zabbix.com/zabbix/5.2/ubuntu focal main deb-src arch=amd64 http//repo.zabbix.com/zabbix/5.2/ubuntu focal main
И снова запускаем
# apt update
Всё, ошибки нет!
Модуль 6: Низкоуровневое обнаружение (LLD)
Лабораторные работы: Управление конфигурацией с помощью шаблонов и LLD
6.1 Первое знакомство с LLD
Configuration->Hosts->...->Items ->Triggers ->Graphs ->Mounted filesystem discovery: ... ->Network interface discovery: ... Administration->General->Regular expressions
6.2 Создание своего шаблона с LLD
gate# cat /etc/network/interfaces gate# ifup eth2 gate# cat /etc/default/isc-dhcp-server gate# cat /etc/dhcp/dhcpd.conf gate# service isc-dhcp-server restart
Разработка шаблона, использующего Low-Level Discovery (LLD) для мониторинга использования адресного пространства DHCP сетей (как вариант, преподаватель разрабатывает шаблон и скрипты которые загружают слушатели)
- Придумайте свои варианты задач, при которых может понадобиться LLD.
- Как можно отфильтровать только нужные элементы в процессе discovery?
Шаг 11 — Защита Zabbix (опционально)
Мой Zabbix сервер имеет реальный IP и значит его видит весь мир. Разрешим доступ к веб интерфейсу только с определённых доверенных IP. В мой конфигурации я использую Apache/2.4.41 и буду использовать директиву Require ip. Если вы используете другой веб- сервер, вам следует изучить документации того веб сервера, который используете.
В конфигурационном файле Zabbix для Apache2 /etc/apache2/conf-enabled/zabbix.conf добавим директиву Require ip с вашим IP:
<Directory "/usr/share/zabbix"> Require ip x.x.x.x
FAQ Zabbix для версии < 5
-
SNMP
- Automated backup of Zabbix configuration (MySQL) сохранение настроек, без истории
-
Zabbix, OpenVPN, D-Link DAP-2360
-
Zabbix templates, modules & more
- Zabbix Notifier add-on for Chrome
- Zabbix Alert Check Extension add-on for Chrome
-
Простые проверки: ping
-
Веб-мониторинг. Доступность веб-сайтов
- Низкоуровневое обнаружение обнаружение файловых систем; обнаружение сетевых интерфейсов; обнаружение CPU
-
Мониторинг Mikrotik в Zabbix
- Если вы хотите изменить параметр SNMP community, то это можно сделать прямо в Zabbix: зайдите в шаблон в Configuration → Templates , в Items выделите нужные элементы галочками и внизу выберите из выпадающего списка Mass update. Или для любого устройства Host→Macros, где можно переопределить любую переменную в том числе и {$SNMP_COMMUNITY} (Пользовательские макросы).
-
Ошибка: Zabbix proxy poller processes more than 75% busy
# nano /etc/zabbix/zabbix_server.conf StartPollers=20
-
Ошибка: Zabbix icmp pinger processes more than 75% busy
# nano /etc/zabbix/zabbix_server.conf StartPingers=10 StartDiscoverers=10
-
Ошибка: Zabbix unreachable poller processes more than 75% busy
# nano /etc/zabbix/zabbix_server.conf StartPollersUnreachable=10
Алгоритм настройки Zabbix сервера
Первоначальная настройка:
- сменить шаблон для localhost’а на Template_FreeBSD (или просто отцепить шаблон)
- активировать мониторинг localhost’а
- создать нужные “Элементы данных” (items)
- создать на них триггеры
- настройки отправку сообщений по триггерам
Настройка нового шаблона:
- полностью клонировать из стандартного (или создать новый) шаблона
- удалить (добавить) необходимые элементы данных и графики. Например, можно смело удалить для всех templates серверов элемент «Number of running processes zabbix_server» кроме шаблона для localhost
Zabbix и оборудование
Мониторинг температуры с помощью NetPing TS v2 и Zabbix
Настройка и использование SSH проверки используются для безагентного мониторинга
Обратите внимание, что Zabbix агент не требуется для проверок по SSH.
Zabbix и PostgreSql
Zabbix мониторинг сервера баз данных PostgreSQL версии 8.4.9.
-
Zabbix PostgreSQL UserParameters
-
PostgreSQL 8.4.11 Documentation
-
Template Postgres. Указываем согласно руководству вместо тестовой БД «neiron» собственную. И создадим суперпользователя zabbix
sudo -u postgres createuser zabbix Shall the new role be a superuser? (y/n) y
Модуль 9: Мониторинг оборудования по протоколу SNMP
Лабораторные работы: Мониторинг сетевого оборудования
Развертывание оборудования
configure terminal hostname routerN interface FastEthernet0/0 ip address 172.16.1.19N 255.255.255.0 no shutdown ip route 0.0.0.0 0.0.0.0 172.16.1.254 ip name-server 172.16.1.254 ip domain-name isp.un ip domain-lookup snmp-server community public RO end copy running-config startup-config
Использование proxy
configure terminal no ip route 0.0.0.0 0.0.0.0 172.16.1.254
- на gate
- на gate
- на gate
- Что необходимо установить в систему с zabbix для мониторинга оборудования по протоколу SNMP?
- В чем отличие процесса автоматического добавления оборудования в этой лабораторной работе от варианта с активным агентом?
- Как формируется имя хоста в случае Discovery в 3-й и 4-й версии zabbix?
- Придумайте свои варианты задач, при которых может понадобиться Zabbix Proxy
Модуль 1: Развертывание IT инфраструктуры предприятия
Лабораторные работы: Развертывание объектов мониторинга
Настраиваем необходимый для мониторинга минимум из курса Администрирование сервисов UNIX с использованием
- Для локальной сети использовать VirtualBox Host-Only Ethernet Adapte (понадобится в лабораторной работе про простые проверки)
- gate и server
- Создать в Putty профили
- Сервис DHCP (понадобится в лабораторной работе про LLD)
- Финальная настройка DNS сервера (понадобится в лабораторной работе про простые проверки)
- Настройка клиента DNS на gate и server
# cat /etc/resolv.conf
search corpX.un nameserver 192.168.X.10
Запуск системы client1
Настройка мониторинга на Zabbix сервере
Теперь идем на сервер. У меня Zabbix установлен на сервере CentOS, хотя это не принципиально. Добавляем новый Item. Пойти можно двумя путями:
- Создать template, в него добавить все items, создать триггеры, графики и назначить этот шаблон нужным серверам.
- К каждому серверу отдельно добавлять только необходимые итемы и вручную добавлять триггеры и графики.
Очевидно, что первым путем идти удобнее и разумнее. Я так и поступил, но в процессе реализации столкнулся с проблемой. Не все сервера имеют одинаковый набор датчиков. Где-то я не смог снять температуру с материнской платы, где-то вместо одного процессора, стояло два и хотелось снимать температуру с обоих камней. Как будет в вашем случае — не знаю. Если все серверы однотипные, то создавайте template, если все разные, то вручную добавляйте каждый итем на сервер. Я в итоге сделал и шаблон для одинотипных серверов, и вручную добавлял итемы туда, где имелись отличия от шаблона.
Итак, сначала создадим шаблон. Идем в Configurations — Templates — Create Template. Шаблон я назвал Temperature Windows. Добавил в него Application — Temperature, затем Item CPU Temperatue. Заполняем поля итема как у меня на картинке:
Параметр Temperature.CPU тот же самый, что и в файле конфигурации агента.
По аналогии создаем итем Mother Temperatue:
Сохраняем шаблон. По желанию создаем для него триггеры и графики. Можно и без них. Добавляем шаблон к серверу, который хотим мониторить. Ждем некоторое время и идем проверять входящие данные. Открываем Monitoring — Latest data:
Нажимаем graph и смотрим график:
Теперь добавим в Zabbix еще один сервер для мониторинга, который будет отличаться по конфигурации от предыдущего. На его примере я покажу, как менять настройки клиента и сервера. С этого сервера я не могу снять данные с датчика температуры материнской платы, по какой причине — не знаю, но не AIDA64 ни OpenHardwareMonitor мне температуру не показывают. Ее можно взять по SNTP с этого сервера, но это отдельная тема. В этом сервере 2 процессора и я хочу мониторить температуру обоих.
Запускаем GUI интерфейс и смотрим, какие датчики мы сможем мониторить:
Нас будет интересовать температура обоих ядер процессора. Теперь запускаем OpenHardwareMonitorReport.exe с выводом информации в текстовый файл. Смотрим, как выглядят строки с интересующей нас информацией:
| +- CPU Package : 59 59 59 (/intelcpu/0/temperature/6)
| +- CPU Package : 53 53 54 (/intelcpu/1/temperature/6)
Создаем два bat файла следующего содержания:
CPU1Temperature.bat
@echo off for /F "usebackq tokens=7-10" %%a in (`C:\OpenHardwareMonitor\OpenHardwareMonitorReport.exe`) do echo %%b %%c %%d| find "/intelcpu/0/temperature/6">nul && set temper=%%a echo %temper%
CPU2Temperature.bat
@echo off for /F "usebackq tokens=7-10" %%a in (`C:\OpenHardwareMonitor\OpenHardwareMonitorReport.exe`) do echo %%b %%c %%d| find "/intelcpu/1/temperature/6">nul && set temper=%%a echo %temper%
Редактируем конфигурационный файл zabbix_agentd.win.conf агента Zabbix на клиенте. Добавляем в конец две строки:
UserParameter=Temperature.CPU1, C:\OpenHardwareMonitor\CPU1Temperature.bat UserParameter=Temperature.CPU2, C:\OpenHardwareMonitor\CPU2Temperature.bat
Перезапускаем службу агента, чтобы изменения вступили в силу.
Дальше идем на сервер Zabbix и по аналогии с предыдущим сервером создаем там Итемы мониторинга. Причем итемы создаем не в шаблоне, а в конкретном сервере, который будем мониторить. Параметр key в этих итемах будет соответственно Temperature.CPU1 и Temperature.CPU2 Ждем некоторое время и проверяем результат.
Подключение Zabbix к Grafana
Теперь нам нужно по очереди подключить все Zabbix сервера, данные из которых мы хотим видеть в Grafana. Для этого идем в Configuration -> Plugins. Мотаем в самый низ и находим там Zabbix.
Заходим в него и активируем, нажав Enable. Дальше идем в Data Sources. Опять же, мотаем в самый низ и выбираем Zabbix.
Если у вас в Data Sources нет Zabbix, значит ваша версия Графаны запрещает использование неподписанных плагинов. Чтобы это исправить, добавьте в настройках параметр:
allow_loading_unsigned_plugins = alexanderzobnin-zabbix-datasource
и перезапустите Grafana.
Здесь нам нужно заполнить параметры доступа к серверу Zabbix. Ко всем подключаемым серверам должен быть доступ со стороны Grafana. Так же нам нужен будет отдельный пользователь zabbix с доступом ко всем хостам, информацию с которых мы хотим видеть в Grafana.
Для теста можете взять того же админа, которым вы подключаетесь через веб интерфейс. Но в реальной эксплуатации рекомендую настроить отдельного пользователя zabbix для grafana с ограниченными правами. Например, сделать их только на чтение, если не планируется взаимодействие с серверами через графану.
URL должен заканчиваться на скрипт api_jsonrpc.php. То есть полный url до web интерфейса и скрипт на конце. И не забудьте выбрать версию сервера. Там по умолчанию стоит 3-я. Я сначала не заметил этого. Некоторое время пришлось разбираться с тем, почему нет подключения к zabbix. После того, как все настроите, нажимайте Save & Test. Должны увидеть сообщение, что все в порядке.
Таким же образом вам нужно добавить все сервера Zabbix, информацию с которых вы хотите видеть в общем дашборде Grafana.
Шаг 8 — Настройка брандмауэра для Zabbix
В этом случае я использую UFW, вы должны были на первом шаге его настроить . Далее нам нужно разрешить порты протокола HTTP, HTTPS и зарезервированные порты для работы с Zabbix агентами.
Проверяем есть ли строки в файле services, если нет дописываем
# cat /etc/services | grep Zabbix zabbix-agent 10050tcp # Zabbix Agent zabbix-agent 10050udp # Zabbix Agent zabbix-trapper 10051tcp # Zabbix Trapper zabbix-trapper 10051udp # Zabbix Trapper
Команды для UFW
$ sudo ufw allow 'Apache Full' $ sudo ufw allow 10050 $ sudo ufw allow 10051
В итоге должна получится такая настройка фаервола:
$ sudo ufw status verbose Status: active Logging: on (low) Default: deny (incoming), allow (outgoing), disabled (routed) New profiles: skip To Action From -- ------ ---- 22tcp (OpenSSH) ALLOW IN Anywhere 80,443tcp (Apache Full) ALLOW IN Anywhere 10050 ALLOW IN Anywhere 10051 ALLOW IN Anywhere 22tcp (OpenSSH (v6)) ALLOW IN Anywhere (v6) 80,443tcp (Apache Full (v6)) ALLOW IN Anywhere (v6) 10050 (v6) ALLOW IN Anywhere (v6) 10051 (v6) ALLOW IN Anywhere (v6)
Заключение
На этом по объединению разных Zabbix серверов в единый дашборд у меня все. На деле настройка оказалась очень простой и быстрой. Разобрался во всем сходу. Не пришлось возиться со всякими мелочами. Завис только в одном месте, когда забыл в Data Source поменять версию сервера с 3 на 4. Подключение не шло. Потом внимательно все проверил и завелось.
Онлайн курс по Linux
Если у вас есть желание научиться строить и поддерживать высокодоступные и надежные системы, рекомендую познакомиться с онлайн-курсом «Administrator Linux. Professional» в OTUS. Курс не для новичков, для поступления нужны базовые знания по сетям и установке Linux на виртуалку. Обучение длится 5 месяцев, после чего успешные выпускники курса смогут пройти собеседования у партнеров.
Что даст вам этот курс:
- Знание архитектуры Linux.
- Освоение современных методов и инструментов анализа и обработки данных.
- Умение подбирать конфигурацию под необходимые задачи, управлять процессами и обеспечивать безопасность системы.
- Владение основными рабочими инструментами системного администратора.
- Понимание особенностей развертывания, настройки и обслуживания сетей, построенных на базе Linux.
- Способность быстро решать возникающие проблемы и обеспечивать стабильную и бесперебойную работу системы.
Проверьте себя на вступительном тесте и смотрите подробнее программу по .