cover_image

SkyAPM PHP入门使用

Vito 梅沙技术团队 2020年07月13日 01:15

一、APM

APM(ApplicationPerformance Management)是一种应用性能监控工具,通过汇聚业务系统各处理环节的实时数据,分析业务系统各事务处理的交易路径和处理时间,实现对应用的全链路性能监测。目前主流的APM工具,基本都是参考了Google的Dapper(大规模分布式系统的跟踪系统)体系,通过跟踪业务请求的处理过程,完成对应用系统在前后端处理、服务端调用的性能消耗跟踪,提供可视化的界面来展示对跟踪数据的分析。

APM工具与传统的性能监控工具的区别在于,不仅仅提供一些零散的资源监控点和指标,其主要关注在系统内部执行、系统间调用的性能瓶颈分析,这样更有利于定位到问题的具体原因。

二、工具对比

图片

三、skywalking

现在主要讲的是 skywalking。它被用于追踪、监控和诊断分布式系统,特别是使用微服务架构,云原生或容积技术。提供以下主要功能:

  • 分布式追踪和上下文传输
  • 应用、实例、服务性能指标分析
  • 根源分析
  • 应用拓扑分析
  • 应用和服务依赖分析
  • 慢服务检测
  • 性能优化

主要特性

  • 多语言探针或类库

    • .NET Core
    • Node.js
    • Java自动探针,追踪和监控程序时,不需要修改源码。
    • 社区提供的其他多语言探针
  • 多种后端存储:ElasticSearch, H2

  • 支持

    OpenTracing

    • Java自动探针支持和OpenTracing API协同工作
  • 轻量级、完善功能的后端聚合和分析

  • 现代化Web UI

  • 日志集成

  • 应用、实例和服务的告警

安装

1. 部署 ElasticSearch.

2. https://www.apache.org/dyn/closer.cgi/skywalking/7.0.0/apache-skywalking-apm-7.0.0.tar.gz

3. tar zxvf https://www.apache.org/dyn/closer.cgi/skywalking/7.0.0/apache-skywalking-apm-7.0.0.tar.gz

4. cd apache-skywalking-apm-bin/bin/
# 启动程序
5. ./start.sh

四、界面预览

1. 仪表图

图片

2. 追踪图

图片

3. 性能分析图

图片

五、PHP集成

!!需要安装:protobuf、grpc。

1.pecl install skywalking

2. php.ini添加以下内容:
; Loading extensions in PHP
extension=skywalking.so

; enable skywalking
skywalking.enable = 1

; Set skyWalking collector version (5 or 6 or 7 or 8)
skywalking.version = 8

; Set app code e.g. MyProjectName
skywalking.app_code = MyProjectName

; sock file path default /tmp/sky-agent.sock
; Warning *[systemd] please disable PrivateTmp feature*
; Warning *Make sure PHP has read and write permissions on the socks file*
skywalking.sock_path=/tmp/sky-agent.sock

#
安装agent
3.git clone https://github.com/SkyAPM/SkyAPM-php-sdk
cd SkyAPM-php-sdk
go build -o sky-php-agent cmd/main.go
chmod +x sky-php-agent
cp sky-php-agent /usr/local/bin

4. 启动
/usr/local/bin/sky-php-agent --grpc=127.0.0.1:11800 --sky-version=8 --socket=/tmp/sky-agent.sock


微信扫一扫
关注该公众号

继续滑动看下一个
梅沙技术团队
向上滑动看下一个