zoukankan      html  css  js  c++  java
  • 【应用服务 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 etworktrace目录下下载网络包

    准备条件

    • 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站点的homelogfiles etworktrace 下载网络包

    分析网络举例

    从App Service Kudu中 homelogfiles etworktrace 下载网络压缩包解压后。使用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

  • 相关阅读:
    VOIP开源项目源码地址(一)
    iptables下udp穿越实用篇
    function socket about http://net.pku.edu.cn/~yhf/linux_c/function/14.html
    IOKE的SIP协议专栏
    XviD core API overview: Decoding
    Socket about
    sql海量数据优化
    Socket、多线程、消息队列、共享资源并发下的性能研究
    【转】SQL 索引理解
    SQL 索引理解
  • 原文地址:https://www.cnblogs.com/lulight/p/13828474.html
Copyright © 2011-2022 走看看