阿里云应用监控 eBPF 版是一套针对Kubernetes集群开发的一站式可观测性产品。安装应用监控 eBPF 版组件后,即可查看基于Kubernetes集群下的指标、应用链路、日志和事件。
前提条件
已创建容器服务Kubernetes集群。具体操作,请参见创建ACK托管集群。
已开通ARMS。具体操作,请参见开通ARMS。
已确认当前环境支持应用监控 eBPF 版运行。更多信息,请参见应用监控 eBPF 版运行环境要求和限制。
背景信息
Kubernetes中的业务是运行在节点组成的资源池上,使得定位Pod的调用链路以及拓扑关系非常复杂。那么如何以可视化的方式监控Kubernetes中的负载状态,以及更好地可视化集群中流量的吞吐是非常重要的问题。应用监控 eBPF 版通过eBPF无侵入地获取容器RED性能数据,快速发现目标容器和关联Pod存在的性能问题。同时应用监控 eBPF 版会自动关联对应的Service和Controller Workload(Deployment、StatefulSet和Daemonset)资源,进一步缩短发现问题的时间。更多信息,请参见什么是阿里云应用监控 eBPF 版。
接入说明
为Kubernetes集群安装以下监控组件即可将集群接入应用监控 eBPF 版:
Prometheus监控组件:ack-arms-prometheus
说明应用监控 eBPF 版的指标类数据依赖Prometheus监控,因此您需要先安装Prometheus监控组件。
应用监控 eBPF 版组件:ack-arms-cmonitor
安装Kubernetes组件ack-arms-cmonitor前,需先检查目标集群是否存在ARMS Addon Token,否则会出现权限不足的报错。若存在ARMS Addon Token,ARMS会进行免密授权,组件安装完成后,即可使用应用监控 eBPF 版;若不存在ARMS Addon Token,则需要手动添加ARMS和链路追踪权限策略。
查看ARMS Addon Token和手动添加权限策略的方法如下:
查看集群是否存在ARMS Addon Token
登录容器服务管理控制台,在左侧导航栏选择集群。
在集群列表页面,单击目标集群名称,然后在左侧导航栏,选择 。
在保密字典页面顶部选择命名空间为kube-system,查看addon.arms.token是否存在。
手动添加ARMS和链路追踪权限策略
登录容器服务管理控制台,在左侧导航栏选择集群。
在集群列表页面,单击目标集群名称,然后在左侧导航栏,选择集群信息。
在集群信息页面,单击基本信息页签,然后单击Worker RAM 角色右侧链接。
在角色页面的权限管理页签下,单击新增授权。
在新增授权面板的权限策略区域,通过关键字搜索以下两个权限策略,并单击权限策略将其添加至右侧的已选择列表中,然后根据页面提示完成新增授权。
AliyunTracingAnalysisFullAccess:链路追踪的完整权限。
AliyunARMSFullAccess:ARMS的完整权限。
说明ACK托管集群:对于部分ACK托管集群,可能存在没有ARMS Addon Token的情况,因此建议首先检查ARMS Addon Token是否存在。若不存在,仍需进行手动授权。
ACK专有版集群:默认不支持ARMS Addon Token,需进行手动授权。
ACK注册集群:默认不支持ARMS Addon Token,需进行手动授权。由于注册集群没有Worker RAM角色,无法通过Worker RAM角色手动添加ARMS和链接追踪的权限策略,因此,注册集群安装应用监控 eBPF 版组件ack-arms-cmonitor的操作,请参见注册集群安装Kubernetes监控组件。
接入应用至应用监控 eBPF 版
手动接入
为已有应用安装组件
如果您的应用已安装过应用监控 eBPF 版组件,请在容器服务管理控制台目标集群下的 页面确认ack-arms-cmonitor组件版本是否为4.0.0或以上,如果不是,请单击升级将组件升级至最新版本。
登录容器服务管理控制台,在集群列表页面单击目标集群名称。
在左侧导航栏,选择运维管理 > 集群拓扑。
在集群拓扑页面,单击开始安装。ACK控制台将会为您自动安装应用监控 eBPF 版组件。
说明命名空间默认为arms-prom。
如果是专有版集群,请更新AK/SK配置。
在左侧导航栏,选择
。在arms-cmonitor右侧单击更新,修改
accessKey
和accessKeySecret
为阿里云账号的AccessKey ID和AccessKey Secret。获取方法,请参见获取AccessKey。重要请确认对应的阿里云账号已包含AliyunARMSFullAccess和AliyunSTSAssumeRoleAccess权限。
单击确定。
新建应用时安装组件
登录容器服务管理控制台,在集群列表页面上的目标集群右侧操作列单击应用管理。
在无状态页面右上角单击使用YAML创建资源。
选择示例模板,并在模板(YAML格式)中将以下
labels
添加到spec.template.metadata层级下。labels: armseBPFAutoEnable: "on" armseBPFCreateAppName: "<your-deployment-name>" //请将<your-deployment-name>替换为您的应用名称。
创建一个无状态(Deployment)应用并开启ARMS应用监控 eBPF 版的完整YAML示例模板如下:
自动接入
登录ARMS控制台。
在左侧导航栏单击接入中心,然后在服务端应用区域单击应用监控 eBPF 版卡片。
按照界面指引完成应用监控eBPF版接入。
您可以在接入管理页面查看所有已接入ARMS的应用和组件。
在接入管理页面单击集群名称,可以查看该集群的基本信息、已接入组件、采集指标,并完成指标探索、探针设置等操作。