Annotations 是什么
注释(annotations)把事件画成时间轴上的竖线:发布、重启、扩容、告警触发都可以标在图上。看曲线只能看到「变差了」,叠加注释后才能看到「变差发生在发布之后」,这条线索往往直接决定排查方向。Grafana 的注释可以来自数据源查询自动生成,也可以手工添加一段固定时间窗口。
基本信息
| 配置位置 | Dashboard settings → Annotations |
|---|---|
| 数据来源 | Prometheus 等数据源查询,或手工标注 |
| 查询类型 | 通常返回带时间戳的结果集 |
| 作用范围 | 按看板配置,可对所有面板生效 |
典型使用场景
- 变更关联:把发布窗口标出来,确认指标变化是否由发布引起
- 重启检测:进程启动时间的跳变标注为重启事件
- 告警对照:把告警触发时间画在业务指标曲线上
- 演练与活动:标注压测或大促窗口,解释曲线异常区间的合理性
- 复盘材料:截图时注释线本身就是时间线的可视化证据
注释查询示例
注释查询示例
# 进程重启事件:启动时间在窗口内发生变化
changes(process_start_time_seconds{job="node"}[1h]) > 0
# 告警触发时间线:只看正在触发状态的告警
ALERTS{alertstate="firing"}
# 部署事件(需有对应的部署指标,例如带版本标签的发布时间)
changes(deploy_release_timestamp{service="order-api"}[1h]) > 0
# 手工注释:Dashboard settings → Annotations → Add annotation
# 填写描述与时间范围,适合一次性事件(如网络割接窗口)注释方式对比
| 方式 | 来源 | 适用情况 |
|---|---|---|
| 数据源查询 | 指标查询自动生成 | 有对应指标的事件,如重启与告警 |
| 手工标注 | 人工填写时间范围 | 无指标可查的一次性事件 |
| 发布系统集成 | 流水线调用注释接口 | 变更频繁、希望自动打标 |
| 区域注释 | 标注一段区间 | 维护窗口、演练时段 |
注释查询同样消耗数据源查询预算:用大范围扫描换几根竖线的做法得不偿失,尽量用变化检测类表达式把结果集压到最小。
把发布窗口标成注释后,「故障时间线」与「变更时间点」就能对在一起看;这也是无责复盘里最直观的一张图。