Fiery - PHP 性能跟踪监控系统


Apache
跨平台
Java

软件简介

Fiery
是一款为PHP提供服务的性能跟踪监控系统,可以方便的查看线上调用关系,响应性能,回放请求过程,参数,系统异常、性能统计,部署简单方便,所有服务都集成在一个jar包内,除Java
Runtime无其他依赖,开箱即用。

模块及功能

dataflow

  • 埋点库: RagnarSDK提供PHP侵入式性能埋点库,集成到 项目入口、Curl类及Mysql基础类即可
  • 日志收集: LogPusher服务负责监控收集埋点库产生的日志更新,并推送到服务端
  • 统计存储服务: Server接收日志,并对日志进行整理、存储、汇总、索引、统计分析功能

最低配置要求

  • PHP 5.3 or later with bcmath
  • 目前仅支持64位 UTF8编码PHP项目
  • Linux, OS X 、Windows
  • 内存: 2G+
  • Java 8 Runtime

服务端安装步骤

  1. 下载并安装 Java 8 Runtime
  2. 下载Fiery最新的 Fiery Release page jar包
  3. 在jar所在目录创建文件夹 mkdir logs index db
  4. 通过以下命令启动主服务:

    nohup java -XX:-MaxFDLimit -Xms3750m -Xmx3750m -XX:ReservedCodeCacheSize=240m -XX:+UseCompressedOops -jar ragnarserver-0.5.1-SNAPSHOT.jar -type server –server.port=9090 &

  5. 服务启动后 浏览器访问地址: http://127.0.0.1:9090/ragnar/ 即可

PHP项目埋点库埋点介绍

LogPusher 日志收集及推送服务

日志推送服务,可以监控一个目录下所有日志是否有更新,并将内容推送到主服务

nohup java -XX:-MaxFDLimit -Xms128m -Xmx450m -XX:ReservedCodeCacheSize=240m -XX:+UseCompressedOops -jar ragnarserver-0.5.1-SNAPSHOT.jar -type logpush -path [要监控的日志目录] -host 服务器ip及端口[ip:port] -outtime 7 &

功能界面介绍

调用回放

  • 展示多级API的调用关系,接口性能,响应状态,调用层级,服务器IP,用于查看此次服务质量,响应结果,以及相关参数及日志
  • 通过这个功能可以对线上所有请求进行回放调用过程方便快速找到接口故障原因(性能问题,逻辑问题等)
  • 线下线上运行或测试 时出现故障后可直接提供Traceid给研发直接查看原因
  • 线上故障可在错误提示附带Traceid方便快速查找问题

最近请求

recentrequest

  • 查看最近的请求列表,一般会有5秒延迟,通过列表可以直接查看当前最新请求的信息且可以跳转到调用回放界面进行查看

性能排行

apitop

  • 查看每天埋点的服务性能排行,记录平均响应时间、响应时间比例、调用次数、httpcode比例,可方便的发现线上接口性能情况
  • 可查看按响应时间排序的请求列表

依赖服务排行

  • 可查看同性能排行一样的数据指标,用于统计第三方API无埋点库的性能
  • 可查看不同时段的性能统计信息

SQL性能统计

  • 可查看所有SQL的性能情况,SQL自动去重合并统计
  • 可查看不同时段的SQL性能情况,SQL自动去重合并统计

线上故障去重

  • 线上所有通过埋点库产生的警报日志、异常日志、通知日志都会在这里汇总,去重
  • 可查看第一次产生故障调用回放以及最后一次调用回放