更新时间:2023-06-16 GMT+08:00
Deployment应用接入APM
在运行中始终不保存任何数据或状态的工作负载称为“无状态工作负载(deployment)”。如果已使用CCE或开源Kubernetes部署Deployment应用,启动配置脚本可以将Deployment应用接入APM,即可在拓扑、事务界面上查看应用情况。
前提条件
- 请参见通过Kubectl连接集群配置kubectl命令,使ECS连接集群。
- 已使用CCE或开源Kubernetes部署应用。
操作流程
步骤一:开通APM
请参考开通和购买。
步骤二:安装ICAgent
- 如果CCE中已绑定ICAgent,则CCE无需安装ICAgent,跳过此步骤。。
- 获取AK/SK。
- 登录应用性能管理。
- 在左侧导航栏中选择“采集管理 > Agent管理”。
- 单击“安装ICAgent”,选择“主机类型”为“华为云主机”、“安装系统”为“Linux”。
- 选择“安装方式”为“获取AK/SK凭证”,在文本框中输入已获取的AK/SK,生成ICAgent安装命令,单击“复制命令”,复制ICAgent安装命令。
请确保输入正确的AK/SK,否则将无法安装ICAgent。
- 使用ECS提供的远程登录功能以root用户登录ECS,执行ICAgent安装命令进行安装。
当显示“ICAgent install success”时,表示安装成功,ICAgent已安装在了“/opt/oss/servicemgr/”目录。
步骤三:修改权限(可选)
若您使用非root用户启动程序,则您开启应用监控前需要执行如下命令修改探针文件与输出目录权限。
chmod -R 777 /opt/oss/servicemgr/ICAgent/pinpoint/ mkdir -p /opt/apm-container chmod -R 777 /opt/apm-container
步骤四:开启应用监控
- 在ECS或CCE上,配置Deployment应用的启动脚本:在yaml描述文件中增加如下示例中加粗配置。
执行如下命令编辑yaml文件:
vi xxx.yaml
其中xxx为文件名称,是您在创建Deployment应用时自定义的应用描述文件。如下为示例,Deployment的详细说明请参见kubernetes官方文档。kind: Deployment apiVersion: apps/v1 metadata: name: user-service namespace: default selfLink: /apis/apps/v1/namespaces/default/deployments/user-service uid: b231788d-9abd-11e8-80a5-fa163e3a2cc7 resourceVersion: '50972062' generation: 13 creationTimestamp: '2018-08-08T03:46:56Z' labels: app: user-service stack-name: auto-test annotations: deployment.kubernetes.io/revision: '5' description: '' enable: true spec: replicas: 1 selector: matchLabels: app: user-service template: metadata: creationTimestamp: null labels: app: user-service enable: true spec: #容器外主机上的挂载目录,包括数据输出路径、Java探针包路径 volumes: - name: paas-apm hostPath: path: /opt/apm-container - name: pinpoint-pkg hostPath: path: /opt/oss/servicemgr/ICAgent/pinpoint containers: - name: user-service image: '100.125.0.198:20202/zhyyy/user-service:v1' ports: - containerPort: 8080 protocol: TCP env: - name: PAAS_APP_NAME #工作负载名称(服务名称) value: user-service - name: PAAS_NAMESPACE #CCE集群namespace,如果非CCE集群则不填该环境变量 value: default - name: PAAS_PROJECT_ID #租户项目projectId value: d698369a975645bfb35f8437d11c5a12 - name: PAAS_CLUSTER_ID #CCE集群ID,可以在CCE界面通过f12查看,如果非CCE集群则不填该环境变量 value: 89b49857-5433-11e8-941c-0255ac101f3e - name: PAAS_POD_ID valueFrom: fieldRef: fieldPath: metadata.uid - name: PAAS_MONITORING_GROUP #应用名称(监控组),建议完成一个功能的多个服务填写相同应用名称 value: shoppingmall - name: JAVA_TOOL_OPTIONS value: -javaagent:/opt/oss/servicemgr/ICAgent/pinpoint/pinpoint-bootstrap.jar -Dapm_container=true resources: {} #挂载进容器内数据输出路径、Java探针包路径 volumeMounts: - name: paas-apm mountPath: /paas-apm/collectors/pinpoint - name: pinpoint-pkg mountPath: /opt/oss/servicemgr/ICAgent/pinpoint terminationMessagePath: /dev/termination-log terminationMessagePolicy: File imagePullPolicy: Always restartPolicy: Always terminationGracePeriodSeconds: 30 dnsPolicy: ClusterFirst securityContext: {} schedulerName: default-scheduler strategy: type: RollingUpdate rollingUpdate: maxUnavailable: 0 maxSurge: 1 revisionHistoryLimit: 10 progressDeadlineSeconds: 600 status: observedGeneration: 13 replicas: 1 updatedReplicas: 1 readyReplicas: 1 availableReplicas: 1 conditions: - type: Progressing status: 'True' lastUpdateTime: '2018-09-02T13:25:46Z' lastTransitionTime: '2018-08-08T03:46:56Z' reason: NewReplicaSetAvailable message: ReplicaSet "user-service-f584f46b7" has successfully progressed. - type: Available status: 'True' lastUpdateTime: '2018-12-21T11:01:33Z' lastTransitionTime: '2018-12-21T11:01:33Z' reason: MinimumReplicasAvailable message: Deployment has minimum availability.
- 使用修改后的Deployment重启应用,开启应用性能监控。
父主题: 监控Java应用