如何在 Azure Applications Insights 中使用新列而不是跟踪和请求等创建自定义日志?

How to create customized logs with new columns rather than traces and requests etc in Azure Applications Insights?

我们正在创建 POC 以将 Azure Applications Insights 与 WebAPI 应用程序结合使用。

我们已将遥测密钥添加到 webapi,我们可以在 Azure 洞察力跟踪和请求选项卡中看到日志。

但是,我们想做的不是使用 Azure 提供的现有跟踪和请求,而是想创建我们自己的选项卡,比如“OurCustomLog”,我们想创建自己的列,例如 'CreatedDate'、'TransactionId'、'LogDetails'、'StatusCode'、'LoggingApplicationName'、'CallingApplicationName'等,然后我们可以根据例如statusCode或TransactionId等进行过滤

这可以通过 Azure Application Insights 实现吗?或者我们应该使用 Azure 中的其他服务来代替 Azure Insights?

提前谢谢你,

亲切的问候,

这一切皆有可能。我想说最好的办法是根据自己的喜好创建 Azure Monitor Workbooks. Based on the existing logs you can create queries to transform and rename the data. You can add tabs, visualizations and filters

要查看默认工作簿并创建新工作簿,请浏览您的 App Insights 资源和 select Workbooks 类别 Monitoring

左侧菜单中的 select Workbooks

创建查询时,您可以像这样映射列名称:

requests
| project CreatedDate = timestamp

或者您在工作簿中重命名它们。

其他选项是写作和分享custom queries

我最终更改了 Azure App insights Traces 中的查询基于 https://docs.microsoft.com/en-us/azure/data-explorer/kusto/concepts/

你可以这样做,

痕迹 |扩展 d=parse_xml(消息) |扩展 SRID=d.TransactionDetail.SRId、LoggerApplication=d.TransactionDetail.LoggerApplication、LogLevel=d.TransactionDetail.LogLevel、ClientApplicationName=d.TransactionDetail.ClientApplicationName、TrackingKey=d.TransactionDetail.TrackingKey、HostName=d.TransactionDetail.HostName、LogType =d.TransactionDetail.LogType、LogDetails=d.TransactionDetail.LogDetails、CreatedOn=d.TransactionDetail.CreatedOn、TransactionId=d.TransactionDetail.TransactionId |其中 TransactionId == "24b1d5a3-da93-4674-85ea-98adcda1e99f" |项目 LogLevel、LoggerApplication、LogType、LogDetails、CreatedOn、ClientApplicationName、SRID、TransactionId、TrackingKey、HostName

我已经接受了 Peter Bons,因为它是相关的,而且我也可以使用 Azure 工作簿来实现。

非常感谢彼得的意见!