更新时间:2024-11-21 GMT+08:00
分享

通过安装Helm方式接入APM

如果使用通用的开源Kubernetes部署应用,可以通过安装Helm方式接入APM,即可在指标、调用链界面上查看应用情况。

前提条件

  1. 确保接入的节点与APM服务网络连通。可使用Telnet命令测试目标机器与APM服务器网络是否连通。

    例如,以检查华北-北京四区域,且代码源选择“增强型探针”的连通性为例,请登录应用所部署的机器,并输入命令telnet 100.125.12.108:41333,其他区域地址请参考表1

    表1 增强型探针接入地址

    区域

    接入地址

    华北-北京四

    https://100.125.12.108:41333

    华北-北京一

    https://100.125.57.101:41333

    华东-上海一

    https://100.125.4.27:41333

    华东-上海二

    https://100.125.140.105:41333

    华南-广州

    https://100.125.143.102:41333

    亚太-新加坡

    https://100.125.4.25:41333

    华南-广州-友好用户环境

    https://100.125.4.30:41333

    华北-乌兰察布一

    https://100.125.4.30:41333

    华北-乌兰察布二零一

    https://100.79.6.100:41333

    华北-乌兰察布二零二

    https://100.79.6.100:41333

    华北-乌兰察布汽车一

    https://100.125.254.17:41333

    西南-贵阳一

    https://100.125.0.90:41333

    中国-香港

    https://100.125.6.106:41333

  2. 请确保您的Kubernetes集群版本为1.19及以上。
  3. 进程所需最大堆内存250 MB,最大CPU使用0.25 Core。

操作步骤

  1. 安装Helm3。

    • 执行使用脚本安装。
      curl https://raw.githubusercontent.com/helm/helm/main/scripts/get-helm-3 | bash
    • 二进制版本安装。
      1. 下载 需要的版本
      2. 执行如下命令,解压。
        tar -zxvf helm-v3.0.0-linux-amd64.tar.gz
      3. 在解压目录中找到helm程序,移动到需要的目录中。
        mv linux-amd64/helm /usr/local/bin/helm

  2. 安装探针。

    支持无状态和有状态两种类型的应用接入,以下安装步骤以无状态为例。

    1. 下载apm-operator安装包。
      wget 'https://apm2-javaagent-cn-north-4.obs.cn-north-4.myhuaweicloud.com/apm-operator-1.0.0.tar.gz'
    2. 解压apm-operator安装包。
      tar xvf apm-operator-1.0.0.tar.gz
    3. 编辑安装包下的operatorK8s/apm-operator/values.yaml,根据实际情况修改参数后进行保存。
      accessKeyId: ""
      accessKeySecret: ""
      masterAddress: ""
      swrAddress: ""
      agentVersion: ""
      namespace: "apm-operator"
      targetPort: "9443"
      selfCheckPort: "9445"
      operatorVersion: "stable"
      表2 编辑安装包参数说明

      参数名称

      是否必填

      说明

      accessKeyId

      APM的上报AK,从APM控制台->系统管理->访问密钥获取

      accessKeySecret

      APM的上报SK,从APM控制台->系统管理->访问密钥获取

      masterAddress

      探针上报地址,参考表1。例如:上海一的masterAddress为https://100.125.4.27:41333。

      swrAddress

      探针镜像地址。组成方式为swr.{regionId}.myhuaweicloud.com,比如:上海一的swrAddress为swr.cn-east-3.myhuaweicloud.com。

      agentVersion

      探针版本。参考JavaAgent更新说明,比如:2.4.8-x86_64。

      namespace

      命名空间,默认为apm-operator,非必要不修改。

      targetPort

      目标端口,默认为9443,非必要不修改。

      selfCheckPort

      检测端口,默认为9445,非必要不修改。

      operatorVersion

      apm-operator版本,非必要不修改,使用stable。

    4. 执行命令安装apm-operator。
      helm upgrade --install apm-operator apm-operator --namespace apm-operator --create-namespace

  3. 修改应用YAML文件。

    1. 编辑应用的YAML文件。
      kubectl edit deployment {Deployment名称} -o yaml
    2. 在spec.template.metadata层级下添加以下内容。
      labels:
        apmJavaAgentEnable: "on"
        apmAppName: "<appName>" 
        apmBusiness: "<apmBusiness>"
        apmEnv: "<apmEnv>"
      表3 spec.template.metadata层级参数说明

      参数名称

      是否必填

      说明

      apmJavaAgentEnable

      如果需要接入APM探针,需要配置此参数,且设置为“on”。

      apmAppName

      组件名称,请将<appName>替换为组件名称。

      apmBusiness

      所属应用名称,默认为default,请将<apmBusiness>替换为应用名称。

      apmEnv

      环境名称,用于区分所属环境,可用于搜索和配置。默认为default,请将<apmEnv>替换为环境名称。

    3. 保存配置,应用将自动重启,可以查询YAML确保配置生效。
      kubectl get deployment {deployment名称} -o yaml

  4. 通过APM管理应用。

    应用启动后,等待3分钟应用数据就会呈现在APM界面中,此时登录APM,您可以在APM进行应用性能优化,详细操作请参考《用户指南》

常见问题

如果kubectl没有配置成功,helm install时会出现如下报错。

# helm install prometheus/ --generate-name 
WARNING: This chart is deprecated 
Error: Kubernetes cluster unreachable: Get "http://localhost:8080/version?timeout=32s": dial tcp 
[::1]:8080: connect: connection refused

解决办法:给节点配置kubeconfig,配置方法请参见使用kubectl连接集群

相关文档