如何在Grafana中动态构建证书监控状态面板?
问题:Grafana结合vonage-status-panel实现证书有效期动态总览
我们需要监控跨多客户、多环境及多虚拟机的500余张证书,计划用vonage-status-panel插件在Grafana中创建证书剩余有效期的总览视图。当前Prometheus查询返回的模拟结果如下:
my_query{host="vm-1", cert_type="something", expire_days="230", job="certs"} my_query{host="vm-2", cert_type="else", expire_days="10", job="certs"} my_query{host="vm-1", cert_type="something", expire_days="20", job="certs"}
目前需要手动为每个查询结果创建面板,无法动态增减。想知道当Prometheus查询结果新增或减少时,Grafana能否自动添加/删除对应面板,无需手动操作?
可行,两种方案实现:
方案1:利用Grafana重复面板功能
- 先创建一个Grafana变量:类型选「查询」,数据源选择Prometheus,查询语句用
label_values(my_query, host)(也可根据需求选择cert_type等维度,甚至组合维度),该变量会自动同步Prometheus返回的所有对应标签值。 - 添加vonage-status-panel面板,在面板的Prometheus查询中引用该变量,比如
my_query{host="$var_host"},每个变量值对应一条证书数据。 - 打开面板的「重复选项」,选择刚才创建的变量,设置重复方向(比如垂直排列),Grafana会自动为每个变量值生成独立的状态面板。后续Prometheus中新增/减少对应标签的证书时,变量值会自动更新,面板也会随之动态增减。
方案2:直接用vonage-status-panel批量展示
vonage-status-panel本身支持批量加载多指标,无需重复创建面板:
- 在面板的查询配置中直接使用原始的
my_query查询,不做标签过滤。 - 在面板的显示设置里开启按标签分组展示(比如按
host+cert_type组合分组),插件会自动将每个证书条目作为独立的状态卡片展示。当Prometheus中的证书数据变化时,面板内的卡片会自动新增或消失,完全无需手动调整面板数量。
注意点
如果用方案1,建议选择合适的分组维度(比如host+cert_type的组合变量),避免单维度导致面板数量过多;方案2更适合500余张证书的集中展示场景,不用拆分成大量面板,管理起来更高效。
内容的提问来源于stack exchange,提问作者Kevin C
相关产品推荐
相关产品推荐

