Мониторинг MS SQL баз SharePoint 2013 в SCOM

Разбираемся как настроить мониторинг SQL баз SharePoint 2013 в SCOM 2012 R2 средствами одного Management Pack для SharePoint.

Мониторинг MS SQL баз SharePoint 2013 в SCOM

Мониторинг баз SharePoint 2013 в SCOM по-умолчанию не осуществляется средствами самого Management Pack‘a для SharePoint 2013. Однако базы прекрасно обнаруживаются, но находятся в состоянии Not Monitored:

Базы находятся в состоянии Not Monitored

В прилагаемом Management Pack Guide ничего не сказано по этому поводу. Вдобавок, в интернете можно найти информацию говорящую о том, что мониторинг не происходит из-за установленного MP для SQL Server, который берет на себя эту работу. Это совершенно не верно! Давайте разберемся почему так происходит и как исправить эту ситуацию.

Классы

По умолчанию, MP для SharePoint 2013 обнаруживает базы данных если сконфигурирован без ошибок. Они относятся к следующим классам — SharePoint Database, SharePoint Configuration Database и SharePoint Content Database и содержатся в Microsoft SharePoint Foundation Library MP.

SharePoint Database является базовым классом System Database, который содержится в System Library MP, одном из базовых пакетов SCOM. SharePoint Configuration Database и SharePoint Content Database используют его как базовый класс.

И, как можно заметить, никаких зависимостей от MP SQL Server нет!

Bключаем мониторинг баз SharePoint

Итак, у нас есть ферма SharePoint 2013, которая наблюдается соответствующим MP и базы которой обнаружены, но находятся в состоянии Not Monitored. Если у вас установлен MP для SQL Server то может возникнуть вопрос, зачем же это надо? Но было бы неплохо задействовать все возможности MP для SharePoint 2013 и сделать администраторов SharePoint чуть более счастливыми, покрыв все подсистемы мониторингом одним пакетом.

MP для SharePoint использует всего лишь один монитор для наблюдения за базами данных — SQL Database Connection Failed. Этот монитор находится в категории Availability и отключен по умолчанию. Для того чтобы найти его, перейдем в раздел Authoring консоли и используем фильтр:

Используем фильтр для поиска классов

Последовательно находим 3 наших класса баз данных, которые содержат его:

Когда выбраны все три, то нажимаем ОК:

Все три класса выбраны

Если взглянуть на свойства монитора, то в его описании сказано, что монитор принимает значение Critical если не получилось соединиться с базой данных. Так же написано, что монитор отключен по умолчанию:

Описание свойств монитора

Задействуем данный монитор, для чего добавим Override. В данном случае добавляем для всего класса SharePoint Configuration Database, чтобы покрыть все базы одним Override‘ом:

Переопределяем настройки монитора

Меняем свойство Enabled на True, а так же изменим интервал опроса базы Interval Seconds. По умолчанию он слишком великоват, согласитесь, 1800 секунд (30 минут) не приемлемо для того, чтобы узнать, что с базой стало что-то не так. Выбираем или создаем новый менеджмент-пак для Override‘ов (настоятельно советую так делать):

Выставляем переопределения

Здесь же можно изменить Connection String посредством которого происходит подключение к базе. По умолчанию он выглядит так:

Provider=SQLOLEDB;$Target/Property[Type="WSS!Microsoft.SharePoint.SPDatabase"]/LegacyConnectionString$

Делать это следует только в случае того, если подключение к базам по умолчанию не срабатывает по каким-либо причинам. В таком случае, Connection String должен выглядеть примерно так:

Provider=SQLOLEDB;Data Source=<SQL_SERVER_DNS_NAME>;Initial Catalog=<DB_NAME>;Integrated Security=SSPI;Enlist=False;Connect Timeout=15

Если вы меняете Connection String, то делать это нужно в отдельном Override для конкретной базы данных, а не для всего класса целиком.

Данные шаги необходимо повторить так же и для SharePoint Content Database. После чего наши базы должны выйти из состояния Not Monitored:

Теперь администраторам поддержки SharePoint 2013 можно настроить уведомления о том, что с базами стало что-то не так.