【Azure Container App】Debug Console的调试工具试验(一)-- iputils / net-tools / procps

简介: 在使用 Azure Container Apps 时,很多问题只在生产环境出现:应用无法访问外部服务、端口监听异常、CPU 飙高却找不到原因。当你进入 Debug Console 后,真正能用的工具到底有哪些?这些工具又该在什么场景下使用?本系列文章将对 Debug Console 中预装的调试工具进行逐一实测,帮你在没有 SSH、没有 VM、没有 kubectl 的情况下完成有效排障。

在文章“【Azure Container App】Debug Console的调试工具指南”中,介绍了12种Azure Contianer App Debug Console模式下预装的调试工具。

接下来,将分为多次一一试验这些工具。 本文从试验  iputils / net-tools / procps  这三种工具包开始 。

1. iputils - 网络连通性测试工具

iputils 是 Linux 系统中用于测试网络连通性的基础工具包,在网络故障排查中扮演着不可或缺的角色。

该工具包主要提供 pingarpingtracepath 三个核心命令,分别用于测试 ICMP 层连通性、ARP 层连通性和网络路径追踪。

在容器环境中,网络问题是最常见的故障类型之一。

  • 当你的应用无法访问外部服务时,第一步通常是使用 ping 命令验证基本的网络连通性。
  • ping 通过发送 ICMP Echo Request 数据包并等待 Echo Reply 响应,可以快速判断目标主机是否可达以及网络延迟情况。

需要特别注意的是,iputils 包不包含 ip 命令。很多工程师容易混淆这一点,因为包名中包含 "ip" 字样。实际上,ip addrip route 等命令来自 iproute2 包,需要单独安装。

如果你需要使用这些命令,可以通过 tdnf install -y iproute 进行安装。

作为替代方案,Debug Console 预装的 net-tools 包提供了功能相似的传统命令:ifconfig 对应 ip addrroute -n 对应 ip route

试验指令:

# 测试主机连通性
ping -c 4 portal.azure.cn
# 持续 ping 并限制次数
ping -c 10 -i 0.5 target-host
# ARP 层测试(同网段)
arping -c 3 10.0.0.1
# 追踪网络路径
tracepath portal.azure.cn
# 使用 IPv6 ping
ping6 -c 4 ipv6.example.com

效果截图:

如果需要使用ip指令,请先安装 iproute 包:


# 安装 iproute2 包
tdnf install -y iproute
# 然后即可使用
ip addr show
ip route show
ip neigh show

 

2. net-tools - 经典网络工具集

net-tools 是 Linux 系统中历史最悠久的网络工具包之一,包含了 netstatifconfigroutearp 等经典命令。

虽然这些工具在技术上已被 iproute2 套件取代,但由于其简洁直观的输出格式和广泛的使用基础,至今仍是许多系统管理员的首选工具。

在容器故障排查中,netstat 是使用频率最高的命令之一。

它能够显示网络连接状态、路由表、接口统计等关键信息。

通过 netstat -tlnp 可以快速查看容器内所有监听的 TCP 端口,这对于验证应用是否正确启动并监听预期端口至关重要。

netstat -ant 则显示所有 TCP 连接的状态,帮助你分析连接数量和状态分布。

ifconfig 命令用于查看和配置网络接口,在 Debug Console 中主要用于查看容器的 IP 地址、子网掩码、MAC 地址等网络配置信息。当你需要确认容器是否获得了正确的 IP 地址,或者检查网络接口是否正常工作时,ifconfig 是最直接的工具。

route 命令用于查看和管理路由表。在容器环境中,路由配置决定了流量如何被转发。通过 route -n(-n 参数避免 DNS 解析,加快输出速度)可以查看默认网关和路由规则,这对于排查"容器能访问同网段但无法访问外部网络"等问题非常有帮助。

 

试验指令:

# 查看所有监听的端口
netstat -tlnp
# 查看所有 TCP 连接状态
netstat -ant
# 查看网络接口信息
ifconfig
# 统计各状态的连接数
netstat -ant | awk '{print $6}' | sort | uniq -c
# 查看路由表
route -n

效果截图:

3. procps - 进程监控专家

procps 是一组用于监控系统进程和资源使用情况的核心工具包,包含了 pstopfreevmstatpgreppkill 等经典命令。

这些工具通过读取 /proc 文件系统获取内核提供的进程和系统信息,是性能调优和故障排查的必备工具。

ps 命令用于显示当前进程的快照。

在容器环境中,ps auxf 是最常用的组合:

  • a 显示所有用户的进程,
  • u 显示详细信息(用户、CPU、内存等),
  • x 包括没有控制终端的进程,
  • f 以树状格式显示进程关系。

通过这个命令可以快速了解容器内运行了哪些进程,以及它们之间的父子关系。

top 命令提供实时的进程监控视图,是排查 CPU 和内存问题的首选工具。

它会持续刷新显示系统负载、CPU 使用率、内存使用情况以及各进程的资源消耗。

在 Debug Console 中,可以使用 top 然后按 P 键按 CPU 排序,或按 M 键按内存排序,快速定位资源消耗最大的进程。

free 命令显示系统内存使用情况,包括物理内存、交换空间、缓冲区和缓存的使用量。

free -h 以人类可读的格式(KB、MB、GB)显示结果,便于快速判断内存是否紧张。

在容器环境中,了解内存使用情况对于设置合理的资源限制至关重要。

vmstat 命令提供虚拟内存、进程、CPU 活动的统计信息。

通过 vmstat 1 5(每秒采样一次,共 5 次)可以观察系统资源使用的变化趋势,这对于判断是突发性负载还是持续性问题非常有帮助。

试验指令:

# 查看所有进程(树状显示)
ps auxf
# 查看内存使用情况
free -h
# 查看虚拟内存统计
vmstat 1 5
# 查看特定进程的详细信息
ps -p <PID> -o pid,ppid,%cpu,%mem,cmd
# 按内存使用排序的进程列表
ps aux --sort=-%mem | head -20

效果截图:

 

 

<第一部分完,请持续关注第二,第三部分,谢谢>

 

 

 

参考资料

Connect to a container debug console in Azure Container Apps :  https://learn.microsoft.com/en-us/azure/container-apps/container-debug-console?tabs=bash#built-in-tools-in-the-debug-console



当在复杂的环境中面临问题,格物之道需:浊而静之徐清,安以动之徐生。 云中,恰是如此!

相关文章
|
30天前
|
人工智能 安全 前端开发
Team 版 OpenClaw:HiClaw 开源,5 分钟完成本地安装
HiClaw 基于 OpenClaw、Higress AI Gateway、Element IM 客户端+Tuwunel IM 服务器(均基于 Matrix 实时通信协议)、MinIO 共享文件系统打造。
9222 22
|
30天前
|
数据采集 存储 人工智能
阿里云为何要将数据采集开发套件开源
开源 LoongSuite ,成为 AI 可观测体系中的一块通用拼图。
202 16
|
30天前
|
人工智能 自然语言处理 数据可视化
作为一名在读博士生,我在日常是如何与 AI 协作的
本文是一位AI方向博士生的AI协作实践手记:主张“当同事,不当工具”,提出元提示词、苏格拉底追问、多模型协同与经验沉淀四大方法论,覆盖划词问答、文献研读、科研绘图、代码开发等全科研场景,强调人机共生、流程提效与持续进化。
|
11天前
|
人工智能 弹性计算 自然语言处理
【手把手教你】阿里云OpenClaw部署实操教程,新手小白也能轻松搞定!
想拥有能自动执行任务、处理文件、联网搜索的AI助手?阿里云OpenClaw一键部署教程来了!全程可视化、零代码,10分钟轻松“养龙虾”——本地优先、支持多模型与IM接入,新手小白也能秒变AI玩家!
394 12
|
29天前
|
人工智能 安全 小程序
阿里云怎样部署CoPaw?2026年保姆级攻略来了!
阿里云怎样部署CoPaw?本文将为大家提供一份2026年最新的阿里云部署CoPaw保姆级攻略,零基础也能快速上手,轻松打造专属AI助理!
2199 12
|
8天前
|
消息中间件 缓存 Go
Go 语言生产环境必备包清单
本文基于2025 Go开发者调查(26%视选包为最大难题),精选多年生产验证的高可靠性第三方库:testify(测试)、zerolog/logrus(日志)、pkg/errors(错误)、lo/decimal(工具)、ristretto/freecache(缓存)、chi/resty(HTTP)、franz-go(Kafka)等,并附选型原则与对比,助你高效构建稳定Go服务。(239字)
|
17天前
|
运维 监控 Cloud Native
巨人网络《超自然行动组》携手阿里云打造云原生游戏新范式
通过 ACK(容器服务)、ESS(弹性伸缩)、网络型负载均衡 NLB、OpenKruiseGame(OKG)、SLS(日志服务)、ARMS(应用实时监控服务)、阿里云原生防护(Native Protection),以及云原生数据库 polardb 和 Redis 的深度协同,巨人网络构建了一套高弹性、高可用、低成本、智能化、高安全且高性能数据处理能力的新一代游戏基础设施,为行业树立了云原生落地的标杆。如今,随着日活跃用户(DAU)突破千万大关,这套技术体系,已经成为游戏行业“云原生转型”的标杆案例。