【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



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

相关文章
|
1月前
|
数据采集 存储 人工智能
阿里云为何要将数据采集开发套件开源
开源 LoongSuite ,成为 AI 可观测体系中的一块通用拼图。
219 25
|
1月前
|
人工智能 自然语言处理 数据可视化
作为一名在读博士生,我在日常是如何与 AI 协作的
本文是一位AI方向博士生的AI协作实践手记:主张“当同事,不当工具”,提出元提示词、苏格拉底追问、多模型协同与经验沉淀四大方法论,覆盖划词问答、文献研读、科研绘图、代码开发等全科研场景,强调人机共生、流程提效与持续进化。
|
1月前
|
人工智能 安全 前端开发
Team 版 OpenClaw:HiClaw 开源,5 分钟完成本地安装
HiClaw 基于 OpenClaw、Higress AI Gateway、Element IM 客户端+Tuwunel IM 服务器(均基于 Matrix 实时通信协议)、MinIO 共享文件系统打造。
9474 23
|
24天前
|
运维 监控 Cloud Native
巨人网络《超自然行动组》携手阿里云打造云原生游戏新范式
通过 ACK(容器服务)、ESS(弹性伸缩)、网络型负载均衡 NLB、OpenKruiseGame(OKG)、SLS(日志服务)、ARMS(应用实时监控服务)、阿里云原生防护(Native Protection),以及云原生数据库 polardb 和 Redis 的深度协同,巨人网络构建了一套高弹性、高可用、低成本、智能化、高安全且高性能数据处理能力的新一代游戏基础设施,为行业树立了云原生落地的标杆。如今,随着日活跃用户(DAU)突破千万大关,这套技术体系,已经成为游戏行业“云原生转型”的标杆案例。
282 15
|
24天前
|
Arthas 运维 监控
线上 JVM 故障秒解:Arthas 高阶用法与全链路定位实战指南
本文介绍阿里巴巴开源的Java诊断工具Arthas在线上JVM故障排查中的核心应用。针对CPU飙高、FullGC频繁、接口超时等常见问题,Arthas提供无需重启服务的热修复能力,包括方法热替换(trace/watch/tt命令)、线程问题定位(thread命令)、内存分析(heapdump)等核心功能。文章通过真实案例演示全链路排查流程,并给出安全使用建议,帮助开发者快速定位和解决线上问题,实现从被动救火到主动定位的转变。Arthas的字节码增强技术可实时监控JVM状态,是提升线上问题排查效率的利器。
294 1
|
1月前
|
人工智能 安全 Serverless
让 AI Agent 安全“跑”在云端:基于函数计算打造 Agent 代码沙箱
Agent 代码沙箱是保障 AI 智能体安全执行的核心基础设施。依托函数计算构建强隔离、有状态、低成本的 AI 运行时。
|
30天前
|
人工智能 JavaScript Shell
AgentRun实践指南:Agent 的宝藏工具—All-In-One Sandbox
AgentRun 推出 All-In-One Sandbox(AIO),一体化集成浏览器、Shell 与代码执行环境,统一文件系统、零配置云上运行。启动快(5秒)、文件访问毫秒级、内存减半,完美支持多步骤自动化、LLM Agent 及人机协同任务。