import { PushGateway, Gauge, CollectorRegistry, defaultRegistry } from 'prometheus-browser';
prometheus-browser
是一个用于在浏览器中使用 Prometheus 监控库的工具库。其中的 PushGateway
和 Gauge
是该库中的两个重要概念和方法。
-
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`(作业名称)中。推送完成后,通过回调函数获取推送的结果。
- 创建
-
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-browser
中 PushGateway
和 Gauge
的基本用法。通过使用 PushGateway
,我们可以将浏览器中采集到的指标数据推送到 Prometheus Server;而使用 Gauge
,我们可以在浏览器中定义和更新指标值,并进行监控和分析。具体的使用方法可以根据项目需求和 Prometheus 的配置进行调整。
- defaultRegistry 的概念
在 Prometheus 中,defaultRegistry 是一个默认的注册表(Registry),用于存储和管理所有暴露的指标(metrics)。它是 Prometheus 的核心组件之一,负责收集、存储和提供指标数据。
标签:Prometheus,prometheus,Gauge,PushGateway,推送,browser From: https://www.cnblogs.com/yoona-lin/p/17880276.html