如何配置Grafana Status History面板监控钱包运行状态?
Grafana Status History 面板配置方案(钱包状态监控)
1. 基础面板设置
- 新建面板,选择Status History可视化组件
- 绑定你的Prometheus(或对应时序数据库)数据源
2. 核心PromQL查询
使用以下查询生成状态指标(1=WARN,0=OK),确保覆盖所有钱包(基于wallet_balance_total的全量列表):
sum by (currency, id) ( # 触发WARN的条件:钱包无提现记录(或缺失)且对应币种有提现请求 ( (increase(withdrawal_wallets_total{currency=~"$currency", id=~"$id"}[$__rate_interval]) == 0 OR absent(increase(withdrawal_wallets_total{currency=~"$currency", id=~"$id"}[$__rate_interval]))) AND increase(withdrawals_requests_total{currency=~"$currency"}[$__rate_interval]) > 0 ) # 关联全量钱包列表,避免遗漏未被使用的钱包 OR on(currency, id) group_left() wallet_balance_total{currency=~"$currency", id=~"$id"} * 0 )
查询说明:
$__rate_interval:Grafana内置变量,自动适配时间区间的增量计算窗口wallet_balance_total * 0:仅保留钱包的currency和id标签,确保全量钱包都出现在面板中- 满足WARN条件时返回1,其余情况返回0
3. 状态映射配置
在面板Options标签页的Value mappings中添加规则:
- 值
1→ 映射为WARN,选择橙色/红色标识 - 值
0→ 映射为OK,选择绿色标识 - 勾选Show text,确保状态文本直接显示
4. 行标题设置
在Options标签页的Row title输入框中,设置模板:
{{currency}}-{{id}}
这样每行的标题会自动生成为币种-钱包ID格式
5. 可选变量配置(提升灵活性)
若需动态切换币种/钱包,添加以下变量:
- 币种变量
$currency:类型选Query,数据源绑定Prometheus,查询语句label_values(wallet_balance_total, currency),勾选Include All option - 钱包ID变量
$id:类型选Query,数据源绑定Prometheus,查询语句label_values(wallet_balance_total{currency=~"$currency"}, id),勾选Include All option
6. 细节优化
- 调整Time range为业务合适的区间(如最近1小时)
- 设置Refresh interval(如1分钟)匹配监控频率
- 若需隐藏原始数值,在Value mappings中勾选
Hide original value
内容的提问来源于stack exchange,提问作者J Freebird
相关产品推荐
相关产品推荐

