Как мониторить базы данных MS SQL в Zabbix - System Days - просто и легко об технологиях
 15.10.2018      658      0
 

Как мониторить базы данных MS SQL в Zabbix

http://www.zabbix.com/ Мониторинг баз данных MS SQL можно выполнять с помощью агента Zabbix, отправляя данные счетчиков…


http://www.zabbix.com/

Мониторинг баз данных MS SQL можно выполнять с помощью агента Zabbix, отправляя данные счетчиков производительности СУБД, но помимо этого существует возможность отслеживать показатели доступности и работоспособности баз и в agentless-конфигурации.

О последнем варианте я и собираюсь рассказать в этой статье.


Если вам интересна тематика ZABBIX, рекомендую обратиться к основной статье — Система мониторинга ZABBIX, в ней вы найдете дополнительную информацию.


Содержание

  • 1 Мониторинг баз данных MS SQL
    • 1.1 Теория
    • 1.2 Окружение
    • 1.3 Подготовка сервера Zabbix
      • 1.3.1 Установка драйвера
      • 1.3.2 Настройка конфигурации
      • 1.3.3 Проверка
    • 1.4 Настройка элемента данных
    • 1.5 Устранение неисправностей
      • 1.5.1 Брандмауэр Windows
      • 1.5.2 Сетевая конфигурация MS SQL
      • 1.5.3 Telnet — наше все
      • 1.5.4 Ошибки подключения на Zabbix Server
    • 1.6 Режимы проверки подлинности MS SQL

Мониторинг баз данных MS SQL

Помимо официальной документации, при написании статьи использовались и другие источники 1 2.

Теория

В безагентной конфигурации Zabbix Server имеет возможность выполнять обращения к удаленным серверам баз данных. При этом используемая СУБД может быть любой, но обязательно с поддержкой программного интерфейса доступа к базам данных (Open Database Connectivity — ODBC).

MS SQL Server, разумеется, поддерживает ODBC. И это неудивительно, ведь Microsoft была в числе инициаторов создания и разработчиков этого API.

К сожалению, из коробки Zabbix не сможет выполнять запросы к MS SQL (да и к любой другой СУБД) и поэтому необходимо произвести ряд настроек, о чем ниже.

Окружение

Для демонстрации возможностей я подготовил отдельную лабу, в которой присутствует свежий Zabbix Server 3.4 на Debian 9 и отдельная виртуальная машина с Microsoft SQL Server 2014 Express.

В качестве ODBC будет использован самый свежий Microsoft ODBC Driver for SQL Server на Linux, но в интернете широко доступны варианты и с другими драйверами 3. Также можно найти и готовые шаблоны с LLD 4.

Советуем прочитать!   Служба профилей пользователей препятсвует входу в систему

Подготовка сервера Zabbix

Microsoft хорошо постаралась и задокументировала процесс установки драйвера 5, при этом нигде не засветив примеров использования (что вообще очень странно). Основные шаги установки ниже (выполняйте под рутом).

Установка драйвера

Добавляем ключ в доверенные:

1
curl https://packages.microsoft.com/config/debian/9/prod.list>/etc/apt/sources.list.d/mssql-release.list

Выполняем обновление и установку драйвера:

1
2
3
4
5
6
7
8
9
# odbcinst -j
unixODBC 2.3.4
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

Посмотрим содержимое файла odbcinst.ini:

1
odbcinst-i-d-f/etc/odbcinst.ini

Проверьте регистрацию:

1
2
3
4
5
6
7
[mssql01]
Description = ms sql test
Driver      = ODBC Driver 17 for SQL Server
Server      = tcp:172.16.100.25,1433
User        = test01
Password    = tratata
Database    = master

Примечание: обратите внимание на имя драйвера, выше я просил вас запомнить его. Имя источника данных — mssql01 — понадобится далее.

Исходя из названия ключей каждого элемента, вам должно быть понятно их назначение.

Зарегистрируем источник данных:

1
odbcinst-q-s-nmssql01

Результат выполнения команды — содержимое файла /etc/odbc.ini.

Проверка

Проверим все ли получилось. Для начала подключимся к удаленной СУБД:

1
2
3
4
5
6
7
8
+—————————————+
| Connected!                            |
|                                       |
| sql-statement                         |
| help [tablename]                      |
| quit                                  |
|                                       |
+—————————————+

Выполним простой запрос:

1
SQL>select count(*)from[sys].[databases];

SQL-запрос отображает количество доступных на сервере баз данных:

1
netsh advfirewall firewall add rule name=»1433″dir=inaction=allow protocol=TCP localport=1433

Либо используйте оснастку Windows Firewall.

Сетевая конфигурация MS SQL

По умолчанию инсталляция MS SQL используется только для локальных подключений. Чтобы принимать сетевые подключения, вам нужно выполнить все шаги официальной инструкции 7.

После этого вы должны будете, наконец, увидеть строчку в выводе команды netstat -a:

1
2
3
4
# telnet 172.16.100.25 1433
Trying 172.16.100.25…
Connected to 172.16.100.25.
Escape character is ‘^]’.

Если подключиться не удалось, значит вы накосячили на предыдущих шагах, вернитесь к ним снова. Если все ОК, двигайтесь дальше.

Советуем прочитать!   Размеры почтовых ящиков Exchange через Powershell

Ошибки подключения на Zabbix Server

Пришло время вернуться к проверке удаленного подключения к СУБД. Напомню команду:

1
2
[28000][unixODBC][Microsoft][ODBC Driver17forSQL Server][SQL Server]H81:02E>40?>;L7>20B5;O»test01″.
[ISQL]ERROR:Could notSQLConnect

В любом случае наличие имени пользователя в ошибке (test01) должно вас насторожить и заставить проверить права доступа для юзера. Самый простой способ это сделать — открыть консоль Microsoft SQL Server Management Studio и попытаться подключиться под нужным пользователем.

Режимы проверки подлинности MS SQL

Администраторам MS SQL хорошо знакомо, что у этой СУБД существуют несколько режимов проверки подлинности. Но если у вас используется имя пользователя MS SQL, а сервер принимает только учетки Windows, то непременно возникнет проблема.

Примечание: самый удобный вариант — смешанный — когда для проверки подлинности могут использоваться как Windows-учетные записи, так и учетки MS SQL.

Например ошибка в предыдущей главе на стороне MS SQL выглядит следующим образом:

Мониторинг баз данных MS SQL в Zabbix

Измените режим проверки подлинности 8 или используйте соответствующие учетные записи.

На этом, кажется, все. Пишите в комментариях о своем опыте.

голос
Рейтинг статьи


Дмитрий
Об авторе: Дмитрий

Подписаться
Уведомить о
guest
0 комментариев
Межтекстовые Отзывы
Посмотреть все комментарии
0
Оставьте комментарий! Напишите, что думаете по поводу статьи.x
()
x