本文介绍通过Zipkin将PHP应用的Trace数据接入到日志服务的操作步骤。

背景信息

操作步骤

  1. 下载Zipkin的官方示例代码
  2. 修改functions.php文件中的配置项。
    1. 修改$httpReporterURL参数。
      代码中的${endpoint}变量需根据实际情况替换。关于变量的详细说明,请参见表 1
      $httpReporterURL = 'https://${endpoint}/zipkin/api/v2/spans';
      表 1. 变量说明
      变量 说明 示例
      ${endpoint} 接入地址,格式为${project}.${region-endpoint},其中:
      • ${project}:日志服务Project名称。
      • ${region-endpoint}:Project访问域名,支持公网和阿里云内网(经典网络、VPC)。更多信息,请参见服务入口
      test-project.cn-hangzhou.log.aliyuncs.com
    2. 在创建Zipkin\Reporters\Http时,增加headers参数。
      代码中的变量需根据实际情况替换。关于变量的详细说明,请参见表 2
          $reporter = new Zipkin\Reporters\Http(
              \Zipkin\Reporters\Http\CurlFactory::create(),
              ['endpoint_url' => $httpReporterURL,
                     'headers' => ['x-sls-otel-project' => '${project}',
                            'x-sls-otel-instance-id' => '${instance}',
                            'x-sls-otel-ak-id' => '${access-key-id}',
                            'x-sls-otel-ak-secret' => '${access-key-secret}']
              ]
          );
      表 2. 变量说明
      变量 说明 示例
      ${project} 日志服务Project名称。 test-project
      ${instance} Trace服务实例名称。 test-traces
      ${access-key-id} 阿里云账号AccessKey ID。

      建议您使用只具备日志服务Project写入权限的RAM用户的AccessKey(包括AccessKey ID和AccessKey Secret)。授予RAM用户向指定Project写入数据权限的具体操作,请参见授权。如何获取AccessKey的具体操作,请参见访问密钥

      ${access-key-secret} 阿里云账号AccessKey Secret。

      建议您使用只具备日志服务Project写入权限的RAM用户的AccessKey。

  3. 安装依赖包。
    composer install
  4. 启动服务。
    composer run-frontend
    composer run-backend
  5. 访问服务,触发Trace数据发送。
    curl http://localhost:8081

后续步骤