Мониторинг производительности MS SQL Server является критически важной задачей для обеспечения отказоустойчивости и эффективности работы корпоративных приложений. Данное руководство описывает пошаговый процесс настройки специализированной учетной записи для мониторинга и подключения экземпляра SQL Server к системе Zabbix 7 с использованием шаблона MSSQL by Zabbix agent 2.
- Создание учетной записи для мониторинга на сервере MS SQL
- Создание логина и пользователя
- Предоставление прав на уровне сервера
- Настройка доступа к базе msdb (для мониторинга заданий SQL Agent)
- Установка и настройка Zabbix Agent 2 на сервере с MS SQL
- Скачивание дистрибутивов
- Порядок установки
- Добавление экземпляра MS SQL в Zabbix 7
- Настройка макросов
- Проверка и ожидание данных
- Важные замечания:
- Заключение
Создание учетной записи для мониторинга на сервере 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)
Порядок установки
- Установите Zabbix Agent 2.
- При установке укажите IP-адрес или DNS имя вашего Zabbix-сервера.
- Остальные параметры (Hostname, порт 10050) можно оставить по умолчанию или настроить позже в файле zabbix_agent2.conf.
- Установите Zabbix Agent 2 Plugins.
- Установка должна производиться после установки основного агента.
- Плагины автоматически интегрируются в конфигурацию агента.
- Перезапустите службу.
- После завершения установки плагинов обязательно перезапустите службу Zabbix Agent 2 через оснастку Services (services.msc) или командную строку.
Добавление экземпляра MS SQL в Zabbix 7
Теперь необходимо создать хост в веб-интерфейсе Zabbix и связать его с шаблоном.
- Перейдите в раздел: Настройка (Configuration) → Узлы сети (Hosts).
- Нажмите кнопку «Создать узел» (Create host).
- Заполните поля:
- Имя узла (Host name): Укажите понятное имя, например
MSSQL-SRV-01. - Группы узлов (Host groups): Добавьте группу, например, «Базы данных» (или создайте новую).
- Интерфейс (Interfaces): Добавьте агентский интерфейс с DNS именем сервера (например,
.domen.local) и портомMSSQL-SRV-0110050. Тип — Zabbix agent.
- Имя узла (Host name): Укажите понятное имя, например
- В поле «Шаблоны» (Templates) нажмите «Выбрать» и добавьте шаблон: MSSQL by Zabbix agent 2.
Настройка макросов
Шаблону необходимо сообщить параметры подключения к вашему экземпляру SQL Server.
- В карточке создаваемого узла перейдите на вкладку «Макросы» (Macros).
- Добавьте или отредактируйте следующие макросы (введите значения в поле «Значение» (Value)):
- Нажмите «Добавить» и затем «Обновить» для сохранения узла.
| Макрос | Значение | Описание |
|---|---|---|
{$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.
- Размеры баз данных и файлов.
- Активные сессии и запросы (при необходимости).
Используйте полученные метрики для настройки триггеров и панелей мониторинга.








