监控基础
Monitoring with Prometheus读书笔记
原书见:
https://www.safaribooksonline.com/library/view/monitoring-with-prometheus/9780988820289/
监控需要监控技术环境和监控业务情况
监控基本原则
监控需要在开发业务前就进行考虑,结合业务情况和环境,考虑要监控的metric.
监控设计要从业务逻辑出发 再下沉到应用的监控和操作系统的监控
但这不是说通用的系统监控不需要 只是他们不能用来汇报业务价值
监控服务的正确性 例如不是单单看health接口是否返回了200 而要确认里面的值
不要只使用静态的阈值 阈值应该是根据窗口数据等方式计算获取
保存足够多的历史监控数据(用于之后的分析)
监控需要容易被设置/部署 需要自动化支持
监控机制
Probe :应用外
Introspection:应用内
推
拉
普罗米修斯基本上是基于pull的 但也有push的方式
监控数据的类型
Metrics:时间序列数据 记录应用的度量的状态
Logs:应用程序发出的文件事件 通常情况更有用 但这本书不怎么讲 https://www.logstashbook.com/
Metrics
metrics提供了动态的,实时的基础设施状态,帮助你管理环境和给做更好的决定.
Metrics are measures of properties of components of software or hardware
固定时间间隙收集 -> 颗粒性或者分辨率
Metrics类型
guage
counter
累计数据
Histograms
统计数据
其他统计字段:
Counter
Sum
Average
Median
Percentiles
Standard deviation
Rates of change
平均数的陷阱:
监控方法论
USE方法
For every resource, check utilization, saturation, and errors
对于每个资源 检查利用率 饱和度和错误
http://www.brendangregg.com/USEmethod/use-linux.html
Google Four golden signals
Latency
Traffic
Errors
Saturation
上下文相关 有用的警报和通知
Alert和notification是监控的主要输出
- 通知是需要可以指导行动 明确清晰的.
- 在通知上增加上下文信息.
- 只发送有意义的通知.
可视化
- 清晰地展示数据
- 引导观察者思考背后的实质 而不是专注于视觉效果
- 避免歪曲数据
- 清晰地展示大数据集
- 允许改变视图的粒度而不影响理解
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报