Мониторинг реплики AlwaysON с помощью Zabbix

SQL / Zabbix 22-08-2022, 16:20 sobir 13 888 0


В данной статье мы рассмотрим, как настроить мониторинг времени отставания репликационных баз SQL Server AlwaysON с помощью системы мониторинга Zabbix.

1. Необходимо, чтобы на сервере Zabbix была установлена утилита sqlcmd позволяющая взаимодействовать с Microsoft SQL Server.

2. В репликационной базе создать пользователя zabbix с правами доступа на VIEW SERVER STATE:
USE master
GO
CREATE LOGIN [zabbix] WITH PASSWORD='yourpass';
GO
GRANT VIEW SERVER STATE TO "zabbix"

3. На сервере Zabbix создадим кастомный скрипт на bash проверяющий значение estimated recovery time в секундах:
vi /usr/lib/zabbix/externalscripts/check_replica.sh
#!/bin/bash

MSSQLSERVER="1.2.3.4"

QUERY="
SET NOCOUNT ON
GO
USE master
GO

SELECT 
(redo_queue_size/redo_rate) 

FROM sys.dm_hadr_database_replica_states
WHERE last_redone_time is not null
and CAST(DB_NAME(database_id)as VARCHAR(40)) = '$1'
;

GO
"

STATE=`/opt/mssql-tools/bin/sqlcmd -S $MSSQLSERVER -U zabbix -P yourpass -Q "$QUERY"`
echo $STATE | awk '{print $7}'

4. Меняем владельца скрипта и делаем скрипт исполняемым:
chown zabbix:zabbix /usr/lib/zabbix/externalscripts/check_replica.sh
chmod 700 /usr/lib/zabbix/externalscripts/check_replica.sh

5. Выполняем проверку скрипта, в качестве аргумента передаем имя репликационной БД:
/usr/lib/zabbix/externalscripts/check_replica.sh DatabaseName

6. Добавляем метрику и триггер в панели мониторинга Zabbix:
Мониторинг реплики AlwaysON с помощью Zabbix


7. Проверяем получение данных в Latest data
Похожие новости
Мониторинг статус-кодов HTTP NGINX в Zabbix

Мониторинг кодов состояния сайта из лог-файла nginx access log....

Подробнее
Мониторим сервисы Zimbra в Zabbix

Мониторинг почтового сервера Zimbra в Zabbix....

Подробнее
Предоставляем доступ пользователю в реплику SQL Server AlwaysOn

Предоставляем доступ пользователю для чтения в репликационной базе данных....

Подробнее
Настройка файрвола iptables в CentOS 8 / RHEL 8

Пишем правила для фильтрации и трансляции трафика с помощью iptables....

Подробнее
Настройка авторитетного DNS сервера BIND в CentOS 8 / RHEL 8

Установка и настройка первичного сервера доменных имен BIND....

Подробнее
Поднимаем ocserv с аутентификацией LDAP

Поднимаем VPN сервер OpenConnect (ocserv) в контейнере Docker с аутентификацией пользователей из Microsoft...

Подробнее
Комментарии (0)
Новые комментарии
sobir8 ноября 2024 12:42

Цитата: FidoNet Цитата: sobir Цитата: FidoNet Спасибо за статью. Остальные

img
К комментарию
FidoNet7 ноября 2024 03:26

Цитата: sobir Цитата: FidoNet Спасибо за статью. Остальные статьи что находил

img
К комментарию
sobir27 октября 2024 19:02

Цитата: FidoNet Цитата: sobir Цитата: FidoNet Можт быть дело в

img
К комментарию
FidoNet25 октября 2024 22:04

Цитата: sobir Цитата: FidoNet Можт быть дело в dnsmasq.service? Ошибка Failed

img
К комментарию
sobir25 октября 2024 16:48

Цитата: FidoNet Цитата: sobir Цитата: FidoNet Спасибо за статью. Остальные

img
К комментарию
FidoNet20 октября 2024 12:12

Можт быть дело в dnsmasq.service? Ошибка Failed to set DNS configuration: Unit

img
К комментарию
Все комментарии
Какой дистрибутив Linux вы часто используете?
Календарь
«    Декабрь 2024    »
ПнВтСрЧтПтСбВс
 1
2345678
9101112131415
16171819202122
23242526272829
3031 
Подпишись на канал