Поделиться через


Пользовательские мониторы баз данных на основе запросов

Если набор мониторов по умолчанию в пакете управления System Center для SQL Server недостаточно для покрытия рабочих процессов, можно создать монитор, предназначенный для баз данных SQL Server для платформ Windows и Linux.

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

Существует два типа модульных мониторов на основе пользовательских запросов, которые можно создать для базы данных SQL Server: мониторы двух состояний и три состояния мониторов. В зависимости от sql-запроса доступны два варианта: cookdown и контекст базы данных.

Примечание.

Так как последняя предварительная версия пакета управления System Center для SQL Server 7.1.0.0, пакет управления для пользовательской функции мониторинга находится в отдельном установщике пакетов: SQLServerMP.CustomMonitoring.msi. Не забудьте импортировать файл пакета управления Microsoft.SQLServer.Core.CustomMonitoring.mpb вручную. Процесс импорта с параметром обновления не поддерживается.

Пользовательские мониторы на основе запросов, предназначенные для базы данных SQL Server

Тип Cookdown позволяет извлекать данные из нескольких баз данных с помощью одного запроса.

Монитор создания двух состояний настраиваемой базы данных

Чтобы создать монитор на основе двух состояний на основе запросов, выполните следующие действия.

  1. В консоли System Center Operations Manager перейдите к >. Щелкните правой кнопкой мыши мониторы, выберите "Создать монитор" и выберите "Модульный монитор".

    Снимок экрана: выбор для создания монитора с двумя состояниями.

  2. На шаге "Тип монитора" выберите монитор>Server>, определяемый пользователем SQL Query с двумя состояниями.

  3. В раскрывающемся списке "Выбор целевого пакета управления" выберите пакет управления, который вы хотите использовать, или нажмите кнопку "Создать ", чтобы создать новую. Затем выберите Далее.

    Снимок экрана: выбор типа монитора.

  4. На шаге "Общие свойства" введите имя монитора и необязательное описание. Сделайте выбор для целевого иродительского монитора. Если вы хотите включить монитор по умолчанию, установите флажок "Монитор ". Затем выберите Далее.

    Снимок экрана: выбор имени и описания монитора.

  5. В поле "Вид монитора" выберите Cookdown и введите селектор имени базы данных с помощью имени столбца или столбца.

    Селектор имени базы данных — это селектор, который анализирует имя базы данных из результирующий набор sql-запроса. Задание селектора помогает определить базу данных из результирующий набор для получения данных.

    Снимок экрана: выбор типа монитора базы данных cookdown.

  6. На шаге SQL Query введите имя базы данных, текст запроса и время ожидания (в секундах). База данных по умолчанию является главной.

    Поле имени базы данных указывает базу данных, которая будет использоваться для выполнения SQL-запроса на этом шаге.

    На снимке экрана показан пример использования с помощью запроса SQL к msdb.backupset. Эта таблица содержит сведения обо всех резервных копиях базы данных на сервере.

    Снимок экрана: имя целевой базы данных и SQL-запрос для подготовки.

  7. На шаге "Условия" добавьте одно или несколько условий для проверки результатов запроса.

    Условие поддерживает два режима оценки:

    • ANY — если какие-либо из условий нарушаются, монитор переключается на неработоспособное состояние.

    • ALL - если все условия нарушены, монитор переключается на неработоспособное состояние.

    Чтобы добавить новое условие, нажмите кнопку "Добавить" и выберите скалярное значение.

    Проверяет скалярное значение в указанной ячейке результируемого набора. На данный момент доступно только равное сравнение. Если вам нужна сложная логика, можно покрыть это запросом.

    Снимок экрана: добавление новых условий.

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

    Скалярное значение можно использовать с двумя параметрами:

    • Значение NULL — это параметр true\false проверки. Если значение равно false, монитор неработоспособен. В противном случае монитор работоспособен.
    • Используйте значение "Равно", чтобы вставить конкретное значение. Если результат запроса соответствует значению числа, монитор работоспособен. В противном случае монитор неработоспособен.

    Снимок экрана: скалярные значения для подготовки.

    Примечание.

    Параметр "Равный" является независимым от языка и региональных параметров (инвариантным) только для одного значения и не может анализировать диапазон значений. Пример использования: 3.14, 2023-05-25 или произвольный текст.

    Вы можете сделать несколько условий. Если вы хотите добавить, изменить или удалить условие, выберите условие и нажмите соответствующую кнопку.

    Снимок экрана: заполненное условие.

    После завершения настройки всех необходимых условий нажмите кнопку "Далее".

  8. На шаге "Контейнер свойств" добавьте одно или несколько условий для анализа результата sql-запроса в контейнер свойств, чтобы добавить свойства в контекст оповещения. Этот шаг можно пропустить, если контекст оповещения по умолчанию достаточно для отображения.

    Снимок экрана: настройка контейнера свойств.

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

    Снимок экрана: условие контейнера свойств для подготовки.

    После завершения настройки всех необходимых условий нажмите кнопку "Далее".

  9. На шаге "Расписание " настройте расписание выполнения запросов и время синхронизации.

    Снимок экрана: настройка расписания.

  10. На шаге "Фильтр расписания" выберите режим фильтрации расписания со следующими параметрами:

    • Всегда обрабатывать данные

      Это обычный режим, в котором монитор обрабатывает данные все время. Этот режим не поддерживает расписание диапазона времени и исключает варианты дня.

    • Обработка только данных в течение указанного времени

      В этом режиме вы запланируйте мониторинг, выбрав диапазон даты и времени в течение недели.

    • Обработка данных за исключением указанного времени

      В этом режиме можно исключить дни, чтобы монитор не отслеживал указанные периоды времени. Вы можете временно исключить его с помощью кнопки "Исключить дни ". Его можно исключить безвозвратно с помощью расписания диапазона времени.

    Снимок экрана: создание фильтра расписания в пользовательских мониторах.

    Чтобы указать диапазон времени для только данных обработки в течение указанного времени и данных обработки, за исключением указанных режимов времени, нажмите кнопку "Добавить" и выберите дни и время.

    Снимок экрана: выбор диапазона времени для монитора.

    Чтобы исключить несколько дней из расписания, нажмите кнопку "Исключить дни " и выберите диапазон дат с помощью полей "Пуск " и "Конец ". Заполните описание, если применимо.

    Снимок экрана: кнопка исключения дней при создании фильтра расписания.

    Вы можете использовать оба варианта, чтобы исключить диапазоны времени и дни одновременно.

    Снимок экрана: использование обоих параметров фильтрации расписания.

  11. На шаге "Настройка работоспособности" выберите состояние работоспособности, которое должен создать монитор. При необходимости измените сведения о рабочем состоянии .

    Снимок экрана: настройка работоспособности.

  12. На шаге настройки оповещений включите создание оповещений и измените область свойств генерации оповещений при необходимости.

    Если вам нужно активировать оповещения для монитора, установите флажок "Создать оповещения" для этого монитора и настройте имя и описание оповещения, которые будут отображаться при сбое условий. Измените приоритет и серьезность и устраните режим генерации оповещений.

    $Data/Context/Property[@Name=’Message’]$ Используйте заполнитель, чтобы отобразить список неудачных условий в описании оповещения.

    После завершения настройки свойств оповещений нажмите кнопку "Создать".

    Снимок экрана: изменение оповещений.

Совет

По умолчанию настраиваемый монитор на основе запросов работает для всех баз данных SQL Server. Чтобы избежать шторма оповещений, необходимо переопределить целевой объект монитора только на определенный экземпляр SQL Server. Для этого в свойствах переопределения монитора задайте значение Enabled = False для MSSQL в Windows: класс базы данных и задайте значение Enabled = True для конкретного объекта базы данных SQL Server.

Пользовательские мониторы контекста базы данных на основе запросов, предназначенные для базы данных SQL Server

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

Этот тип монитора может повысить производительность.

Монитор контекста настраиваемой базы данных с двумя состояниями

Чтобы создать монитор на основе двух состояний на основе запросов, выполните следующие действия.

  1. В консоли System Center Operations Manager перейдите к >. Щелкните правой кнопкой мыши мониторы, выберите "Создать монитор" и выберите "Модульный монитор".

    Снимок экрана: выбор для создания монитора с двумя состояниями.

  2. На шаге "Тип монитора" выберите монитор>Server>, определяемый пользователем SQL Query с двумя состояниями.

  3. В раскрывающемся списке "Выбор целевого пакета управления" выберите пакет управления, который вы хотите использовать, или нажмите кнопку "Создать ", чтобы создать новую. Затем выберите Далее.

    Снимок экрана: выбор типа монитора.

  4. На шаге "Общие свойства" введите имя монитора и необязательное описание. Сделайте выбор для целевого иродительского монитора. Если вы хотите включить монитор по умолчанию, установите флажок "Монитор ". Затем выберите Далее.

    Снимок экрана: выбор имени и описания монитора.

  5. В поле "Вид монитора " выберите контекст базы данных.

    Тип монитора контекста базы данных будет выполнять sql-запрос ко всем базам данных, поэтому селектор имени базы данных может быть опущен.

    Снимок экрана: выбор типа монитора контекста базы данных.

  6. На шаге SQL Query введите текст запроса и время ожидания (в секундах). База данных по умолчанию является главной.

    Контекст базы данных будет выполняться во всех базах данных, поэтому поле для указания только одной базы данных для запроса заблокировано.

    Снимок экрана: имя целевой базы данных и SQL-запрос для контекста базы данных.

    Снимок экрана: пример использования контекста базы данных с SQL-запросом для sys.database_files. Эта таблица существует в каждой базе данных, поэтому тип монитора контекста базы данных подключается к каждой базе данных и извлекает данные целевым образом.

  7. На шаге "Условия" добавьте одно или несколько условий для проверки результатов запроса.

    Условие поддерживает два режима оценки:

    • ANY — если какие-либо из условий нарушаются, монитор переключается на неработоспособное состояние.

    • ALL - если все условия нарушены, монитор переключается на неработоспособное состояние.

    Чтобы добавить новое условие, нажмите кнопку "Добавить", а затем выберите одно из доступных условий:

    • Пустой результирующий набор

      Проверяет, является ли указанный результирующий набор пустым.

    • Не пустой результирующий набор

      Проверяет, не пуст ли указанный результирующий набор.

    • Скалярное значение

      Проверяет скалярное значение в указанной ячейке результируемого набора. На данный момент доступно только равное сравнение. Если вам нужна сложная логика, можно покрыть это запросом.

    Снимок экрана: добавление новых условий для контекста базы данных.

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

    Скалярное значение можно использовать с двумя параметрами:

    • Значение NULL — это параметр true\false проверки. Если значение равно false, монитор неработоспособен. В противном случае монитор работоспособен.
    • Используйте значение "Равно", чтобы вставить конкретное значение. Если результат запроса соответствует значению числа, монитор работоспособен. В противном случае монитор неработоспособен.

    Снимок экрана: скалярные значения для контекста базы данных.

    Примечание.

    Параметр "Равный" является независимым от языка и региональных параметров (инвариантным) только для одного значения и не может анализировать диапазон значений. Пример использования: 3.14, 2023-05-25 или произвольный текст.

    Вы можете сделать несколько условий. Если вы хотите добавить, изменить или удалить условие, выберите условие и нажмите соответствующую кнопку.

    Снимок экрана: несколько условий.

    После завершения настройки всех необходимых условий нажмите кнопку "Далее".

  8. На шаге "Контейнер свойств" добавьте одно или несколько условий для анализа результата sql-запроса в контейнер свойств, чтобы добавить свойства в контекст оповещения. Этот шаг можно пропустить, если контекст оповещения по умолчанию достаточно для отображения.

    Снимок экрана: настройка контейнера свойств.

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

    Снимок экрана: условие контейнера свойств для контекста базы данных.

    Вы можете сделать несколько условий для контейнера свойств. Если вы хотите добавить, изменить или удалить условие, выберите условие и нажмите соответствующую кнопку.

    Снимок экрана: несколько условий контейнера свойств.

    После завершения настройки всех необходимых условий нажмите кнопку "Далее".

  9. На шаге "Расписание " настройте расписание выполнения запросов и время синхронизации.

    Снимок экрана: настройка расписания.

  10. На шаге "Фильтр расписания" выберите режим фильтрации расписания со следующими параметрами:

    • Всегда обрабатывать данные

      Это обычный режим, в котором монитор обрабатывает данные все время. Этот режим не поддерживает расписание диапазона времени и исключает варианты дня.

    • Обработка только данных в течение указанного времени

      В этом режиме вы запланируйте мониторинг, выбрав диапазон даты и времени в течение недели.

    • Обработка данных за исключением указанного времени

      В этом режиме можно исключить дни, чтобы монитор не отслеживал указанные периоды времени. Вы можете временно исключить его с помощью кнопки "Исключить дни ". Его можно исключить безвозвратно с помощью расписания диапазона времени.

Снимок экрана: создание фильтра расписания в пользовательских мониторах.

Чтобы указать диапазон времени для только данных обработки в течение указанного времени и данных обработки, за исключением указанных режимов времени, нажмите кнопку "Добавить" и выберите дни и время.

Снимок экрана: выбор диапазона времени для монитора.

Чтобы исключить несколько дней из расписания, нажмите кнопку "Исключить дни " и выберите диапазон дат с помощью полей "Пуск " и "Конец ". Заполните описание, если применимо.

Снимок экрана: кнопка исключения дней при создании фильтра расписания.

Вы можете использовать оба варианта, чтобы исключить диапазоны времени и дни одновременно.

Снимок экрана: использование обоих параметров фильтрации расписания.

  1. На шаге "Настройка работоспособности" выберите состояние работоспособности, которое должен создать монитор. При необходимости измените сведения о рабочем состоянии .

    Снимок экрана: настройка работоспособности.

  2. На шаге настройки оповещений включите создание оповещений и измените область свойств генерации оповещений при необходимости.

    Если вам нужно активировать оповещения для монитора, установите флажок "Создать оповещения" для этого монитора и настройте имя и описание оповещения, которые будут отображаться при сбое условий. Измените приоритет и серьезность и устраните режим генерации оповещений.

    $Data/Context/Property[@Name=’Message’]$ Используйте заполнитель, чтобы отобразить список неудачных условий в описании оповещения.

    После завершения настройки свойств оповещений нажмите кнопку "Создать".

    Снимок экрана: изменение оповещений.

Совет

По умолчанию настраиваемый монитор на основе запросов работает для всех баз данных SQL Server. Чтобы избежать шторма оповещений, необходимо переопределить целевой объект монитора только на определенный экземпляр SQL Server. Для этого в свойствах переопределения монитора задайте значение Enabled = False для MSSQL в Windows: класс базы данных и задайте значение Enabled = True для конкретного объекта базы данных SQL Server.

Монитор трех состояний

Создание монитора на основе трех состояний на основе запросов аналогично созданию монитора с двумя состояниями. Основное различие заключается в том, что на шаге "Тип монитора" выберите определяемый пользователем монитор SQL Query с тремя состояниями. Затем можно указать сведения об условиях предупреждения и критических условиях.

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

Снимок экрана: предупреждение и критическое условие для монитора с тремя состояниями.

При использовании условия "Равно" в мониторе с тремя состояниями:

  • Выберите значение.
  • Используйте условия с неработоспособными состояниями, которые будут определены для требуемого состояния работы монитора.
  • Имейте в виду приоритет оповещения: критическое состояние проверяется первым.

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