在 prometheus/grafana 中获取不同标签值的计数

Fla*_*Bee 2 grafana prometheus promql

我正在尝试在 Grafana 中创建一个表格/图表,显示在给定时间范围内(例如过去 24 小时)登录给定应用程序的唯一用户总数。我有一个指标,app_request_path它记录每分钟到达特定路径的请求数:

app_request_count{app="my-app", path="/login"}

这给了我以下内容:

    app_request_count{app="my-app",path="/login",status="200",username="username1"}
    app_request_count{app="my-app",path="/login",status="200",username="username2"}
Run Code Online (Sandbox Code Playgroud)

现在我想计算唯一用户名的数量,所以我运行:

count_values("username", app_request_count{app="my_app", path="/login"})
Run Code Online (Sandbox Code Playgroud)

我得到:

    {username="0"}
    {username="1"}
    {username="2"}
    {username="3"}
    {username="4"}
    {username="5"}
Run Code Online (Sandbox Code Playgroud)

我错过了什么/我做错了什么?理想情况下,我想获得一个标量值,显示过去 24 小时内登录的唯一用户名的总数。

非常感谢。

bri*_*zil 5

count without (username)(app_request_count)

count_values用于度量值,count用于时间序列。也不建议将用户名之类的东西作为标签值,因为它们往往是高基数。它们也可能是 PII,这可能会产生法律影响。