Могу ли я запускать LogAnalytics для отправки сообщения электронной почты, содержащего саму ошибку, каждый раз, когда пишется ошибка? - PullRequest
0 голосов
/ 05 декабря 2018

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

Мое видение: регистрируйте все в Log Analytics и отправляйте уведомления о плохих событиях.Моя идея может быть легко описана (в псевдо) следующим образом:

if (level = "Error")
 { SendMailToActionGroup(ErrorBody); }

Итак, это выполнимо?

Могу ли я запускать LogAnalytics для отправки электронного письма, содержащего ошибку каждый развремя написания ошибки?

На данный момент я выяснил, как найти ошибки в Log Analytics, выполнив поиск по журналу, например, такой:

AzureDiagnostics
| where Level == "Error"
| where TimeGenerated > ago(5m)

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

Но этого недостаточно.Эти письма, отправленные из Azure, направляются непосредственно на наш портал обслуживания клиентов.Именно здесь нам нужна ошибка, а не информация о том, что было запущено предупреждение.Иногда возникают множественные ошибки, и электронная почта не объясняет их все.Он показывает первые 1 результаты поиска и некоторые базовые вещи.

Итак, лучший способ справиться с этим - перехватывать все ошибки по мере их записи в Log Analytics.Затем мы можем поймать их по отдельности и начать рассмотрение каждого из них, основываясь на электронном письме, которое уже содержит всю необходимую информацию.

Пожалуйста, не стесняйтесь улучшить вопрос, поскольку я ненашел что-нибудь еще по этому вопросу.

1 Ответ

0 голосов
/ 07 января 2019

это хороший момент!AFAIK формат почтового оповещения в соответствии с дизайном.Если вы ищете динамический почтовый формат при создании оповещения, пожалуйста, не стесняйтесь оставить отзыв в https://feedback.azure.com/forums/267889-log-analytics.

. Временное решение может быть следующим: https://flow.microsoft.com/en-us/galleries/public/templates/fca567e3bc4b47398fa9580e7ea25614/receive-monitoring-alert-emails-based-on-azure-kusto-telemetry/

И я бы изменил видение (в псевдо) для журналов AzureDiagnostics, как показано ниже.

if (Level = "Error") {
ConfigureMailBodyWithLogicAppOrFunctionAppOrRunbook (Level,ResultDescription,ResultType,Status,TimeGenerated,ErrorCode,ErrorMessage, etc.);
ConfigureAlertWithActionGroupEitherLogicAppOrFunctionAppOrRunbookActionType();
}

Таким образом, вместо «электронной почты» в качестве типа действия можно использовать приложение логики типов действий, приложение функций или книгу запусков и попытаться получить динамическую почту.тело отформатировано внутри них.Для получения справки, пожалуйста, проверьте https://docs.microsoft.com/en-us/azure/azure-monitor/platform/action-groups-logic-app

ИЛИ другим, более простым способом, вы можете попытаться сделать запрос более детальным, чтобы получить шаблонную ошибку и затем создать соответствующее предупреждение для нее.Например, чтобы получить электронное письмо с предупреждением, если какая-либо служба SQL остановлена, используйте запрос ниже.

Event
| where (EventLog == "System")
| where (RenderedDescription has "sql" and RenderedDescription has "stopped")

Например, связанный с журналами AzureDiagnostics для вашей области обслуживания, вы можете проверить, есть ли какое-либо свойство AzureDiagnostics вподробное описание ошибки, а затем запрос с этими свойствами.Список всех возможных свойств для журналов AzureDiagnostics приведен в разделе «Схемы служб для журналов диагностики ресурсов» здесь -> https://docs.microsoft.com/en-us/azure/azure-monitor/platform/tutorial-dashboards. Надеюсь, это поможет !!

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