开发者社区 问答 正文

arthas 在K8s项目中是怎么使用的呢,有范例吗?

arthas 在K8s项目中是怎么使用的呢,有范例吗?

展开
收起
aoxunb4t7tn3w 2022-05-27 17:09:19 1138 分享 版权
阿里云 AI 助理回答

在Kubernetes (K8s)项目中使用Arthas进行Java应用诊断的步骤如下:

开通与配置

  1. 前提条件确认

    • 确保您已拥有阿里云账号并完成实名认证。
    • 应用需为Java语言编写,且ARMS Agent版本需达到v2.7.1.3或以上。
    • 应用已接入应用监控服务。
  2. 开通Arthas诊断功能

    • 登录ARMS控制台,导航至应用监控 > 应用列表
    • 选择目标地域和应用,进入应用设置 > 自定义配置页签。
    • Arthas监控区域,开启Arthas开关,可选配置仅对特定IP进行诊断,并添加目标IP。
    • 保存配置。

查看与分析

  1. 访问Arthas诊断信息

    • 进入EDAS控制台,通过应用管理 > 应用列表找到您的K8s集群应用。
    • 选择应用实例,在监控 > 应用诊断-Arthas诊断页面查看诊断信息。
    • 若Agent版本未达标,先行升级以获取数据。
  2. 利用Arthas功能

    • JVM概览:查看内存、操作系统信息及变量状态,了解JVM整体状况。
    • 线程耗时分析:识别高CPU占用线程,通过堆栈信息定位问题。
    • 方法执行分析:抓取方法调用详情,包括耗时、参数和返回值,快速定位慢调用。
    • 对象查看器:检查单例对象状态,辅助排查应用异常。
    • 实时看板:监控关键组件状态,如数据库连接池使用情况。
    • 性能分析:生成火焰图分析CPU和内存分配,定位性能瓶颈。
    • Arthas Shell:通过命令行自定义诊断任务,实现高级功能和灵活性。

排障实践

  • 对于故障Pod,直接使用Arthas进行问题定位,特别是Java应用,可以深入到代码级别进行诊断。

注意事项

  • 确认VPC网络出方向80和8848端口开放,以及探针日志中是否有Arthas相关启动信息,确保数据收集正常。
  • 在应用变更或排障过程中,合理利用Arthas提供的丰富工具集,结合K8s平台特性,有效提升问题解决效率。

综上所述,Arthas在K8s项目中的应用主要围绕其强大的诊断能力展开,从基础配置到深入问题分析,全方位支持Java应用的运维与优化。

有帮助
无帮助
AI 助理回答生成答案可能存在不准确,仅供参考
0 条回答
写回答
取消 提交回答