azureazure-functionstcpdumppacket-capture

Azure Functions Collect Network Trace for a Linux app


TL;DR: What can I do to capture packets when the "Collect Network Trace" facility is not available?

I have an Azure Function App running on a linux app service plan, which is seeing some issues with TCP connection resets. To debug the issue I would like to capture network traffic.

I have seen another question on stack overflow which asks this same question. In that case the accepted answer would be ideal (i.e. Diagnose and solve problems --> Diagnostic Tools --> Collect Network Trace --> Choose duration to collect the Network Trace and then click on "Collect Network Trace".)

However, in my case that facility is not available to me:

Azure dashboard showing limited diagnostic tools available

What can I do to capture packets when the packet capture facility is not an option? Is there some context in which I could run tcpdump, for example?


Solution

  • The best solution I could find is to install and run tcpdump using the Web SSH shell in the Azure portal.

    [Development Tools] -> [SSH] -> [Go]

    apt-get update
    apt-get -y install tcpdump
    tcpdump --version
    

    Far from ideal, but at least it's something!