【应用服务 App Service】App Service中抓取网络日志

简介: 【应用服务 App Service】App Service中抓取网络日志

问题描述

众所周知,Azure App Service是一种PaaS服务,也就是说,IaaS层面的所有内容都由平台维护,所以使用App Service的我们根本无法触碰到远行程序的虚拟机(VM), 所以当遇见一些实例级的问题时,可谓一点办法也没有。 这时,一些Azure提供的排查工具就非常有用,如在App Service for Windows的情况下,我们可以通过Kudu工具进行文件管理,如下载日志,修改web.config配置,运行抓取DUMP的命令(或查看进行直接抓取DUMP,详见:(【应用服务 App Service】快速获取DUMP文件(App Service for Windows(.NET/.NET Core)))。

但是,当我们发现通过App Service调用其他的请求时,需要调查网络丢包请求没有响应,或是需要查看请求的Header时,则需要在实例中抓取网络包(当问题正在发生时抓取)-- 在PowerShell中通过ArmClient向App Service发送抓包请求,然后通过Kudu链接到logfiles\networktrace目录下下载网络包

准备条件

  • PowerShell使用管理员方式打开
  • 登录App Service Kudu管理页面 (Azure App Service --> Advanced Tools --> Go)
  • 准备号App Service的资源ID (Azure App Service --> Properties --> Resource ID)

执行步骤

一:安装 ArmClient 工具

  1. 打开 PowerShell (管理员权限)
  2. 安装 chocolatey, 命令为: iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))
  3. 安装 armclient 工具,命令为: choco install armclient

二:使用 Azure 账号登陆 ARMClient

armclient.exe login Mooncake


注:当使用中国区的Azure时候,才需要加入Mooncake参数。

三:抓取网络日志

armclient.exe POST "/subscriptions/<sub>/resourceGroups/<RG>/providers/Microsoft.Web/sites/<site>/networkTrace/start?duration=<seconds>&api-version=2015-06-01"


使用App Serivce中Resource ID中的Sub,RG,Site等替换后,直接再PowerShell中运行以上命令。

注:duration(最大设置为 300,目前只允许抓取最长 5 分钟的网络包)

:当第一次Post请求没有完成前,如果你再次发送请求则会返回Error Message, BadRequest.

当抓取成功后,可以再Kudu站点的\home\logfiles\networktrace 下载网络包

分析网络举例

从App Service Kudu中 \home\logfiles\networktrace 下载网络压缩包解压后。使用Wireshark分析,如下图中我们可以查看的信息有(如使用HTTPS加密传输,则需要解密才可查看)

  • 请求的URL
  • 请求的类型,如GET, POST等
  • 请求中所携带的Header键值
  • Response的状态等
  • 还有也可以分析TCP级的ACK,FIN等

 

参考资料

如何在 Web 应用实例上住抓取网络日志: https://docs.azure.cn/zh-cn/articles/azure-operations-guide/app-service-web/aog-web-apps-howto-crawl-log

快速获取DUMP文件: https://www.cnblogs.com/lulight/p/13574331.html

相关文章
|
12月前
|
数据采集 Web App开发 JavaScript
基于Selenium的Python爬虫抓取动态App图片
基于Selenium的Python爬虫抓取动态App图片
917 68
|
10月前
高性能网络库设计之日志组件
高性能网络库设计之日志组件
263 2
|
存储 Windows
【Azure Cloud Service】微软云服务上的日志收集方法
本文介绍了在使用微软云服务(Cloud Service Extended Support)时,如何收集日志以分析未记录在应用日志中的服务异常。由于云服务基于传统虚拟机模式,需通过远程桌面登录实例,查看IIS、Windows Event及云服务组件日志(如WindowsAzureGuestAgent)。此外,可使用CollectGuestLogs.exe工具打包日志,或通过“File Server Resource Manager”检查日志存储配额是否不足。附参考文档链接供深入学习。
402 29
|
10月前
|
存储
WGLOG日志管理系统可以采集网络设备的日志吗
WGLOG日志审计系统提供开放接口,支持外部获取日志内容后发送至该接口,实现日志的存储与分析。详情请访问:https://www.wgstart.com/wglog/docs9.html
|
存储 运维 监控
为什么网络日志如此重要?
日志审计是网络安全的重要组成部分,通过分析网络日志,可快速定位故障、解决危机并提升系统安全性。网络日志记录了文件访问、用户登录等详细信息,甚至受某些法规约束需包含额外数据。日志审计无法被绕过,其在检测安全漏洞、法律取证和员工行为监控中作用显著。推荐一款工具EventLogAnalyzer,具备日志采集、分类存储、事件报警等功能,满足企业需求。购买时需注意品牌、功能及试用期,以选择最适合的产品。
502 11
|
11月前
|
数据采集 人工智能 运维
甭再盯死日志了,AI已经悄悄替你盯着网络流量了
甭再盯死日志了,AI已经悄悄替你盯着网络流量了
568 0
|
存储 监控 API
【Azure App Service】分享使用Python Code获取App Service的服务器日志记录管理配置信息
本文介绍了如何通过Python代码获取App Service中“Web服务器日志记录”的配置状态。借助`azure-mgmt-web` SDK,可通过初始化`WebSiteManagementClient`对象、调用`get_configuration`方法来查看`http_logging_enabled`的值,从而判断日志记录是否启用及存储方式(关闭、存储或文件系统)。示例代码详细展示了实现步骤,并附有执行结果与官方文档参考链接,帮助开发者快速定位和解决问题。
354 22
|
11月前
|
监控 安全 Linux
AWK在网络安全中的高效应用:从日志分析到威胁狩猎
本文深入探讨AWK在网络安全中的高效应用,涵盖日志分析、威胁狩猎及应急响应等场景。通过实战技巧,助力安全工程师将日志分析效率提升3倍以上,构建轻量级监控方案。文章详解AWK核心语法与网络安全专用技巧,如时间范围分析、多条件过滤和数据脱敏,并提供性能优化与工具集成方案。掌握AWK,让安全工作事半功倍!
422 0
|
API 开发工具 Python
|
监控 Shell Linux
Android调试终极指南:ADB安装+多设备连接+ANR日志抓取全流程解析,覆盖环境变量配置/多设备调试/ANR日志分析全流程,附Win/Mac/Linux三平台解决方案
ADB(Android Debug Bridge)是安卓开发中的重要工具,用于连接电脑与安卓设备,实现文件传输、应用管理、日志抓取等功能。本文介绍了 ADB 的基本概念、安装配置及常用命令。包括:1) 基本命令如 `adb version` 和 `adb devices`;2) 权限操作如 `adb root` 和 `adb shell`;3) APK 操作如安装、卸载应用;4) 文件传输如 `adb push` 和 `adb pull`;5) 日志记录如 `adb logcat`;6) 系统信息获取如屏幕截图和录屏。通过这些功能,用户可高效调试和管理安卓设备。

热门文章

最新文章