Wednesday, June 3, 2020

Мониторинг MS SQL Server в Zabbix


Для мониторинга сервера MS SQL Server будем использовать шаблон -




1. Скачиваем и импортируем шаблон на сервер Zabbix:
После импорта у вас в шаблонах должен появиться этот шаблон:

2. Создадим пользователя, которым будем подключаться для мониторинга к серверу MS SQL. Выполним запрос на сервере, только изменив на свои - user и password:
USE [master]
GO
CREATE LOGIN [user] WITH PASSWORD=N'password', DEFAULT_DATABASE=[master], CHECK_EXPIRATION=OFF, CHECK_POLICY=OFF
GO
use [master]
GO
GRANT VIEW ANY DEFINITION TO [user]
GO
use [master]
GO
GRANT VIEW SERVER STATE TO [user]
GO
use [master]
GO
GRANT CONNECT SQL TO [user]
GO
3. Далее необходимо установить Microsoft ODBC driver на сервер Zabbix. Для этого будем использовать инструкции по ссылке  -  https://docs.microsoft.com/en-us/sql/connect/odbc/linux-mac/installing-the-microsoft-odbc-driver-for-sql-server?view=sql-server-ver15, выбираем вашу систему, на которой у вас установлен Zabbix и ставим по порядку.

4. Настриваем ODBC на сервере Zabbix.

- Проверяем, что ODBC установился верно:
[root@localhost ~]#  odbcinst -j
unixODBC 2.3.7
DRIVERS............: /etc/odbcinst.ini
SYSTEM DATA SOURCES: /etc/odbc.ini
FILE DATA SOURCES..: /etc/ODBCDataSources
USER DATA SOURCES..: /root/.odbc.ini
SQLULEN Size.......: 8
SQLLEN Size........: 8
SQLSETPOSIROW Size.: 8

- Создаем файл /etc/odbc.ini:
[server-sql] # ODBC Data Source Name (DSN) - указываем имя, которое будет использовать при подключении шаблона к host
Driver      = ODBC Driver 17 for SQL Server
Server      = tcp:192.168.1.100,1433 # Указываем IP адрес сервера, протокол и порт 

- Регистрируем Data Source:
 odbcinst -i -s -f /etc/odbc.ini


- Проверяем с логином и паролем, что подключаемся к серверу MS SQL isql -v server-sql user password


5. Теперь можно подключать шаблон к серверу.

- Пропишем в Macro значения - {$MSSQL.DSN} (значение из odbc.ini),{$MSSQL.PASSWORD},{$MSSQL.USER} (логин и пароль пользователя для подключения к серверу MS SQL).


- на вкладке Templates подключаем нужный шаблон:

6. Через время смотрим, что появились данные с MS SQL.

PS.


2 comments:

  1. Не могу побороть ошибку подключения:
    [08001][unixODBC][Microsoft][ODBC Driver 18 for SQL Server]SSL Provider: [error:1416F086:SSL routines:tls_process_server_certificate:certificate verify failed:self signed certificate]
    [08001][unixODBC][Microsoft][ODBC Driver 18 for SQL Server]Client unable to establish connection
    [ISQL]ERROR: Could not SQLConnect

    ReplyDelete
  2. Вот тут - посмотрите - https://stackoverflow.com/questions/71732117/laravel-sql-server-error-odbc-driver-18-for-sql-serverssl-provider-error141, так же пишут что помогает - It worked for me with "Encrypt=no;". И вот тут https://github.com/mkleehammer/pyodbc/issues/799

    ReplyDelete