使用日志分析和 KQL 查询监控 Azure Web App 的 HTTP 流量

问题描述 投票:0回答:1

我在 Azure 中有一个 Azure Web 应用程序。我有一个端点: https://dev-my-app.azurewebsites.net/test

我想查看为此端点完成的所有 http 请求。我读到我可以使用 Log Analytics Workspace (https://learn.microsoft.com/en-us/azure/azure-monitor/logs/log-analytics-workspace-overview) 来实现它。

我已经配置了一个工作区。我还创建了诊断设置,将“HTTP 日志”发送到工作区:

enter image description here

当我进入“日志”并尝试运行查询后

// Client requests per hour 
// Count of client requests hourly. 
AGCAccessLogs
| summarize AggregatedValue = count() by bin(TimeGenerated, 1h), _ResourceId
| render timechart

enter image description here

我收到错误响应:

“汇总”运算符:无法解析名为“AGCAccessLogs”的表或列表达式
请求 ID:1449b704-70bb-4d84-8c00-0d5b086fa637

我的日志分析工作区中似乎不存在

AGCAccessLogs
表。

我还尝试直接从日志分析工作区调用此查询:

enter image description here

为了使此查询正常工作,我缺少什么?还有其他方法可以查看我的网络应用程序的 http 流量吗?

azure httprequest kql azure-log-analytics azure-monitoring
1个回答
2
投票

按照以下步骤在Logs中运行查询。

AGCAccessLogs
| summarize AggregatedValue = count() by bin(TimeGenerated, 1h), _ResourceId
| render timechart
  • 在诊断设置下配置日志记录,以将 Azure 平台指标、资源相关日志和其他活动日志发送到 Azure 日志分析工作区。
  • 导航到
    Azure web App=> Diagnostic Settings=
    选择已配置的 Analytics 工作区。

enter image description here

  • 它会重定向到以下页面,在搜索和分析日志中选择查看日志

enter image description here

  • 它会将您带到日志页面,您可以运行查询来获取所需的日志。

enter image description here

解决方法1:

要获取 Web 应用程序的 Http 日志,请运行

AppServiceHTTPLogs
查询:

enter image description here

解决方法2:

为您的 Web 应用程序配置 Application Insights。 导航到

Azure Web App=> Settings=> Application Insights=> Logs
并运行以下查询以获取 Http 日志:

requests
| where resultCode == 200

enter image description here

© www.soinside.com 2019 - 2024. All rights reserved.