监控

相对于PHP开发者,我们深感到开发者的不容易。从开发,到运维,到故障排查和解决问题。因此我们也基于 ELK 整合到了业务开发框架中,作为其中的一种日志方式。

使用 ELK 可以很方便地记录我们应用日志,能够将分布多处的业务统一回收到一个地方进行集中分析。

环境要求:

  • swoole > 1.9.9
  • elasticsearch >= 5.0
  • logstash >= 5.0
  • kibana >= 5.0

效果图:

日志分析 - 图1

使用

设置 app.php 日志格式库 \FastD\Logger\Formatter\StashFormatter::class,对其日志进行统一处理即可完成配置。

示例:

  1. <?php
  2. return [
  3. // code ...
  4. 'log' => [
  5. [
  6. \Monolog\Handler\StreamHandler::class,
  7. 'info.log',
  8. \FastD\Logger\Logger::INFO,
  9. \FastD\Logger\Formatter\StashFormatter::class,
  10. ],
  11. ],
  12. // code ...
  13. ];

开启日志统一采集处理前提需要安装 ELK 日志分析系统。可参考: ELK中文指南

开启 logstash 对日志进行采集推送 bin/logstash -f path/to/log

完成后,可以访问业务程序,产生日志对其进行测试。