【问题标题】:Prometheus metric for uploaded file sizes上传文件大小的 Prometheus 指标
【发布时间】:2020-06-05 12:41:45
【问题描述】:

我是 Grafana 和 Prometheus 的新手,无法显示上传文件的大小。

我想在 Grafana 中显示类似下面的内容(以便发现上传最多的文件大小)

 |
 |   |       .
 |   |   |   |
-------------------------
1MB 2MB 3MB 4MB ..

我在下面创建了这个直方图

uploaded_file_sizes = Summary(
    'uploaded_file_sizes',
    'Uploaded file size in bytes',
    buckets=(
        10000,    #   10KB
        100000,   #   100KB
        500000,   #   500KB
        1000000,  #   1MB
        1500000,  #   1.5MB
        2000000,  #   2MB
        2500000,  #   2.5MB
        3000000,  #   3MB
        3500000,  #   3.5MB
        4000000,  #   4MB
        4500000,  #   4.5MB
        5000000,  #   5MB
        10000000,  #   10MB
        15000000,  #   15MB
        20000000,  #   20MB
        25000000,  #   25MB
        30000000,  #   30MB
        35000000,  #   35MB
        40000000,  #   40MB
        45000000,  #   45MB
        50000000,  #   50MB
    ),
)

没关系,它会在指标端点提供以下数据

# HELP uploaded_file_sizes Uploaded file size in bytes
# TYPE uploaded_file_sizes histogram
uploaded_file_sizes_bucket{le="10000.0"} 0.0
uploaded_file_sizes_bucket{le="100000.0"} 0.0
uploaded_file_sizes_bucket{le="500000.0"} 0.0
uploaded_file_sizes_bucket{le="1e+06"} 2.0
uploaded_file_sizes_bucket{le="1.5e+06"} 3.0
uploaded_file_sizes_bucket{le="2e+06"} 3.0
uploaded_file_sizes_bucket{le="2.5e+06"} 3.0
uploaded_file_sizes_bucket{le="3e+06"} 3.0
uploaded_file_sizes_bucket{le="3.5e+06"} 3.0
uploaded_file_sizes_bucket{le="4e+06"} 3.0
uploaded_file_sizes_bucket{le="4.5e+06"} 3.0
uploaded_file_sizes_bucket{le="5e+06"} 3.0
uploaded_file_sizes_bucket{le="1e+07"} 3.0
uploaded_file_sizes_bucket{le="1.5e+07"} 3.0
uploaded_file_sizes_bucket{le="2e+07"} 3.0
uploaded_file_sizes_bucket{le="2.5e+07"} 3.0
uploaded_file_sizes_bucket{le="3e+07"} 3.0
uploaded_file_sizes_bucket{le="3.5e+07"} 3.0
uploaded_file_sizes_bucket{le="4e+07"} 3.0
uploaded_file_sizes_bucket{le="4.5e+07"} 3.0
uploaded_file_sizes_bucket{le="5e+07"} 3.0
uploaded_file_sizes_bucket{le="+Inf"} 3.0
uploaded_file_sizes_count 3.0
uploaded_file_sizes_sum 2.848696e+06

此时我不知道如何在 Grafana 中显示类似下面的内容。令人困惑的是,无论我尝试什么,最终都会得到一个带有奇怪计数的图表,所以我确定我做的事情根本上是错误的。

【问题讨论】:

    标签: prometheus grafana bucket promql


    【解决方案1】:

    秘诀是为您的存储桶设置范围而不是实际值。例如。图中的 1MB 条不是 1MB 存储桶,而是设置 0.5MB 和 1.5MB 两个存储桶作为范围。

    例子

    uploaded_file_sizes = Summary(
        'uploaded_file_sizes',
        'Uploaded file size in bytes',
        buckets=(
            500000,  # 500KB
            1500000, # 1.5MB
            2000000, # 2.5MB
        )
    )
    

    我们将根据 范围 创建 4 个柱;

    然后,我们需要在每个查询中击败直方图的累积性质,计算从一个存储桶到另一个存储桶的变化率

    # Query 1: <1MB
    uploaded_file_sizes_bucket{le="500000.0"}
    
    # Query 2: 1MB
    uploaded_file_sizes_bucket{le="1.5e+06"} - ignoring(le)
    uploaded_file_sizes_bucket{le="500000.0"}
    
    # Query 3: 2MB
    uploaded_file_sizes_bucket{le="2.5e+06"} - ignoring(le)
    uploaded_file_sizes_bucket{le="1.5e+06"}
    
    # Query 4: 3MB+
    uploaded_file_sizes_bucket{le="+Inf"} - ignoring(le)
    uploaded_file_sizes_bucket{le="2.5e+06"}
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2010-09-21
      • 1970-01-01
      • 2014-04-04
      • 1970-01-01
      • 2017-07-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多