Как отслеживать доступность кластера Microsoft SQL в Nagios?
Мы запускаем систему, предназначенную для интеграции с Microsoft SQL Server, в кластерной конфигурации. В настоящее время мы наблюдаем оба узла базы данных под Nagios, и все в порядке, кроме проверки хоста базы данных:
check_tcp -H $ HOSTADDRESS $ -p 1433
Вероятно, никто не может напрямую контролировать отказоустойчивый кластер. Как мне отслеживать доступность базы данных кластера?
2 ответа
Когда речь идет о SQL Server в кластере, он должен быть установлен как виртуальный узел, будь то экземпляр по умолчанию или именованный экземпляр. Так что проверка TCP, где hostname - это виртуальное имя с правильным портом, должна работать. Например, если у меня есть кластер из двух узлов с физическими узлами:
- Physical1
- Physical2
Не отслеживайте ни один из них для SQL Server. Когда SQL Server установлен, скажем, я выбрал имя виртуального узла Virtual1, тогда это Virtual1, который вы хотите отслеживать. И если SQL Server работает, то кластер работает. Если вы просто хотите проверить, работает ли кластер, найдите сетевое имя самой группы кластеров.
Почему бы не подключиться к тому же ip/hostname с плагином mssql, что и ваше приложение? Для завершения мониторинга я бы добавил хост для виртуального IP-адреса и два хоста для каждого узла кластера. Поэтому, если один из ваших узлов выходит из строя, вы получаете уведомление, но вы знаете, что кластер все еще в порядке, потому что вы не получили уведомление.