prometheus - Prometheus 目标指标抓取记录时间与配置的间隔时间不匹配
问题描述
普罗米修斯配置
- job_name: monitor/monitor-kubelet/1
honor_labels: true
honor_timestamps: true
scrape_interval: 30s
scrape_timeout: 10s
metrics_path: /metrics/cadvisor
scheme: https
bearer_token_file: /var/run/secrets/kubernetes.io/serviceaccount/token
tls_config:
ca_file: /var/run/secrets/kubernetes.io/serviceaccount/ca.crt
insecure_skip_verify: true
...
实际状态
容器的 cpu 使用指标
value time interval
564010.259718631 @1634796181.961 35.13
564038.239253667 @1634796207.239 25.28
564061.535707756 @1634796234.983 27.74
564089.671915667 @1634796259.893 24.91
564120.98571483 @1634796292.126 32.23
564151.00582766 @1634796325.768 33.64
564180.591742732 @1634796358.304 32.54
564222.871858907 @1634796394.18 35.88
564250.313854137 @1634796424.652 30.47
564265.597564892 @1634796440.941 16.29
564288.788884994 @1634796471.012 30.07
564314.519065257 @1634796500.054 29.04
564340.769640412 @1634796533.434 33.38
564375.470987326 @1634796568.181 34.75
564392.951227567 @1634796587.909 19.73
564428.292375175 @1634796623.551 35.64
564465.554481447 @1634796660.313 36.76
564498.230676101 @1634796687.866 27.55
564533.118751601 @1634796720.387 32.52
这将在愤怒(指标)时导致图表中的断点。
这种情况如何优化?</p>
解决方案
scrape_interval
不是绝对的东西。这只是意味着在您的情况下,您大约每 30 秒就会刮一次。
因此,在 25 到 35 秒的时间段内发生刮擦是完全正常的。我同意,带有 16 和 19 的线条“令人惊讶”,但这不是错误。
现在对于您的图表,假设您使用正确的范围进行范围查询,您应该不会遇到任何中断。什么是正确的范围?它应该至少是您的刮擦间隔的四倍,在您的情况下它将是 2 分钟。这是为什么 ?避免因漏刮、慢刮、慢摄取等造成的断点。
您可以在此处找到更多信息
推荐阅读
- c# - 在 C# 中使用多个计时器
- javascript - 在弹出框的数据内容中选择元素的属性
- c# - 嘿,我需要有关此代码的更多信息
- css - 使用 sass 实时生成 css
- docker - 詹金斯、kubernetes、getaddrinfo EAI_AGAIN
- c - 如何修改我的代码以使其正常工作?
- javascript - node.js 和 websocket:是否有可能进入竞争状态?
- python-3.x - python3 tkinter event.x event.y 负值
- caliburn.micro - Caliburn.Micro 4.0 是否仍在使用引导程序?
- c# - 在 C# 中创建自己的小部件并添加到表中