Я задаю этот вопрос, потому что заблудился в лесу и боюсь, что могу в конечном итоге реализовать что-то неправильное, поэтому я ищу объясненное мне пошаговое объяснение. «как будто мне 5», потому что, что касается этой стороны Лазурного берега, то я почти такой же.
В настоящее время я рассматриваю возможность настройки Azure Alert. У меня нет проблем с его настройкой для одной базы данных Azure SQL Server и срабатыванием оповещения всякий раз, когда процент DTU в этой базе данных составляет в среднем 95 % в течение 10 минут или более.
Но у нас есть несколько сотен баз данных Azure... Мне бы хотелось иметь возможность настроить одно оповещение, которое срабатывает всякий раз, когда это происходит в любой из этих баз данных. Я хотел бы избежать необходимости настраивать одно и то же оповещение снова и снова, по одному разу для каждой базы данных.
Если предположить, что это вообще возможно... следующее, что мне нужно будет сделать, это запустить оператор SQL для базы данных, которая вызвала предупреждение.
Любые советы приветствуются. Заранее извиняюсь, так как я все еще нахожусь на этой неловкой стадии «я даже не знаю, с чего начать». Это ужасно, когда ты ТАК невежественен, что даже не знаешь, как задать правильный вопрос.
Этот запрос получает средний процент DTU для каждой базы данных. Создайте оповещение Azure Monitor, которое активируется, когда средний процент DTU превышает 95 % в течение 10 минут или более. Следуйте инструкциям в статье Создание оповещений и управление ими в Azure Monitor. Настройте оповещение для запуска инструкции SQL для базы данных, вызвавшей оповещение. Следуйте инструкциям в разделе Создание правила оповещения для метрики на портале Azure. В сведениях о правиле оповещения укажите оператор SQL, который вы хотите выполнить.
Это документы, на которые я ссылаюсь: Мониторинг базы данных SQL Azure с помощью метрик и оповещений Azure Monitor - Создание оповещений и управление ими в Azure Monitor
Большое спасибо, Арко.... иногда это просто вопрос ознакомления с такой терминологией, как «Рабочие области Log Analytics». Я расследую это в ближайшие дни и сообщу вам, как у меня дела.
Чтобы настроить оповещения Azure для нескольких баз данных Azure SQL Server, вы можете использовать Azure Monitor. Повторите эти шаги для всех баз данных SQL, которые вы хотите отслеживать.
Вы можете создать рабочую область Log Analytics и подключить к ней свои базы данных SQL. Следуйте инструкциям в разделе Мониторинг базы данных SQL Azure с помощью метрик и оповещений Azure Monitor.
В меню базы данных SQL выберите «Настройки диагностики». Нажмите «Добавить настройки диагностики». Назовите параметр и выберите «Отправить в рабочую область Log Analytics». Выберите ранее созданное рабочее пространство Log Analytics. Выберите журналы «SQLInsights» и «Ошибки». Вы можете выбрать любые другие вкладки и сохранить их.
Затем создайте запрос Log Analytics, который извлекает процент DTU для всех баз данных. Что-то вроде этого-
AzureMetrics
| where ResourceProvider == "MICROSOFT.SQL"
| where MetricName == "dtu_percent"
| summarize avg_value=avg(Average), count() by ResourceId
Затем создайте оповещение Azure Monitor, которое активируется, когда средний процент DTU превышает 95 % в течение 10 минут или более. Наконец, настройте оповещение для запуска оператора SQL для базы данных, вызвавшей оповещение.
Настройте оповещение для запуска инструкции SQL для базы данных, вызвавшей оповещение. Вы можете воспользоваться инструкциями из раздела Создание правила оповещения для метрики на портале Azure. В сведениях о правиле оповещения укажите оператор SQL, который вы хотите выполнить.
Более подробную информацию вы можете найти в этих документах MS:
Это фантастика, прекрасно, ясно и полезно.
Ссылаясь на ваше второе изображение.... Я не уверен, что вы подразумеваете под «меню базы данных SQL», но я зашел в созданную мной рабочую область Log Analytics и нашел «Настройки диагностики» в разделе «Мониторинг». Оттуда я выбрал «Добавить настройки диагностики», и это очень похоже на ваш второй снимок экрана. За исключением того, что в разделе «Категории» я вижу только «Аудит» и «Сводные журналы». «Сведения о SQL», «Ошибки» и несколько других параметров отсутствуют.
в строке поиска слева, когда вы вводите «Настройки диагностики». Разве вы не видите +добавить настройки диагностики, например это ? Какова ваша роль в подписке? пример- владелец, участник, читатель- Learn.microsoft.com/en-us/azure/role-based-access-control/…
Нет, увы.... На снимке экрана ниже «Нажмите «Добавить диагностические настройки» выше, чтобы настроить сбор следующих данных» перечислены настройка SQL, автоматическая настройка и некоторые другие вещи. Я попадаю на ту же страницу, но там перечислены только «Аудит», «Сводные журналы» и «AllMetrics».... Нужно ли мне запрашивать, чтобы что-то было активировано или включено для нас?
да, я так думаю, могут быть некоторые ограничения для вашей учетной записи или роли, потому что я вижу эту опцию, как показано на моем скриншоте в настройках диагностики.
Не беспокойтесь.... Я уточню у нашего поставщика.
Чтобы держать вас в курсе, наш поставщик пока не ответил на мой запрос.
Посмотрите, подойдет ли вам такая подробная информация. Создайте рабочую область Log Analytics и подключите к ней базы данных Azure SQL Server. Следуйте инструкциям в статье Мониторинг базы данных SQL Azure с помощью метрик и оповещений Azure Monitor. Создайте запрос Log Analytics, который получает процент DTU для всех баз данных. Используйте следующий запрос:
AzureMetrics | where ResourceProvider == "MICROSOFT.SQL" | where MetricName == "dtu_percent" | summarize avg_value=avg(Average), count() by ResourceId