对于部署在容器服务Kubernetes版中的Java及PHP应用,您可以使用应用实时监控服务ARMS对其进行监控,实现自动发现应用拓扑、自动生成3D拓扑、自动发现并监控接口、捕获异常事务和慢事务,大幅提升线上问题诊断的效率。
背景信息
应用实时监控服务ARMS(Application Real-Time Monitoring Service)是一款阿里云应用性能管理(APM)类监控产品。只要为部署在容器服务Kubernetes版中的Java应用安装ARMS应用监控组件,您无需修改任何代码,就能借助ARMS对Java应用进行全方位监控,以便您更快速地定位出错接口和慢接口、重现调用参数、检测内存泄漏、发现系统瓶颈,从而大幅提升线上问题诊断问题的效率。ARMS应用监控的详细信息请参见应用监控概述。
安装ARMS应用监控组件
- 登录容器服务管理控制台。
- 在左侧导航栏选择,在阿里云应用页签下搜索并单击ack-arms-pilot。
- 在应用目录 - ack-arms-pilot页面上,在右侧的创建面板中选择前提条件中创建的集群,并单击创建。
为容器服务Kubernetes版授权
执行以下操作步骤为容器服务Kubernetes版授予ARMS资源的访问权限。
- 使用主账号登录容器服务管理控制台。
- 在控制台左侧导航栏中,单击集群。
- 在集群列表页面中,单击目标集群名称或者目标集群右侧操作列下的详情。
- 在目标集群的信息管理页面上,单击集群资源页签上的Worker RAM角色链接。
- 在RAM访问控制控制台的RAM角色管理页面上,单击权限管理页签上的目标权限策略名称链接。
- 在策略内容页签上单击修改策略内容,并在右侧的修改策略内容面板将以下内容添加到策略内容中,最后单击确认。
{
"Action": "arms:*",
"Resource": "*",
"Effect": "Allow"
}
为Java应用开启ARMS应用监控
以下步骤分别对应创建新应用和已有应用这两种情况。
如需在创建新应用的同时开启ARMS应用监控,请按以下步骤操作:
- 登录容器服务管理控制台。
- 在控制台左侧导航栏中,单击集群。
- 在集群列表页面中,单击目标集群名称或者目标集群右侧操作列下的详情。
- 在集群管理页左侧导航栏中,选择。
- 在无状态页面右上角单击使用模板创建。
- 在使用模板创建页面上选择示例模板,并在模板(YAML格式)中将以下
annotations
添加到spec / template / metadata层级下。
说明 请将<your-deployment-name>替换为您的应用名称。
annotations:
armsPilotAutoEnable: "on"
armsPilotCreateAppName: "<your-deployment-name>"

创建一个无状态(Deployment)应用并开启ARMS应用监控的完整YAML示例模板如下:
为PHP应用开启ARMS应用监控
以下步骤分别对应创建新应用和已有应用这两种情况。
如需在创建新应用的同时开启ARMS应用监控,请按以下步骤操作:
- 登录容器服务管理控制台。
- 在控制台左侧导航栏中,单击集群。
- 在集群列表页面中,单击目标集群名称或者目标集群右侧操作列下的详情。
- 在集群管理页左侧导航栏中,选择。
- 在无状态页面右上角单击使用模板创建。
- 在使用模板创建页面上选择示例模板,并在模板(YAML格式)中将以下
annotations
添加到spec / template / metadata层级下。
说明 请将<your-deployment-name>替换为您的应用名称。
annotations:
armsPilotAutoEnable: "on"
armsPilotCreateAppName: "<your-deployment-name>"
armsAppType: PHP
- (本步骤仅限首次安装时)请修改安装arms-pilot的命名空间下的ConfigMap arms-php.ini文件,该文件内容为php.ini默认配置。
说明 在extension=/usr/local/arms/arms-php-agent/arms-7.2.so配置中,arms-7.2.so中的7.2为您的PHP版本,可使用的值为5.4、5.5、5.6、7.0、7.1、7.2。
- 将arms-php.ini ConfigMap配置项添加到php.ini文件的spec / template / spec / containers配置下,将mountPath设置为您的php.ini文件路径。
volumeMounts:
- name: php-ini
mountPath: /etc/php/7.2/fpm/php.ini
subPath: php.ini
volumes:
- name: php-ini
configMap:
name: arms-php.ini
创建一个无状态(Deployment)应用并开启ARMS应用监控的完整YAML示例模板如下:
如需为现有应用开启ARMS应用监控,请按以下步骤操作:
- 登录容器服务管理控制台。
- 在控制台左侧导航栏中,单击集群。
- 在集群列表页面中,单击目标集群名称或者目标集群右侧操作列下的详情。
- 在集群管理页左侧导航栏中,选择。
- 选择命名空间,在目标应用右侧操作列中选择。
- 在编辑YAML对话框中将以下
annotations
添加到spec / template / metadata层级下,并单击更新。
说明 请将<your-deployment-name>替换为您的应用名称。
annotations:
armsPilotAutoEnable: "on"
armsPilotCreateAppName: "<your-deployment-name>"
armsAppType: PHP
- 挂载arms-php.ini ConfigMap项到php.ini文件spec / template / spec / containers下,将mountPath设置为您的php.ini文件路径。
volumeMounts:
- name: php-ini
mountPath: /etc/php/7.2/fpm/php.ini
subPath: php.ini
volumes:
- name: php-ini
configMap:
name: arms-php.ini
执行结果
在无状态或有状态页面,目标应用的操作列将出现ARMS控制台按钮。
说明 若操作列没有出现ARMS控制台按钮,请检查您是否已授权容器服务访问ARMS资源。
后续步骤
完成上述步骤后,您就为部署在容器服务Kubernetes版中的应用开启了ARMS应用监控。在目标应用的操作列中单击ARMS控制台,将进入ARMS控制台的应用监控页面。ARMS应用监控具备以下能力:
1. 展示应用总体性能关键指标,自动发现应用拓扑。
2. 3D拓扑图能立体展示应用、服务和主机的健康状况,以及应用的上下游依赖关系,帮助您快速定位诱发故障的服务、被故障影响的应用和关联的主机等,全方位地诊断故障根源,从而快速排除故障。
3. 捕获异常事务和慢事务,获取接口的慢SQL、MQ堆积分析报表或者异常分类报表,对错、慢等常见问题进行更细致的分析。
4. 自动发现和监控应用代码中常见的Web框架和RPC框架,并自动统计Web接口和RPC接口的调用量、响应时间、错误数等指标。
在文档使用中是否遇到以下问题
更多建议
匿名提交