当前位置: 首页 > news >正文

skywalking-2-客户端-php的安装与使用

skywalking的客户端支持php,真的很棒。

官方安装文档:https://skywalking.apache.org/docs/skywalking-php/next/en/setup/service-agent/php-agent/readme/

前置准备

本次使用的php版本是8.2.13:

php -v
PHP 8.2.13 (cli) (built: Nov 21 2023 09:55:59) (NTS gcc x86_64)
Copyright (c) The PHP Group
Zend Engine v4.2.13, Copyright (c) Zend Technologieswith Zend OPcache v8.2.13, Copyright (c), by Zend Technologies

安装rust:

dnf install rust cargo -y

安装其他扩展:

dnf install clang llvm-devel -y

安装skywalking-php扩展

这里直接用master分支的,有些新特性哦

git clone https://github.com/apache/skywalking-php.git
cd skywalking-phpphpize
./configure --with-php-config=/usr/bin/php-config
make
make install

make这一步注意下报错,一般是依赖库没安装,根据报错信息找下安装即可

php启用skywalking

在php.ini下增加如下配置:

[skywalking_agent]
skywalking_agent.enable = On
skywalking_agent.log_file = /tmp/skywalking-agent.log
skywalking_agent.log_level = INFO
skywalking_agent.server_addr = 127.0.0.1:11800
skywalking_agent.service_name = local-php-dev
skywalking_agent.skywalking_version = 9
skywalking_agent.inject_context = On

这些参数也很好懂,不用特殊说明。关键是skywalking_agent.server_addr和skywalking_agent.service_name参数注意下。
skywalking_agent.server_addr指向的就是服务端,我这里都是部署在同一个机器上,所以地址是127.0.0.1。
skywalking_agent.service_name定义了skywalking的服务,当它能探测到时,在ui上会自动出来

测试验证

重启php-fpm,访问测试文件skywalking.php

<?php
echo sprintf("SW_SERVICE_NAME: %s <br>", $_SERVER["SW_SERVICE_NAME"]);  // get service name
echo sprintf("SW_INSTANCE_NAME: %s  <br>", $_SERVER["SW_INSTANCE_NAME"]); // get instance name
echo sprintf("SW_TRACE_ID: %s  <br>", $_SERVER["SW_TRACE_ID"]); // get trace id

正常的话在浏览器里会看到如下信息:

SW_SERVICE_NAME: local-php-dev
SW_INSTANCE_NAME: 160853870359529938982011205294883059063@10.0.90.12
SW_TRACE_ID: 41101851062989898248658024978575840395

这里我们拿到了SW_TRACE_ID,这个很好用。
同时在skywalking的管理后台会看到自动出现了一个local-php-dev服务

点进去就能看到我们的访问请求啦

后续

通过服务端和客户端的安装部署,我们揭开了skywalking全链路跟踪的序幕,接下来就是深入使用了,go go go。

http://www.lryc.cn/news/396892.html

相关文章:

  • 图文讲解IDEA如何导入JDBC驱动包
  • java.lang.NullPointerException: null cannot be cast to non-null type kotlin.Int
  • scrapy写爬虫
  • Mybatis study
  • 【论文速读】《面向深度学习的联合消息传递与自编码器》
  • 防御---001
  • DNS 杂谈
  • docker笔记2
  • 数字统计
  • Git 使用问题
  • JMH325【剑侠情缘3】第2版80级橙武网游单机更稳定亲测视频安装教学更新整合收集各类修改教学补丁兴趣可以慢慢探索
  • 大数据专业创新人才培养体系的探索与实践
  • MySQL 中的 DDL、DML、DQL 和 DCL
  • 基础架构服务API:降低成本,提升业务效益
  • Redis IO多路复用
  • 如何在Vue中实现拖拽功能?
  • 在Linux下使用Docker部署chirpstack
  • 《昇思25天学习打卡营第14天|计算机视觉-ShuffleNet图像分类》
  • 将字符串写入结构体变量中
  • iPhone 16 Pro系列将标配潜望镜头:已开始生产,支持5倍变焦
  • PG在还没有pg_class的时候怎么访问基础系统表?
  • UnityHub 无法添加模块问题
  • python04——类(基础new)
  • 【Python百日进阶-Web开发-Peewee】Day296 - 查询示例(五)聚合2、递归
  • 闲话银行家舍入法,以及在程序中如何实现
  • 最短路径算法(算法篇)
  • 昇思25天学习打卡营第11天 | LLM原理和实践:基于MindSpore实现BERT对话情绪识别
  • 反向散射技术(backscatter communication)
  • 致远CopyFile文件复制漏洞
  • MySQL 创建数据库