Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

背景介绍

目前OpentelemtryMetrics标准以及go实现已经稳定,可以对接到框架中,以便框架组件对外暴露组件指标。

指标梳理

字段说明:

注意事项

  • 指标、属性命名使用OpenTelemetry规范。
  • OpenTelemetry里面的Attribute,在Prometheus里面叫做Label
  • 由于OpenTelemetry Metrics里面的数据类型较多且复杂,框架参考Prometheus的数据类型做了封装,简化使用。底层依旧使用OpenTelemery规范。
  • 指标值底层存储统一使用的是float64数据格式,因此在指标设计时指标值请尽量避免使用小数,以免出现精度问题。

字段说明

字段名称

字段说明

指标名称

该名称将直接上报给存储端。

该名称将直接上报给存储端。默认使用.符号分隔单词,如果是通过prometheus协议暴露,那么.符号将会被自动替换为_下划线符号。

指标类型

参考OpenTelemetry规范,包含6种指标类型:

  • Counter
  • UpDownCounter
  • Histogram
  • ObservableCounter
  • ObservableUpDownCounter
  • ObservableGauge

指标单位

用于定义该指标的单位,例如MBBytes%QPS等等。

指标类型

我们只用3种类型:CounterGaugeHistogramPrometheusOpentelemetry中的其他数据类型在没有痛点的前提下我们暂不做考虑。

Counter: (常用)只增不减的数值指标。例如请求数、错误数等。

  • Gauge:(常用)可增可减的数值指标。例如:CPUMemory等。

  • Histogram: 直方图,用于按照buckets对统计数据在采集时做分类采集。例如:按照请求耗时对请求数量进行分段。https://prometheus.io/docs/practices/histograms/

  • Help信息

    该信息和指标名称将直接上报给存储端,并在上层使用时做指标描述展示。

    指标中文描述

    中文描述

    (可选)用于内部理解和维护该指标。

    用于内部理解和维护该指标。

    采集逻辑

    公共属性

    (可选)指标实现时按照该逻辑实现。

    所有的指标都会自动注入这些公共的Label,方便在多节点部署的进程或者分布式服务中做区分。

    Label名称

    Label描述

    Label示例

    os.host.name

    服务所在的主机节点名称。

    本机hostname命令值

    process.path

    进程在当前系统上的的绝对路径。

    /app/main

    文档列表

    Children Display
    depth2
    excerptTypesimple

    HTTP Server🔥

    监控HTTP Server的相关指标。

    指标名称

    指标单位

    指标类型

    Help信息

    指标中文描述

    采集逻辑

    GRPC Server🔥

    监控Grpc Server的相关指标。

    指标名称

    指标单位

    指标类型

    Help信息

    指标中文描述

    采集逻辑

    数据库ORM🔥

    监控数据库服务的相关指标。

    指标名称

    指标单位

    指标类型

    Help信息

    指标中文描述

    采集逻辑

    数据库Redis

    监控Redis服务的相关指标。

    指标名称

    指标单位

    指标类型

    Help信息

    指标中文描述

    采集逻辑

    配置管理

    监控gcfg以及Adapter实现的相关指标。

    指标名称

    指标单位

    指标类型

    Help信息

    指标中文描述

    采集逻辑

    缓存控制

    监控gcache以及Adapter实现的相关指标。

    指标名称

    指标单位

    指标类型

    Help信息

    指标中文描述

    采集逻辑

    命令管理

    监控gcmd命令执行的指标。

    指标名称

    指标单位

    指标类型

    Help信息

    指标中文描述

    采集逻辑

    日志管理

    监控glog日志组件的指标。

    指标名称

    指标单位

    指标类型

    Help信息

    指标中文描述

    采集逻辑

    定时任务

    分为两块。

    gtimer

    指标名称

    指标单位

    指标类型

    Help信息

    指标中文描述

    采集逻辑

    gcron

    指标名称

    指标单位

    指标类型

    Help信息

    指标中文描述

    采集逻辑

    协程池

    监控grpool协程池指标。

    指标名称

    指标单位

    指标类型

    Help信息

    指标中文描述

    采集逻辑

    Golang

    Golang的基础指标,这里氛围两块:

    • 依赖标准库runtime,获取基础的运行时指标。
    • 需要依赖比较重的第三方组件,例如prometheus SDK,可以考虑是否通过社区组件实现。

    指标名称

    指标单位

    指标类型

    Help信息

    指标中文描述

    采集逻辑

    参考链接




    Panel
    titleContent Menu

    Table of Contents
    maxLevel10