对于部署在容器服务Kubernetes版中的Java应用,您可以使用应用实时监控服务ARMS对其进行监控,实现自动发现应用拓扑、自动生成3D拓扑、自动发现并监控接口、捕获异常事务和慢事务,大幅提升线上问题诊断的效率。
前提条件
已创建Kubernetes集群。具体操作,请参见创建Kubernetes托管版集群或创建Kubernetes专有版集群。
创建命名空间。具体操作,请参见管理命名空间与配额。本文示例中的命名空间为
arms-demo
。检查您的JDK版本。ARMS应用监控支持的JDK版本如下:
JDK 1.7.0+
重要ARMS应用监控将于3.0.X探针版本终止支持Java 7,如果您还在使用Java 7,请尽快升级Java版本。更多信息,请参见ARMS应用监控终止支持Java 7的说明。
JDK 1.8.0_25+
说明Kubernetes集群应用部署建议:JDK 1.8.0_191+。
如果JDK版本为1.8.0_25或者1.8.0_31,可能会出现无法安装探针的情况,请升级至1.8.X最新版本。
JDK 11.0.8+
JDK 17
背景信息
应用实时监控服务ARMS(Application Real-Time Monitoring Service)是一款阿里云应用性能管理(APM)类监控产品。只要为部署在容器服务Kubernetes版中的Java应用安装ARMS应用监控组件,您无需修改任何代码,就能借助ARMS对Java应用进行全方位监控,以便您更快速地定位出错接口和慢接口、重现调用参数、检测内存泄漏、发现系统瓶颈,从而大幅提升线上问题诊断的效率。ARMS应用监控的详细信息请参见什么是应用监控。
步骤一:安装ARMS应用监控组件
ACK旧版应用监控组件arms-pilot已不再维护,您可以安装升级后的ack-onepilot组件用于监控您的应用,ack-onepilot完全兼容arms-pilot,您无需修改应用配置即可无缝接入ack-onepilot。更多信息,请参见如何安装ack-onepilot和卸载arms-pilot。
登录容器服务管理控制台。
在左侧导航栏单击集群,然后在集群列表页面单击目标集群名称。
在左侧导航栏选择 ,然后在右上角通过关键字搜索ack-onepilot。
在ack-onepilot卡片上单击安装。
说明ack-onepilot组件默认支持1000个pod规模,集群pod每超过1000个,ack-onepilot资源对应的CPU请增加0.5核、内存请增加512 M。
在弹出的页面中可以配置相关的参数,建议使用默认值,单击确定。
说明安装完成后,您可以在组件管理页面升级、配置或卸载ack-onepilot组件。
步骤二:授予ARMS资源的访问权限
如果需监控ASK(容器服务Serverless版)或对接了ECI的集群应用,请在云资源访问授权页面完成授权,然后重启ack-onepilot组件下的所有Pod。
如果需监控ACK集群应用,但ACK集群中不存在ARMS Addon Token,请执行以下操作手动为集群授予ARMS资源的访问权限。
说明集群存在ARMS Addon Token时,ARMS会进行免密授权。Kubernetes托管版集群默认存在ARMS Addon Token,但对于部分早期创建的Kubernetes托管版集群,可能会存在没有ARMS Addon Token的情况,因此,对于Kubernetes托管版集群,建议首先检查ARMS Addon Token是否存在。若不存在,需进行手动授权。
登录容器服务管理控制台。
在左侧导航栏选择集群,然后单击目标集群名称。
在目标集群的集群信息页面上单击集群资源页签,然后单击Worker RAM角色右侧的链接。
在角色页面的权限管理页签上,单击新增授权。
选择权限为AliyunARMSFullAccess,然后单击确定。
步骤三:为Java应用开启ARMS应用监控
如需在创建新应用的同时开启ARMS应用监控,请完成以下操作。
登录容器服务管理控制台,在左侧导航栏选择集群。
在集群列表页面,单击目标集群名称,然后在左侧导航栏,选择 。
在无状态页面右上角单击使用YAML创建资源。
选择示例模板,并在模板(YAML格式)中将以下
labels
添加到spec.template.metadata层级下。labels: armsPilotAutoEnable: "on" armsPilotCreateAppName: "<your-deployment-name>" #请将<your-deployment-name>替换为您的应用名称。 armsSecAutoEnable: "on" #如果需要接入应用安全,则需要配置此参数。
创建一个无状态(Deployment)应用并开启ARMS应用监控的完整YAML示例模板如下:
执行结果
在无状态页面上,目标应用的操作列将出现ARMS控制台按钮。
后续步骤
完成上述步骤后,您就为部署在容器服务Kubernetes版中的应用开启了ARMS应用监控。在目标应用的操作列中单击ARMS控制台,将进入ARMS控制台的应用监控页面。更多信息,请参见应用总览。