Ай Лайн
Связаться
Отдел продаж +7 (812) 385-74-84
Время работы пн-пт с 9:00 до 18:00

Мониторинг Microsoft SQL

  • Заходим на srv-zabbix через ssh

  • Добавляем новый хост в файл /etc/odbc.ini

sudo nano /etc/odbc.ini

Формат записи:

[srv-sql01]
Driver = ODBC Driver 18 for SQL Server
Server = 10.4.145.251
PORT = 1433
TrustServerCertificate = yes

Добавляем по примеру блок для нового сервера, по сути меняются только 1 и 3 строка.

  • Генерируем пароль для пользователя mssql - zbxmonuser используя только верхний/нижний регистр + цифры, без спецсимволов, 16+ знаков, заносим в менеджер паролей:

Пример записи в менеджере паролей

Заходим на srv-zabbix через ssh Добавляем новый хост в файл /etc/odbc.ini sudo nano /etc/odbc.ini Формат

  • Заходим в Zabbix

  • Переходим к необходимому хосту - Configuration - Hosts - вводим в поле "Name" имя хоста

  • Заходим в настройки хоста - добавляем в поле Templates MSSQL - ODBC

  • Заходим там же в настройках хоста во вкладку "Macros", заносим логин пароль:

    • {$MSSQL.USER} указываем логин

    • {$MSSQL.PASSWORD} указываем пароль

    • {$MSSQL.DSN} указываем имя как в блоке odbc.ini

Заходим на srv-zabbix через ssh Добавляем новый хост в файл /etc/odbc.ini sudo nano /etc/odbc.ini Формат

Ставим на поле пароль тип - Secret text

Пример заполнения полей Macro

Если имя экземпляра mssql server нестандартное, или поднято несколько экземпляров на 1й машине.

  • В файле /etc/odbc.ini после адреса сервера прописываем имя экземпляра sql сервера.

    [SRV-1C01]
    Driver = ODBC Driver 18 for SQL Server
    Server = 10.4.231.31\MSSQLSERVER_NEW
    PORT = 1433
    TrustServerCertificate = yes
    
    
    • {$MSSQL.INSTANCE} - указываем имя экземпляра в формате MSSQL$"Имя экземпляра"

      Заходим на srv-zabbix через ssh Добавляем новый хост в файл /etc/odbc.ini sudo nano /etc/odbc.ini Формат

  • Запускаем утилиту sqlcmd для изменения настроек mssql

Если пользователь, под которым произведён вход в систему, имеет доступ в mssql:

sqlcmd -S localhost

Если доступа нет, то заходим под sa, будет запрос пароля:

sqlcmd -S localhost -U sa

Если утилита sqlcmd не работает, то выполняем команды в SQL Server Management Studio

  • Выполняем команды внутри mssql
USE master;
  • Меняем данные в команде на сгенерированный пароль:
CREATE LOGIN zbxmonuser WITH PASSWORD = '<сгенерированный_пароль>';
  • Продолжаем ввод команд
GRANT VIEW ANY DEFINITION TO zbxmonuser;
GRANT VIEW SERVER STATE TO zbxmonuser;
use msdb;
CREATE USER zbxmonuser;
GRANT SELECT ON OBJECT::msdb.dbo.sysjobs TO zbxmonuser;
GRANT SELECT ON OBJECT::msdb.dbo.sysjobservers TO zbxmonuser;
GRANT SELECT ON OBJECT::msdb.dbo.sysjobactivity TO zbxmonuser;
GRANT EXECUTE ON OBJECT::msdb.dbo.agent_datetime TO zbxmonuser;
GO
EXIT
  • После этого в заббиксе должны начать собираться данные по mssql
Оставить заявку