talentrydev/monitoring

基于指标的PHP应用监控库

4.0.0 2024-05-31 13:35 UTC

This package is auto-updated.

Last update: 2024-09-20 12:00:11 UTC


README

此库提供了将指标推送到监控服务的手段。目前,它支持将指标推送到任何符合StatsD规范的实现。

指标类型

增量指标

用于跟踪随时间累积的数据,例如跟踪请求数量。这是一个简单的指标,仅通过名称标识。每次推送此指标时,它都会增加1。

减量指标

与增量指标相同,但相反(递减而不是递增)。

仪表指标

用于跟踪随时间变化的状态,例如服务器负载。它通过名称和值来标识。

计时指标

与仪表指标类似,它通过名称和值(在此情况下,值是计时度量)来标识(除了在这种情况下,值是计时度量)。用于跟踪计时,如响应时间。时间以毫秒为单位。

如何使用

  • 实现上述四种指标类型之一。或者,您可以使用Metrics实用类即时创建指标。实现自己的指标是首选。
  • 使用MonitorFactory创建Monitor实例
  • 创建您的指标实例,并使用Monitor(使用push方法)推送它。

指标命名

使用点分隔的表示法创建命名空间,例如

  • system.load.memory
  • system.load.disk

示例

为StatsD指标创建Monitor

use Talentry\Monitoring\Infrastructure\Metric\PhpLeagueStatsdClient;
use Talentry\Monitoring\Infrastructure\Monitor\MonitorFactory;
use Talentry\Monitoring\Infrastructure\Metric\MetricStoreFactory;

$metricStore = (new MetricStoreFactory('statsd-host', 8125))->generate();
$monitor = (new MonitorFactory($metricStore))->generate();