组件分享之后端组件——基于Golang的系统和服务监控系统prometheus
背景
近期正在探索前端、后端、系统端各类常用组件与工具,对其一些常见的组件进行再次整理一下,形成标准化组件专题,后续该专题将包含各类语言中的一些常用组件。欢迎大家进行持续关注。
组件基本信息
- 组件:prometheus
- 开源协议:Apache-2.0 许可证
- 官网:prometheus.io/
内容
本节我们分享一个基于Golang的系统和服务监控系统prometheus。它以给定的时间间隔从配置的目标收集指标,评估规则表达式,显示结果,并在观察到指定条件时触发警报。
Prometheus 与其他指标和监控系统的区别在于:
- 多维数据模型(由指标名称和键/值维度集定义的时间序列)
- PromQL,一种强大且灵活的查询语言,可利用此维度
- 不依赖分布式存储;单个服务器节点是自治的
- 用于时间序列收集的 HTTP拉取模型
- 通过用于批处理作业的中间网关支持推送时间序列
- 通过服务发现或静态配置发现目标
- 图形和仪表板支持的多种模式
- 支持分层和水平联合
日常使用可以使用下述安装方式:
1、docker安装
docker run --name prometheus -d -p 127.0.0.1:9090:9090 prom/prometheus
2、开发引用
go get go.buf.build/protocolbuffers/go/prometheus/prometheus
本文声明:
知识共享许可协议
本作品由 cn華少 采用 知识共享署名-非商业性使用 4.0 国际许可协议 进行许可。