Настройка мониторинга Microsoft SQL Server в Zabbix 7 с использованием Agent 2

Изображение современного рабочего пространства с двумя экранами: один показывает интерфейс MSSQL, а второй — мониторинг Zabbix.

Мониторинг производительности MS SQL Server является критически важной задачей для обеспечения отказоустойчивости и эффективности работы корпоративных приложений. Данное руководство описывает пошаговый процесс настройки специализированной учетной записи для мониторинга и подключения экземпляра SQL Server к системе Zabbix 7 с использованием шаблона MSSQL by Zabbix agent 2.

Создание учетной записи для мониторинга на сервере MS SQL

Для сбора метрик Zabbix требуется учетная запись с минимальными, но достаточными привилегиями. Выполните приведенные ниже скрипты в среде SQL Server Management Studio (SSMS) от имени администратора.

Создание логина и пользователя

Подключитесь к вашему экземпляру SQL Server и выполните следующий код в окне запроса:

USE master;
GO

-- Создание логина на уровне сервера
CREATE LOGIN zabbix_monitor WITH PASSWORD = 'ВашСложныйПароль123!';
GO

-- Создание пользователя в системной базе master
CREATE USER zabbix_monitor FOR LOGIN zabbix_monitor;
GO

Важно: Замените 'ВашСложныйПароль123!' на надежный пароль в соответствии с политиками вашей организации.

Предоставление прав на уровне сервера

Эти права позволяют Zabbix получать информацию о состоянии сервера, производительности, ожиданиях и памяти.

USE master;
GO

-- Базовые права на подключение и просмотр состояния сервера
GRANT VIEW SERVER STATE TO zabbix_monitor;
GRANT VIEW ANY DEFINITION TO zabbix_monitor;
GRANT CONNECT SQL TO zabbix_monitor;

-- Права на чтение системных представлений (DMV/DMF)
GRANT SELECT ON sys.dm_os_performance_counters TO zabbix_monitor;
GRANT SELECT ON sys.dm_os_wait_stats TO zabbix_monitor;
GRANT SELECT ON sys.dm_os_memory_clerks TO zabbix_monitor;
GRANT SELECT ON sys.dm_os_sys_memory TO zabbix_monitor;
GRANT SELECT ON sys.dm_exec_sessions TO zabbix_monitor;
GRANT SELECT ON sys.dm_exec_requests TO zabbix_monitor;
GRANT SELECT ON sys.dm_exec_connections TO zabbix_monitor;
GRANT SELECT ON sys.databases TO zabbix_monitor;
GRANT SELECT ON sys.master_files TO zabbix_monitor;

Настройка доступа к базе msdb (для мониторинга заданий SQL Agent)

Для отслеживания состояния заданий (Job’ов) необходимо предоставить доступ к служебной базе msdb.

USE msdb;
GO

-- Создаем пользователя в msdb, если он еще не существует
IF NOT EXISTS (SELECT * FROM sys.database_principals WHERE name = 'zabbix_monitor')
BEGIN
    CREATE USER zabbix_monitor FOR LOGIN zabbix_monitor;
END
GO

-- Предоставляем права на чтение системных таблиц заданий
GRANT SELECT ON dbo.sysjobs TO zabbix_monitor;
GRANT SELECT ON dbo.sysjobhistory TO zabbix_monitor;
GRANT SELECT ON dbo.sysjobactivity TO zabbix_monitor;
GRANT SELECT ON dbo.sysjobservers TO zabbix_monitor;

-- Предоставляем права на выполнение хранимых процедур
GRANT EXECUTE ON dbo.sp_help_job TO zabbix_monitor;
GRANT EXECUTE ON dbo.sp_help_jobhistory TO zabbix_monitor;
GRANT EXECUTE ON dbo.sp_help_jobactivity TO zabbix_monitor;
GRANT EXECUTE ON dbo.agent_datetime TO zabbix_monitor;
GO

На этом этапе настройка учетной записи в SQL Server завершена.

Установка и настройка Zabbix Agent 2 на сервере с MS SQL

Мониторинг MS SQL в Zabbix 7 осуществляется через плагин, входящий в состав Zabbix Agent 2. Обычный агент (первая версия) не поддерживает необходимые возможности.

Скачивание дистрибутивов

Посетите официальный сайт загрузки: https://www.zabbix.com/download_agents

Вам понадобятся два файла для вашей операционной системы (Windows/Linux):

  • Zabbix_agent2 (основной сервис)
  • Zabbix_agent2_plugins (набор плагинов, включая MSSQL)

Порядок установки

  1. Установите Zabbix Agent 2.
    • При установке укажите IP-адрес или DNS имя вашего Zabbix-сервера.
    • Остальные параметры (Hostname, порт 10050) можно оставить по умолчанию или настроить позже в файле zabbix_agent2.conf.
  2. Установите Zabbix Agent 2 Plugins.
    • Установка должна производиться после установки основного агента.
    • Плагины автоматически интегрируются в конфигурацию агента.
  3. Перезапустите службу.
    • После завершения установки плагинов обязательно перезапустите службу Zabbix Agent 2 через оснастку Services (services.msc) или командную строку.

Добавление экземпляра MS SQL в Zabbix 7

Теперь необходимо создать хост в веб-интерфейсе Zabbix и связать его с шаблоном.

  1. Перейдите в раздел: Настройка (Configuration) → Узлы сети (Hosts).
  2. Нажмите кнопку «Создать узел» (Create host).
  3. Заполните поля:
    • Имя узла (Host name): Укажите понятное имя, например MSSQL-SRV-01.
    • Группы узлов (Host groups): Добавьте группу, например, «Базы данных» (или создайте новую).
    • Интерфейс (Interfaces): Добавьте агентский интерфейс с DNS именем сервера (например, MSSQL-SRV-01.domen.local) и портом 10050. Тип — Zabbix agent.
  4. В поле «Шаблоны» (Templates) нажмите «Выбрать» и добавьте шаблон: MSSQL by Zabbix agent 2.

Настройка макросов

Шаблону необходимо сообщить параметры подключения к вашему экземпляру SQL Server.

  1. В карточке создаваемого узла перейдите на вкладку «Макросы» (Macros).
  2. Добавьте или отредактируйте следующие макросы (введите значения в поле «Значение» (Value)):
  3. Нажмите «Добавить» и затем «Обновить» для сохранения узла.
МакросЗначениеОписание
{$MSSQL.URI}sqlserver://IP:1433Адрес и порт SQL-сервера
{$MSSQL.USER}zabbix_monitorИмя созданного пользователя
{$MSSQL.PASSWORD}ВашСложныйПароль123!Пароль пользователя

Проверка и ожидание данных

После добавления узла Zabbix начнет автоматически применять шаблон и опрашивать SQL-сервер через плагин.

Важные замечания:

  • Первые данные: Графики и метрики начнут появляться примерно через 10 минут. Это связано с интервалами опроса по умолчанию.
  • Полный сбор данных: Обход всех баз данных, заданий агента SQL и сбор расширенной статистики может занять до 30 минут. Время зависит от количества пользовательских баз и настроенных заданий (Job’ов).
  • Диагностика: Если данные не появляются, проверьте:
    • Запущена ли служба Zabbix Agent 2 на целевом сервере.
    • Файрвол: открыт ли TCP-порт 10050 (агент) и 1433 (SQL, если нужно с другого хоста).
    • Логи агента: на сервере с SQL они обычно расположены в C:\Program Files\Zabbix Agent 2\zabbix_agent2.log (Windows) или /var/log/zabbix/zabbix_agent2.log (Linux).
    • Корректность пароля в макросе {$MSSQL.PASSWORD}.

Заключение

Вы успешно настроили мониторинг Microsoft SQL Server в Zabbix 7. В систему автоматически поступят следующие данные:

  • Производительность (процессор, память, IO дисков).
  • Статистика ожиданий (wait stats).
  • Мониторинг заданий SQL Server Agent.
  • Размеры баз данных и файлов.
  • Активные сессии и запросы (при необходимости).

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

Оцените статью
IT-Sierra