mini-monitor / php_monitor
A php_monitor sdk
Requires
- guzzlehttp/guzzle: ^6.3
- mockery/mockery: ^1.2
- phpunit/phpunit: ~5
This package is auto-updated.
Last update: 2024-09-08 22:27:35 UTC
README
mini-monitor
PHP 监控
中文文档
项目背景
目前市场上大多数监控针对服务器的CPU、内存占用率、网络流量等,这些都是偏向运维层面的监控。
对于开发人员来说,大家更关注自己的服务是否正常运行、业务被调用的次数,如果是有条件的调用,还需要关注调用的返回值统计、成功和失败的次数等。
现有的成熟解决方案主要有两种,一是通过日志分析,在服务中进行埋点,后期进行日志分析。第二种是通过业务调用时进行上报。这两种方案都可以满足需求,但同时也存在着各自的不足,日志分析的方式较难配置。第二种业务上报模式多是通过每次调用时进行上报,这也占用了大量的带宽资源,当访问量过大时,这样的上报对监控收集端来说相对于巨大的DDOS攻击,简直堪比灾难。
基于这样的背景,我进行了本次项目的开发,以应对日常开发对业务可用性的关注。
解决方案:
将上报数据暂存到服务器内存,通过定时脚本,每分钟上报一次,减少网络资源占用。
技术选型:采用 php_monitor + influxdb + grafana
功能分配:
php_monitor: 负责业务的上报与收集。
influxd: 时序性数据库,负责监控数据的持久化。
grafana: 一个开源的度量分析和可视化套件。 负责监控数据的可视化,同时可配置 email和dingding机器人等报警。
依赖
php 7.0+,同时需开启php内置扩展sysvsem、sysvshm
安装
$ composer require mini-monitor/php_monitor dev-master
使用方式
这里有三种功能你可以使用。
例子
1.为上报数据加一
add($key)
2.为上报数据增加指定值
addValue($key,$value)
3.为上报数据设置指定值
set($key,$value)
##接下来要做的是
1.增加服务端进行数据收集。 2.完善项目文档。
一起创造
你可以通过以下几种方式进行代码贡献。
- 通过这个链接提交问题 issue tracker.
- 帮助解答已存在的相应问题 issue tracker.
- 提交新的功能并更新文档.
本人开发经验较少,可能会存在很多不足,敬请谅解。
协议
本开源项目遵守MIT协议
English Doc
安装
$ composer require mini-monitor/php_monitor dev-master
使用
这里有三种功能你可以使用。
例子
在键上增加一
add($key)
为键增加一个值
addValue($key,$value)
设置键的值
set($key,$value)
##待办事项列表
贡献
你可以通过以下三种方式之一进行贡献
- 使用 issue tracker 提交错误报告。
- 在 issue tracker 上回答问题或修复错误。
- 贡献新功能或更新wiki。
许可
MIT