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

SQL / Zabbix 22-08-2022, 16:20 sobir 11 413 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)
Новые комментарии
komronu8 сентября 2022 18:23

Салом, можно ещё создать файл в /etc/nginx/proxy_params, a потом добавить туда

img
К комментарию
sobir26 августа 2022 10:43

Можно ещё так: 1. Создаем отдельную сеть для наших контейнеров docker network

img
К комментарию
komronu22 августа 2022 15:12

Спасибо за отзыв, написал отдельную статью по установке и настройке Ansible

img
К комментарию
sobir19 августа 2022 18:00

Думаю в статье необходимо также описать процесс установки Ansible.

img
К комментарию
sobir17 октября 2021 11:40

Принудительное обновление сертификата: certbot certonly --force-renew -d

img
К комментарию
sobir3 июля 2021 14:19

Можно, но я решил описать процесс копирования ключей более подробно.

img
К комментарию
Все комментарии
Какой дистрибутив Linux вы часто используете?
Календарь
«    Март 2024    »
ПнВтСрЧтПтСбВс
 123
45678910
11121314151617
18192021222324
25262728293031
Подпишись на канал