更新时间:2026-03-05 GMT+08:00
分享

Skywalking方式接入APM实现链路追踪指标监控

操作步骤

  1. 登录APM控制台
  2. 单击左侧,选择“管理与监管 > 应用性能管理 APM”,进入APM服务页面。
  3. 在左侧导航栏中选择“链路追踪 > 探针接入”,进入接入应用页面。
  4. 选择“区域”和“应用”。
  5. 选择接入类型“Skywalking”。如果当前应用支持Skywalking类型,则OpenTelemetry类型置灰,不支持选择。

    图1 接入Skywalking类型

  6. 根据应用类型选择接入对应的接入方式,按照步骤接入。请注意,同一个应用下的组件名称不能重复。

    • JAVA应用接入
      1. 下载 Skywalking。

        前往Skywalking 官网,推荐下载 Java Agent 8.9.0 及以上版本,解压后 Agent 文件放至在 Java 进程有访问权限的目录。

        如需配置插件,在启动阶段将新的插件放进/plugins目录中,即可令插件生效。将插件从该目录删除,即可令其失效。

        日志文件默认输出到/logs目录中。

      2. 添加启动命令并重启应用。

        接入 Agent 配置相关参数,有如下两种配置方式。

        • 在应用程序的启动命令行中配置。
          java -javaagent:skywalking-agent-path -Dskywalking.collector.backend_service=***.**.**.**:***** -Dskywalking.agent.authentication=******* -Dskywalking.agent.service_name=应用名称.组件名称.环境名称 -jar <yourApp>.jar
        • 在 agent/config/agent.config 中配置。
          collector.backend_service=100.79.29.107:11800
          agent.authentication=*****
          agent.service_name=应用名称.组件名称.环境名称
          //配置 javaagent 路径,并重新启动应用。
          java -javaagent:skywalking-agent-path -jar yourApp.jar

        如果您两种方式均进行配置,则只在启动命令行中的配置生效。

    • Python应用接入
      1. 前往Skywalking 官网下载 Skywalking。
      2. 通过 PyPi 安装 Python 代理模块。
        pip install "apache-skywalking"
        pip install "apache-skywalking[http]"
        pip install "apache-skywalking[kafka]"
        pip install apache-skywalking==0.7.0

        通过 pip 成功安装 Skywalking Python 代理后,会在您的环境中安装一个命令行脚本 sw-python。

      3. 接入 Agent。

        接入 Agent 需要配置 接入点、令牌(Token)、应用名称三个参数,在您的启动文件中配置如下参数:

        from skywalking import agent, config
                  config.init(
                  collector_address='***.**.**.**:*****',
                  authentication='*******',
                  service_name='apply name',
                  )
                  agent.start()
      4. 重启应用。

        目前,sw-pythonCLI 提供了一个 run 选项,您可以使用该选项来执行您的应用程序。

        如果您之前运行 gunicorn 应用程序的命令是:

        gunicorn app.wsgi

        请将其改为:

        sw-python run gunicorn app.wsgi

        Skywalking Python 代理将很快与您的应用程序一起启动。

    • GO应用接入
      1. 前往Skywalking 官网下载 Skywalking。
      2. 安装 Skywalking go sdk,命令如下。
        go get -u github.com/SkyAPM/go2sky-plugins/sql
      3. 接入 sdk。

        在 main.go 文件导入 sdk 包。

        import (
                "github.com/SkyAPM/go2sky"
                "github.com/SkyAPM/go2sky/reporter"
              )

        在 main 方法里接入 sdk

        r, err := reporter.NewGRPCReporter(***.**.**.**:*****,
        reporter.WithCDS(0),
        reporter.WithAuthentication(******))
        if err != nil {
            log.Fatalf("new reporter error %v \n", err)
        }
        defer r.Close()
        tracer, err := go2sky.NewTracer(<应用名称.组件名称.环境名称>,
        go2sky.WithReporter(r))
        if err != nil {
            log.Fatalf("create tracer error %v \n", err)
        }
        go2sky.SetGlobalTracer(tracer)
    • Nodejs应用接入
      1. 前往Skywalking 官网下载 Skywalking。
      2. 使用官方推荐的新库来接入,原来的模块为:SkyAPM-nodejs,版本要求 NodeJS >= 10,控制台输入命令:
        npm i skywalking-backend-js
      3. 接入 Agent。

        接入 Agent 需要配置 接入点、令牌 Token、应用名称三个必填参数,在您的启动文件中配置如下参数:

        const { default: agent } = require('skywalking-backend-js');
              agent.start({
                serviceName: '应用名称.组件名称.环境名称',
                collectorAddress: '***.**.**.**:*****',
                authorization: '*********'
              });
      4. 重启应用。按照正常命令启动项目,无报错,数据正常上报即启动成功。如出现报错,请检查配置与版本;如无上报数据,请检查 token 与应用名称是否正确。
    • PHP应用接入
      1. 前往Skywalking 官网下载 Skywalking。
        • 使用官方推荐的 pecl.net 安装,控制台输入命令:
          pecl install skywalking_agent
        • 或通过源代码的方式安装:
          git clone --recursive https://github.com/apache/skywalking-php.git
          cd skywalking-php
          phpize
          ./configure
          make
          make install
      2. 接入 Agent。

        修改 php.ini 文件如下配置项:

        [skywalking]
        extension=skywalking.so
        skywalking.app_code = 应用名称.组件名称.环境名称
        skywalking.enable = 1
        skywalking.version = 8
        skywalking.grpc = ***.**.**.***:*****
        skywalking.authentication = ******
        skywalking.error_handler_enable = 0
      3. 重启应用。
        • 方法一: 将修改 php-fpm.conf 的配置项中启动方式为 daemonize = no
        • 方法二:使用 nohup 命令重启 php-fpm:
          nohup /usr/local/services/php7/sbin/php-fpm > /usr/local/services/php7/log/php-fpm-output.log 2>&1 &
    • .Net应用接入
      1. 前往Skywalking 官网下载 Skywalking。

        添加库SkyAPM .NET Core Agent。

        dotnet add package SkyAPM.Agent.AspNetCore
      2. 接入 Agent。

        下载配置文件生成工具:SkyAPM.DotNet.CLI。

        dotnet tool install -g SkyAPM.DotNet.CLI 

        使用工具生成 skyapm.json 文件。

        dotnet skyapm config 应用名称.组件名称.环境名称 ***.**.**.***:*****

        修改 skyapm.json 中的 Authentication。

        Authentication: "***********"

        在项目 Properties 下的 launchSettings.json 文件,添加环境变量:ASPNETCORE_HOSTINGSTARTUPASSEMBLIES 和 SKYWALKING__SERVICENAME。

        environmentVariables: {
              "SKYWALKING__SERVICENAME": "应用名称.组件名称.环境名称",
              "ASPNETCORE_HOSTINGSTARTUPASSEMBLIES": "SkyAPM.Agent.AspNetCore"
              } 

相关文档