monitoring - prometheus 将一个 NaN 值结果求和为 NaN。如何避免?

标签 monitoring prometheus

我在 prometheus 中有以下指标:它按秒计算 memcached 命令:

sum (irate (memcached_commands_total{instance="memcached-instance"}[5m])) by (command)

结果:

{command="delete"}  0
{command="flush"}   0
{command="get"} 62.733333333333334
{command="incr"}    0
{command="set"} 93.43333333333334
{command="touch"}   NaN
{command="cas"} 0
{command="decr"}    0

我想按秒计算命令(不同命令没有单独的速率)。我试过以下公式:

sum (irate (memcached_commands_total{instance="memcached-instance"}[5m]))

但结果是:

{}  NaN

我预计大约是 155,但它是 NaN。我想这是 command="touch"的罪魁祸首。可以从总和中排除 NaN 吗?

最佳答案

我想通了:

sum (irate (memcached_commands_total{instance="memcached-instance"}[5m]) > 0)

返回正确的数字。 >0 就可以了。

关于monitoring - prometheus 将一个 NaN 值结果求和为 NaN。如何避免?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53430836/

相关文章:

prometheus - 如何处理 "prometheus"和 "prometheus_replica"标签?

c# - 在 ASP.NET Core MVC 中使用 Prometheus 的示例项目?

java - 是否可以通过编程方式启用远程 jmx 监控?

java - JMX 与 VisualVM?

java - jVisualVM - JIT Activity 指标

prometheus - 如何在 Prometheus 警报中匹配多个标签?

普罗米修斯正则表达式匹配不同标签

php - 如何持续监控 mysql 数据库中的表并触发 php 脚本对其进行处理?

sockets - 如何监控网络套接字连接?

Prometheus Alert Manager 配置通知标题 URL