prometheus-browser

发布时间 2023-12-06 18:46:22作者: yoona-lin

import { PushGateway, Gauge, CollectorRegistry, defaultRegistry } from 'prometheus-browser';

prometheus-browser 是一个用于在浏览器中使用 Prometheus 监控库的工具库。其中的 PushGatewayGauge 是该库中的两个重要概念和方法。

  1. PushGateway:

    ``PushGateway是 Prometheus 的一个组件,用于接收来自客户端的指标数据,并将其推送到 Prometheus Server。在浏览器中使用prometheus-browser,可以利用 PushGateway` 将浏览器中采集到的指标数据发送到 Prometheus Server。

    使用 PushGateway 的一般流程如下:

    • 创建 PushGateway 实例,并指定 Prometheus Server 的地址。
    • 使用 push() 方法将指标数据推送到 PushGateway

    示例代码:

    import { PushGateway } from 'prometheus-browser';
    
    const gateway = new PushGateway('http://prometheus-server:9091');
    gateway.push({ jobName: 'my-job' }, (err, resp, body) => {
      if (err) {
        console.error('推送失败:', err);
      } else {
        console.log('推送成功');
      }
    });
    ```
    
    在上述代码中,我们创建了一个 `PushGateway` 实例,并指定 Prometheus Server 的地址为 `http://prometheus-server:9091`。然后,我们调用 `push()` 方法将指标数据推送到指定的 `jobName`(作业名称)中。推送完成后,通过回调函数获取推送的结果。
    
    
  2. Gauge:

    ``Gauge是 Prometheus 中的一种指标类型,用于表示一个可变的测量值。在prometheus-browser 中,Gauge` 是用于定义和更新浏览器中的指标值的方法。

    使用 Gauge 的一般流程如下:

    • 创建 Gauge 实例,并指定指标的名称、帮助信息和标签(可选)。
    • 使用 set() 方法设置指标的值。

    示例代码:

    import { Gauge } from 'prometheus-browser';
    
    const gauge = new Gauge({
      name: 'my_metric',
      help: 'This is my custom metric',
      labels: ['label1', 'label2'],
    });
    
    gauge.set({ label1: 'value1', label2: 'value2' }, 42);
    ```
    
    在上述代码中,我们创建了一个 `Gauge` 实例,指定了指标的名称为 `'my_metric'`,帮助信息为 `'This is my custom metric'`,并定义了两个标签 `'label1'` 和 `'label2'`。然后,我们使用 `set()` 方法设置了指标的值为 `42`,并传入标签信息。
    
    通过使用 `Gauge`,我们可以在浏览器中定义和更新自定义的指标,并将其推送到 Prometheus Server 进行监控和分析。
    
    

这些是 prometheus-browserPushGatewayGauge 的基本用法。通过使用 PushGateway,我们可以将浏览器中采集到的指标数据推送到 Prometheus Server;而使用 Gauge,我们可以在浏览器中定义和更新指标值,并进行监控和分析。具体的使用方法可以根据项目需求和 Prometheus 的配置进行调整。

  1. defaultRegistry 的概念

在 Prometheus 中,defaultRegistry 是一个默认的注册表(Registry),用于存储和管理所有暴露的指标(metrics)。它是 Prometheus 的核心组件之一,负责收集、存储和提供指标数据。