全部产品

ASK接入ARMS应用监控

借助ARMS应用监控,您可以对ASK集群中的应用进行应用拓扑、接口调用、异常事务和慢事务监控、SQL分析等监控。本文介绍如何为ASK集群接入ARMS应用监控。

前提条件

  • 已创建ASK集群。

  • 已开通ARMS服务。具体操作,请参见开通ARMS

    说明

    应用监控是ARMS的付费子产品,您可以免费试用15天,试用结束后需开通基础版或者专家版方可继续使用。更多信息,请参见ARMS定价页

背景信息

应用实时监控服务ARMS(Application Real-Time Monitoring Service)是一款应用性能管理(APM)产品,包含应用监控、Prometheus监控等功能模块,能帮助您实现全栈式性能监控和端到端全链路追踪诊断,实现轻松高效的应用运维。

为ASK集群安装ARMS应用监控组件(探针)后,ARMS可以对应用进行全方位监控,帮助您快速定位出错接口和慢接口、重现调用参数、发现系统瓶颈,从而大幅提升线上问题诊断的效率。更多信息,请参见应用监控概述

步骤一:安装应用监控组件

  1. 登录容器服务管理控制台

  2. 在左侧导航栏,选择市场>应用目录

  3. 阿里云应用页签下,找到ack-arms-pilot应用,然后单击该应用。

  4. 配置参数,并选择集群进行安装。

    1. 选择要安装的ASK集群。

    2. 单击参数页签,在下方yaml模板中填写AccessKey和AccessKeySecret。

    3. 单击创建

    arms-pilot
  5. 查看安装结果。

    单击集群名称进入集群信息页面,在左侧导航栏选择应用>Helm,查看arms-pilot的状态是否为已部署

步骤二:为应用开启应用监控

您可以在应用的yaml中添加annotations开启应用监控。annotations请添加在spec>template>metadata下。

annotations:
  armsPilotAutoEnable: "on"
  armsPilotCreateAppName: "<your-deployment-name>"

新建应用开启监控

  1. 容器服务管理控制台集群页面,找到要新建应用的集群,单击集群名称。

  2. 在左侧导航栏,选择工作负载>无状态

  3. 单击右上角的使用YAML创建资源

  4. 选择命名空间和示例模板,并在模板yaml中添加annotations至spec>template>metadata下,然后单击创建

    arms-pilot1以Java应用Spring Cloud Eureka Server为例,开启ARMS应用监控的完整yaml示例模板如下:

    apiVersion: apps/v1
    kind: StatefulSet
    metadata:
      name: register-server
    spec:
      replicas: 3
      serviceName: register-server
      selector:
        matchLabels:
          app: register-server
      template:
        metadata:
          labels:
            app: register-server
          annotations:
            armsPilotAutoEnable: "on"                   #开启ARMS应用监控
            armsPilotCreateAppName: "register-server"   #开启ARMS应用监控的应用名称
        spec:
          containers:
            - name: register-server
              image: registry.cn-hangzhou.aliyuncs.com/shuangling/eureka-server:v1
              imagePullPolicy: Always
              env:
              - name: EUREKA_DEFAULT_ZONE
                value: "http://register-server-0.register-server:8000/eureka/,http://register-server-1.register-server:8000/eureka/,http://register-server-2.register-server:8000/eureka/"
              - name: JVM_OPTS 
                value: " -Xms1024m -Xmx1536m "
              - name: MY_POD_NAME
                valueFrom:
                  fieldRef:
                    fieldPath: metadata.name
              ports:
                - name: http
                  containerPort: 8000
                  protocol: TCP
              readinessProbe:
                httpGet:
                  path: /actuator/health
                  port: 8001
                  scheme: HTTP
                failureThreshold: 3
                initialDelaySeconds: 60
                periodSeconds: 10
                successThreshold: 1
                timeoutSeconds: 10
              volumeMounts:
              - mountPath: /Charts
                name: data
          volumes:
          - name: data
            emptyDir: {}
      podManagementPolicy: "Parallel"
    ---
    apiVersion: v1
    kind: Service
    metadata:
      name: register-server
      labels:
        app: register-server
    spec:
      clusterIP: None
      type: ClusterIP
      ports:
        - port: 8000
          targetPort: http
          protocol: TCP
          name: http
      selector:
        app: register-server

已有应用开启监控

  1. 容器服务管理控制台集群页面,找到应用所在集群,单击集群名称。

  2. 在左侧导航栏,选择工作负载>无状态,或者选择工作负载>有状态

  3. 找到要开启监控的具体应用,单击更多,然后选择查看Yaml

  4. 编辑yaml,添加annotations至spec> template > metadata下。

    arms-pilot2
  5. 单击更新

    更新后需要一定时间重新创建容器组,请等待所有容器组滚动更新完成后再查看监控数据。

步骤三:查看应用监控数据

开启ARMS应用监控后,可以在ARMS控制台的应用监控页面查看数据。

  1. 容器服务管理控制台集群页面,找到应用所在集群,单击集群名称。

  2. 在左侧导航栏,选择工作负载>无状态,或者选择工作负载>有状态

  3. 找到要查看监控数据的具体应用,单击对应操作列中的ARMS控制台

  4. 查看应用监控数据。

    ARMS应用监控包括自动发现应用拓扑、捕获异常事务和慢事务、实时诊断性能等功能。关于如何使用ARMS应用监控,请参见ARMS应用监控

    应用监控