云服务器内容精选

  • 操作步骤 下载JavaAgent,参考探针下载地址下载apm-javaagent,并将javaagent下载到需要接入 APM 机器的任意目录。 示例命令: curl -O https://xxx/apm-javaagent-x.x.x.tar 执行tar命令解压javaagent。 示例命令: tar -xvf apm-javaagent-x.x.x.tar 修改javaagent中的apm.config配置文件。master.address配置请参见探针接入地址,将AK/SK写入配置文件中,如下图所示。 图3 写入AK/SK 修改java进程启动脚本。 在服务启动脚本的java命令之后,配置apm-javaagent.jar包所在路径,并指定java进程的组件名。 添加-javaagent参数示例: java -javaagent:/xxx/apm-javaagent/apm-javaagent.jar=appName={appName} 当企业业务很多的情况下,也支持更为复杂一些的配置,添加-javaagent参数的复杂模式如: java -javaagent:/xxx/apm-javaagent/apm-javaagent.jar=appName=myApp,env=myEnv,envTag=myTag,business=myBusiness,subBusiness=mySub 上述参数属于APM内置的CMDB信息,具体详情见CMDB管理章节。 由于历史原因,APM启动参数设置的元数据,跟CMDB概念有一些冲突,这里进行说明。 启动参数一般会设置 -javaagent:D:\javaagent-package\apm-javaagent\apm-javaagent.jar=appName=xxx,env=yyy,business=zzz,subBusiness=sss,envTag=xxx,在这里appName代表组件,business代表应用,subBusiness代表子应用,envTag代表环境标签。 如果没有在web界面对business参数进行设置,启动javaagent时系统就会报错;其他参数如果没有设置,在启动javaagent时会自动创建出来,包括子应用、组件、环境及环境标签等。 同一个应用下,组件名称不能重复。 重新部署应用。
  • 动态配置master.address以及AK/SK 支持动态配置master.address以及AK/SK。 用户可以通过配置环境变量的方式,给APM_MASTER_ADDRESS、APM_AC CES S_KEY(apm-ak)以及APM_SECRET_KEY(apm-sk)赋值。获取AK/SK的具体操作,请参见获取AK/SK,获取master.address,请参见接入地址。 如果javaagent配置文件和环境变量同时配置了AK、SK、master.address,那么环境变量配置的值优先生效。 Agent 2.3.19之后版本支持动态配置master.address以及AK/SK。
  • 步骤四:开启应用监控 在E CS 或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重启应用,开启应用性能监控。
  • 动态配置master.address以及AK/SK 支持动态配置master.address以及AK/SK。 用户可以通过配置环境变量的方式,给APM_MASTER_ADDRESS、APM_ACCESS_KEY(apm-ak)以及APM_SECRET_KEY(apm-sk)赋值。获取AK/SK的具体操作,请参见获取AK/SK,获取master.address,请参见接入地址。 如果javaagent配置文件和环境变量同时配置了AK、SK、master.address,那么环境变量配置的值优先生效。 Agent 2.3.19之后版本支持动态配置master.address以及AK/SK。