监控告警特性从框架 v2.7 版本开始提供。
开发者通过 GoFrame 框架可以快速地实现监控指标及指标暴露。
📄️ 监控告警-基本介绍
介络GoFrame框架监控告警的基础知识,重点介绍 OpenTelemetry 关于监控和告警设计的相关规范和组件,涵盖 Meter Provider、Meter、Instrument、Measurements、View、Metric Reader、Metric Exporter 等组件及其数据流关系。详细阐述同步指标类型(Counter、UpDownCounter、Histogram)和异步指标类型(ObservableCounter、ObservableGauge等)的使用场景。介绍框架通过 gmetric 组件实现监控能力,采用抽象解耦设计,默认关闭监控,只有引入监控接口实现时才自动开启。
📄️ 监控告警-基本使用
介绍在GoFrame框架中使用 gmetric 组件进行监控指标的开发方法。详细讲解如何通过引入 otelmetric 组件利用 OpenTelemetry 实现框架的监控指标接口。涵盖全局 Provider 获取、Meter 组件对象创建、监控指标对象的创建与配置(包括 Counter、UpDownCounter、Histogram 等同步指标类型,以及 ObservableCounter、ObservableGauge 等异步指标类型)。介绍 MetricOption 配置项的使用,包括 Help、Unit、Attributes、Buckets 等属性设置。演示如何使用 ManualReader 读取指标数据,以及 Provider 的全局设置与优雅关闭。通过完整的代码示例展示从初始化到数据读取的完整流程。
📄️ 监控告警-同步指标
在GoFrame框架中使用同步指标,通过gmetric提供的Counter、UpDownCounter和Histogram等类型快速暴露和记录HTTP请求的相关数据。利用Prometheus协议实现指标输出,以供外部监控工具抓取和分析,达到有效的性能监控和管理。
📄️ 监控告警-异步指标
在GoFrame框架下使用异步监控指标,详细说明了ObservableCounter、ObservableUpDownCounter和ObservableGauge三种异步指标的使用方法。通过定义Callback函数管理指标数值变化,并利用Prometheus导出指标数据。
📄️ 监控告警-指标属性
介绍GoFrame监控告警组件中指标属性的使用,包括常量属性、变量属性和全局属性三种注入方式,通过示例演示如何结合OpenTelemetry和Prometheus实现灵活的监控和分析。
📄️ 监控告警-内置指标
介绍 GoFrame 框架内置的 Go 运行时基础指标的使用方法。详细阐述如何通过 otelmetric.WithBuiltInMetrics() 参数开启 Go 基础指标,包括 cgo 调用次数、GC 周期统计、GC 暂停时间、协程数量、堆内存分配与使用情况等 13 种运行时指标。文中提供完整的示例代码,展示如何结合 Prometheus Exporter 导出指标,并启动 HTTP 服务器供 Prometheus 拉取指标数据。包含详细的指标说明表,明确每个指标的名称、类型(Counter、Histogram、Gauge)、单位和描述,帮助开发者实现 Go 应用的性能监测和优化。
📄️ 监控告警-组件指标
列举已支持监控指标的GoFrame框架组件,包括HTTP Client和HTTP Server的详细监控指标信息。读者可通过文档链接获取各组件的具体指标实现和使用方法。其他组件(如数据库ORM、Redis、gRPC等)的监控指标将在后续版本中逐步提供,保证对系统各个层面的全面监测。