如何解决如何显示在Prometheus上的时间间隔内访问Superset仪表板的用户数量?
我想监视Superset仪表板,并计划与Prometheus一起使用我自己的自定义Python导出器。每当仪表板被记录以供某些用户访问时,我都会将量规设置为值1。我的目标图是:y轴为访问次数,x轴为时间,dashboard_id为图。
我的Python导出器如下:
class DashboardMonitor:
def __init__(self):
self.dashboard_gaguge_map = defaultdict(Gauge)
def create_dashboard_gauges(self,dashboards_list):
for dashboard_id,dashboard_name in dashboards_list.items():
gauge_name = 'dashboard_{}_gauge'.format(dashboard_id)
gauge_description = dashboard_name
dashboard_gauge = Gauge(gauge_name,gauge_description)
self.dashboard_gaguge_map[dashboard_id] = dashboard_gauge
def get_dashboard_gauge(self,dashboard_id):
return self.dashboard_gaguge_map.get(dashboard_id,None)
def set_dashboard_gauge(self,dashboard_id):
dashboard_gauge = self.get_dashboard_gauge(dashboard_id)
dashboard_gauge.set(1)
我当前对Prometheus的查询是:
sum(rate(dashboard_1_gauge[1m])) * 60
绘制以下内容:
我不确定该图是否显示我想要的图形,还是每次在日志中遇到该仪表板时将仪表设置为1的方法是否是执行此操作的最佳方法。
我该怎么做?
解决方法
如https://prometheus.io/docs/prometheus/latest/querying/functions/#rate中所述,rate
仅应与计数器一起使用,而不应与量规一起使用。
我将此指标更改为一个计数器,然后使用sum(rate(dashboard_1_counter[1m]))
来绘制每秒访问次数的使用率,或者,如果您想获取每个时间段的访问次数,请使用sum(increase(dashboard_1_counter[1m]))
1m
。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。