#metrics #influx-db #monitoring #observability #metrics-exporter

metriki-influxdb-reporter

Influxdb 的 metriki 报告器

6 个版本 (3 个重大更新)

0.4.0 2023 年 10 月 21 日
0.3.0 2021 年 11 月 9 日
0.2.0 2021 年 9 月 1 日
0.1.2 2021 年 4 月 19 日
0.1.1 2021 年 3 月 30 日

#17 in #influx-db

27 每月下载量

MIT/Apache

58KB
1K SLoC

Metriki

Metriki 是从 Dropwizard Metrics 源码移植的 Rust 库。

与 Dropwizard Metrics 类似,Metriki 在客户端聚合指标,并输出有限的数据。

快速开始

// create a timer to track the execution rate and latency of this function
// to use macros you will need to turn on `macros` feature of metriki_core
#[timed]
fn your_function() {
  // a function metered by a timer for its rate and latency
}

use metriki_core::global::global_registry;
use metriki_influxdb_reporter::InfluxDbReporterBuilder;

// by default, the timer is registered in this global_registry()
let registry = global_registry();

// start a reporter to send data into influxdb
InfluxDbReporterBuilder::default()
    .url("localhost:8086")
    .username(String::from("influxdbuser"))
    .password(String::from("yourpassword"))
    .database("db")
    .registry(registry.clone())
    .build()
    .unwrap()
    .start();

组件

概念

指标

  • 计数器: 可增加和减少的值。
  • 度量器: 测量事件速率。
  • 直方图: 记录数据随时间分布。
  • 计时器: 度量器和直方图的组合。
  • 仪表: 当被查询时提供值的函数。

MetricsRegistry

所有指标的人口和持有者。

MetricsSet

实现一个特性,以便将动态指标添加到注册表中。每次报告器和导出器从注册表中拉取值时,都会从集合中拉取指标。

报告器

一个组件,用于定期报告指标数据。通常用于具有推送模式的数据库。

导出器

一个组件,用于将指标数据暴露给外部查询器。通常用于基于拉取的数据数据库。

许可证

MIT/Apache-2.0

依赖项

约9-23MB
约265K SLoC