【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



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

相关文章
|
2月前
|
存储 数据采集 弹性计算
面向多租户云的 IO 智能诊断:从异常发现到分钟级定位
当 iowait 暴涨、IO 延迟飙升时,你是否还在手忙脚乱翻日志?阿里云 IO 一键诊断基于动态阈值模型与智能采集机制,实现异常秒级感知、现场自动抓取、根因结构化输出,让每一次 IO 波动都有据可查,真正实现从“被动响应”到“主动洞察”的跃迁。
361 64
|
2月前
|
人工智能 应用服务中间件 API
刚刚,阿里云上线Clawdbot全套云服务!
阿里云上线Moltbot(原Clawdbot)全套云服务,支持轻量服务器/无影云电脑一键部署,可调用百炼平台百余款千问模型,打通iMessage与钉钉消息通道,打造开箱即用的AI智能体助手。
4743 40
刚刚,阿里云上线Clawdbot全套云服务!
|
2月前
|
人工智能 自然语言处理 运维
阿里开源 Assistant Agent,助力企业快速构建答疑、诊断智能助手
一款快速构建智能客服、诊断助手、运维助手、AIOps 的开源框架。
852 62
|
1月前
|
人工智能 API Docker
OpenClaw 用户部署和使用指南汇总
本文档为OpenClaw(原MoltBot)官方使用指南,涵盖一键部署(阿里云轻量服务器年仅68元)、钉钉/飞书/企微等多平台AI员工搭建、典型场景实践及高频问题FAQ。同步更新产品化修复进展,助力用户高效落地7×24小时主动执行AI助手。
10067 51
|
7天前
|
JavaScript 搜索推荐 前端开发
从提示工程转向 上下文工程,6种让LLM在生产环境中稳定输出的技术
本文系统阐述“上下文工程”(Context Engineering)——生产级AI系统的核心能力。它不依赖提示词优化,而是通过选择性检索、上下文压缩、层次化布局、动态查询重构、记忆注入与工具感知六大技术,精准控制模型在运行时“看到什么、何时看、如何看”,从而根治幻觉、提升准确率、降低Token消耗,让小模型也能稳定输出高质量结果。
126 16
从提示工程转向 上下文工程,6种让LLM在生产环境中稳定输出的技术
|
9天前
|
人工智能 安全 应用服务中间件
Docker OpenClaw 生产环境部署指南(单机架构版)
OpenClaw是2026年爆火的开源AI执行引擎,由PSPDFKit创始人Peter Steinberger主导开发。它不是聊天机器人,而是本地运行、可自托管的“数字员工”,支持自然语言指令驱动全流程任务执行,兼容主流大模型与通讯平台,MIT协议开源。
535 4
|
1月前
|
JSON Java 数据格式
Feign 复杂对象参数传递避坑指南:从报错到优雅落地
本文深入剖析了SpringCloud Feign在复杂对象参数传递中的常见问题及解决方案。文章首先分析了GET请求传递复杂对象失败的底层原因,包括HTTP规范约束和Feign参数解析逻辑。针对GET场景,提供了四种解决方案:@SpringQueryMap(首选)、手动拆分属性+@RequestParam、MultiValueMap封装和自定义FeignEncoder,详细比较了各方案的优缺点和适用场景。对于POST场景,推荐使用@RequestBody注解传递JSON请求体。
409 6
|
2月前
|
人工智能 缓存 安全
探秘 AgentRun丨动态下发+权限隔离,重构 AI Agent 安全体系
函数计算AgentRun提供双向凭证管理:入站控制“谁可调用”,出站保障“调用谁”的安全。支持动态更新、加密存储、本地缓存与自动注入,杜绝硬编码与泄露风险,无需重启服务。让开发者专注业务,安心落地AI Agent。