如何基于Prometheus数据在Grafana中创建Nginx请求堆叠柱状图
Grafana 基于Prometheus Nginx指标实现堆叠柱状图配置步骤
1. 查询配置
新建Bar Chart面板后,先配置Prometheus查询规则:
- PromQL语句直接使用:
increase(nginx_vts_server_requests_total[12h]),如果需要聚合多实例数据可改为sum by (code, host) (increase(nginx_vts_server_requests_total[12h])) - 打开查询项右侧的「即时(Instant)」开关,直接取当前最新的12小时增量值,避免返回时间序列生成多根柱子
- 图例格式设置为
{{code}},让每个堆叠分段的名称直接显示对应响应码分类
2. 面板显示配置
在右侧面板配置的「Display」选项卡完成以下设置:
- 找到「Bar mode」选项,选择*Stacked(堆叠)*模式
- 「Group by」选择按
host字段分组,单实例场景下只会生成1根完整的堆叠柱,多域名场景下会为每个host生成独立堆叠柱 - 按需调整条形方向、Y轴刻度、数值标签显示规则,也可以为不同响应码系列设置固定显示颜色,匹配你预期的模拟效果
常见踩坑说明
之前配置不生效大概率是没有打开「即时查询」开关,默认区间查询会返回过去12小时的所有时序点,生成按时间拆分的多组柱子,不符合单柱堆叠展示总请求量的需求。
内容的提问来源于stack exchange,提问作者MB263
相关产品推荐
相关产品推荐

