Skip to content

Michael-LiK/php_monitor

Repository files navigation

mini-monitor

A monitor php

Build Status Latest Stable Version Total Downloads Latest Unstable Version License


中文文档

项目背景

目前市面上大多数监控是针对服务器的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.完善项目文档。

一起创造

你可以通过一下几种方式进行代码贡献。

  1. 通过这个链接提交问题 issue tracker.
  2. 帮助解答已存在的相应问题 issue tracker.
  3. 提交新的功能并更新文档.

本人开发经验较少,可能会存在很多不足,敬请谅解。

协议

本开源项目遵守MIT协议


English Doc

Installing

$ composer require mini-monitor/php_monitor dev-master

Usage

There are three functions you can use .

example:

Add one to on the key

add($key) 

To add a value of key

addValue($key,$value)

To set a value of key

set($key,$value)  

##TODO LISTS

Contributing

You can contribute in one of three ways:

  1. File bug reports using the issue tracker.
  2. Answer questions or fix bugs on the issue tracker.
  3. Contribute new features or update the wiki.

License

MIT

About

The monitor php sdk

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages