Azure Application Insights警报是否可以触发另一个功能?

Kuc*_*czi 6 azure azure-application-insights azure-logic-apps azure-functions

我想使用Application Insights来监控链接多个Azure功能的逻辑应用程序.我希望链尽可能安全,如果出现问题,我想让http请求无法被函数正确处理.我想我可以在出现问题时从Application Insights发出警报,但是我不确定如何将失败的消息发送到blob或"失败的消息队列"中.

Application Insights Alert是否可以成为将数据添加到blob的函数的触发器?

Jan*_*neP 2

可以从“警报”边栏选项卡定义具有功能触发操作类型的操作组。从下图可以看出,该功能无法启用App Service Auth。

在此输入图像描述

您还可以通过在 Analytics 中创建的自定义查询发出警报。例如,搜索过去一小时内包含单词“Error”的所有跟踪日志:

traces |
where message contains "Error" and timestamp >= ago(1h)
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

保存查询并创建新的警报规则,然后使用该查询作为警报条件。

在您的函数中访问事件内容:

HttpRequestMessageFeature feature = new HttpRequestMessageFeature(request.HttpContext);
HttpRequestMessage req = feature.HttpRequestMessage;

var content = await req.Content.ReadAsStringAsync();
Run Code Online (Sandbox Code Playgroud)

然后使用WindowsAzure.StorageSDK将内容推送到blob。

var blobClient = storageAccount.CreateCloudBlobClient();
var container = blobClient.GetContainerReference(containerName);

var blockBlob = container.GetBlockBlobReference(fileName);
await blockBlob.UploadTextAsync(content).ConfigureAwait(false);
Run Code Online (Sandbox Code Playgroud)