应用监控eBPF版运行环境:麻烦帮忙看一下我这边需要怎么处理?

应用监控eBPF版运行环境:阿里云ACK集群
目标:通过ARMS对JAVA和PHP应用进行监控及链路追踪
现状:以“Java 应用监控”方式添加集群应用,可以正常监控

问题:用eBPF方式集成Java应用和PHP应用,都没有数据进来,麻烦帮忙看一下我这边需要怎么处理
1.ARMS接入的JAVA应用appid:ajq1957mv8%40076a672431243eb
2.ARMS接入的PHP应用appid:ajq1957mv8%40e24689776d4e7bc

展开
收起
真的很搞笑 2024-03-11 20:17:10 47 分享 版权
阿里云 AI 助理回答

问题分析与解决步骤

根据您提供的信息,您已经通过“Java 应用监控”方式成功接入了集群应用,并能够正常监控。但在尝试使用 eBPF 方式集成 Java 和 PHP 应用时,未见数据进入。以下是针对该问题的详细分析和解决步骤。


1. 确认运行环境是否符合要求

在使用 eBPF 版进行监控时,首先需要确保运行环境满足以下条件:

Kubernetes 集群要求:

  • 版本:Kubernetes 集群版本需为 v1.20 或以上
  • 支持的集群类型
    • 阿里云 ACK 集群(Serverless 集群暂不支持)。
    • 自建 Kubernetes 集群。
    • 其他 Kubernetes 集群(CentOS 集群暂不支持)。

节点要求:

  • 架构:x86-64。
  • 内存:建议 ≥ 4 GB,至少预留 300 MB。
  • CPU:建议 ≥ 2 Core,至少预留 0.3 Core。
  • 内核版本:≥ 4.9。
  • 操作系统
    • 支持的操作系统包括 Alibaba Cloud Linux 2、Alibaba Cloud Linux 3。
    • 对于其他操作系统,执行以下命令检查是否支持:
    cat /boot/config-$(uname -r) | grep CONFIG_DEBUG_INFO_BTF
    

    如果输出 CONFIG_DEBUG_INFO_BTF=y,则表示支持;否则不支持。

网络协议支持:

  • eBPF 版支持的网络协议包括 HTTP1.1、MySQL、Redis、Kafka 和 DNS。请确认您的 Java 和 PHP 应用使用的协议在支持范围内。

操作建议: - 检查 Kubernetes 集群版本、节点配置和操作系统是否符合上述要求。 - 如果不符合,请升级或调整环境以满足要求。


2. 检查 ARMS Addon Token 和权限配置

在安装 eBPF 组件前,需要确保目标集群已正确配置 ARMS Addon Token 和相关权限。

检查 ARMS Addon Token:

  1. 登录容器服务管理控制台。
  2. 集群列表 页面,单击目标集群名称进入集群详情页。
  3. 在左侧导航栏选择 配置管理 > 保密字典,然后在顶部选择 命名空间kube-system,查看是否存在 addon.arms.token

手动添加权限策略(如无 ARMS Addon Token):

  1. 登录容器服务管理控制台,在 集群列表 页面单击目标集群名称。
  2. 集群信息 > 基本信息 页签的 集群资源 区域,单击 Worker RAM 角色 右侧的链接。
  3. 权限管理 页签单击 新增授权
  4. 添加以下两个权限策略:
    • AliyunTracingAnalysisFullAccess:可观测链路 OpenTelemetry 版的完整权限。
    • AliyunARMSFullAccess:ARMS 的完整权限。

操作建议: - 确保目标集群已正确配置 ARMS Addon Token 或手动添加了所需权限。


3. 安装和升级 eBPF 组件

确保目标集群已正确安装并升级到最新版本的 eBPF 组件。

安装步骤:

  1. 登录容器服务管理控制台,在 集群列表 页面单击目标集群名称。
  2. 在左侧导航栏选择 运维管理 > 集群拓扑
  3. 在集群拓扑页面,单击 开始安装。ACK 控制台将自动安装 eBPF 组件。

升级组件(如已安装旧版本):

  1. 运维管理 > 组件管理 页面,确认 ack-arms-cmonitor 组件版本是否为 4.0.0 或以上
  2. 如果版本低于 4.0.0,请单击 升级 将组件升级至最新版本。

更新 AK/SK 配置(专有版集群):

  1. 在左侧导航栏选择 应用 > Helm
  2. arms-cmonitor 右侧单击 更新,修改 accessKeyaccessKeySecret 为阿里云账号的 AccessKey ID 和 AccessKey Secret。
  3. 确保对应的阿里云账号已包含以下权限:
    • AliyunARMSFullAccess
    • AliyunSTSAssumeRoleAccess

操作建议: - 确保 eBPF 组件已正确安装并升级到最新版本。 - 对于专有版集群,务必更新 AK/SK 配置。


4. 检查应用监控配置

在 eBPF 方式下,Java 和 PHP 应用的监控依赖于网络流量捕获和协议解析。请确认以下配置是否正确:

Java 应用:

  • 确保 Java 应用的网络通信协议为 HTTP1.1 或其他支持的协议。
  • 检查 Java 应用是否启用了必要的网络监听端口。

PHP 应用:

  • 确保 PHP 应用的网络通信协议为 HTTP1.1 或其他支持的协议。
  • 检查 PHP 应用是否启用了必要的网络监听端口。

操作建议: - 使用工具(如 tcpdumpnetstat)检查 Java 和 PHP 应用的网络流量是否正常。 - 确保应用的网络通信协议在 eBPF 支持范围内。


5. 检查日志和事件

如果上述步骤均已完成但仍未见数据进入,可以通过以下方式排查问题:

查看日志:

  1. 登录 ARMS 控制台,进入目标应用的监控页面。
  2. 查看 日志事件,确认是否有错误信息或异常提示。

联系技术支持:

  • 如果问题仍未解决,请联系应用监控 eBPF 版答疑钉钉群(群号:35568145)获取帮助。

总结

请按照以下步骤逐一排查问题: 1. 确认运行环境是否符合要求。 2. 检查 ARMS Addon Token 和权限配置。 3. 安装和升级 eBPF 组件。 4. 检查 Java 和 PHP 应用的网络通信协议和监听端口。 5. 查看日志和事件,必要时联系技术支持。

希望以上步骤能帮助您解决问题!

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

云原生可观测基于Prometheus、Grafana 、OpenTelemetry 等核心产品, 形成指标、链路存储分析、异构数据源集成的数据层, 通过标准PromQL和SQL提供大盘展示、告警与探索能力。

还有其他疑问?
咨询AI助理