更新时间:2025-09-28 GMT+08:00
分享

快速接入Agent

前提条件

  • 部署APM Agent时,必须确保接入APM的机器与APM服务网络连通,Agent才能正常工作。可使用“curl -kv”命令测试目标机器与APM服务器网络是否连通。例如,以检查华北-北京四区域,且接入方式为“Skywalking”的连通性为例,请登录应用所部署的机器,并输入命令curl -kv 100.125.2.112:11800,其他区域或源代码的地址请参考探针接入地址
  • Php语言支持Skywalking和OpenTelemetry。

操作步骤

  1. 登录APM控制台
  2. 单击左侧,选择“管理与监管 > 应用性能管理 APM”,进入APM服务页面。
  3. 在左侧导航栏中选择“应用监控 > 应用列表”。
  4. 单击“接入应用”,进入接入应用页面。

    图1 接入应用

  5. 选择“区域”和“应用”。单击“创建应用”,弹出“创建应用”弹窗,可以具体操作参见创建应用

    图2 基础信息

  6. “接入方式”选择Skywalking或者OpenTelemetry。
  7. “服务端语言”选择Php。

    图3 接入方式

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

    • OpenTelemetry
      • 非侵入式接入
        1. 使用PuTTY等远程登录工具,登录待安装Agent的Linux操作系统主机,并以root或者service权限执行相关命令执行相关命令。执行安装命令的用户需要和启动应用的用户保持一致。
        2. 安装OpenTelemetry扩展组件。
          1. 安装必须构建工具。
            sudo apt-get install gcc make autoconf
          2. 使用构建安装扩展组件。
            pecl install opentelemetry-beta
            pecl install grpc
            pecl install protobuf-3.8.0
          3. .将扩展名添加到您的文件中:php.ini。
            [opentelemetry]
            extension=opentelemetry.so
            [PHP]
            extension=grpc.so
            extension=protobuf.so
          4. 验证扩展是否已安装并启用。
            php --ri opentelemetry
            php --ri grpc
            php --ri protobuf
        3. 安装服务框架所需opentelemetry依赖包
          1. 安装服务框架所依赖的opentelemetry自动插件包,比如slim框架需安装open-telemetry/opentelemetry-auto-slim
            composer config allow-plugins.php-http/discovery false
            composer require open-telemetry/sdk
            composer require open-telemetry/exporter-otlp
            composer require open-telemetry/transport-grpc
            composer require open-telemetry/opentelemetry-auto-slim
            composer update
          2. 上述步骤也可用框架源码来安装,就无须安装基础包,因为在其他框架你可能无法识别需要安装哪些基础包。倘若执行1中步骤,可直接执行3,下载代码地址:https://github.com/open-telemetry/opentelemetry-php/archive/refs/heads/main.zip,将代码包上传到对接应用的服务器上,解压之后,执行如下命令:
            composer config allow-plugins.php-http/discovery false
            composer require open-telemetry/opentelemetry-auto-slim
            composer update
          3. 将对接服务的配置在环境变量或者php.ini中。
            OTEL_EXPORTER_OTLP_ENDPOINT=http://**.**.**.**:****
            OTEL_EXPORTER_OTLP_HEADERS=Authentication=8ec***04x
            OTEL_EXPORTER_OTLP_PROTOCOL=grpc
            OTEL_PHP_AUTOLOAD_ENABLED=true
            OTEL_SERVICE_NAME=应用名称.组件名称.环境名称
      • 侵入式接入

        相关操作请参考官网

    • Skywalking
      1. 下载Skywalking。
        1. 使用官方推荐的pecl.net安装,控制台输入命令:
          pecl install skywalking_agent
        2. 或通过源代码的方式安装:
          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 = ZvL****Pqe
        skywalking.error_handler_enable = 0
      3. 重启应用。
        1. 方法一: 将修改 php-fpm.conf 的配置项中启动方式为 daemonize = no。
        2. 方法二:使用 nohup 命令重启 php-fpm:
          nohup /usr/local/services/php7/sbin/php-fpm > /usr/local/services/php7/log/php-fpm-output.log 2>&1 &

相关文档