我有prometheus配置,有许多工作,我正在通过http抓取指标。但我有一份工作,我需要通过https抓取指标。
当我访问时:
https://ip-address:port/metrics
我可以看到指标。 我在prometheus.yml配置中添加的工作是:
- job_name: 'test-jvm-metrics'
scheme: https
static_configs:
- targets: ['ip:port']
当我重新启动prometheus时,我可以在目标上看到错误:
超出背景截止日期
我已经读过,scrape_timeout可能是问题所在,但我已将其设置为50秒,仍然是同样的问题。
什么可能导致此问题以及如何解决? 谢谢!
答案 0 :(得分:4)
过去我遇到过同样的问题。在我的情况下,问题在于证书,我通过添加:
来修复它 tls_config:
insecure_skip_verify: true
你可以尝试一下,也许它会起作用。
答案 1 :(得分:3)
默认的scrape_timeout值可能对您来说太短了
[ scrape_timeout: <duration> | default = 10s ]
为scrape_timeout设置更大的值。
scrape_configs:
- job_name: 'prometheus'
scrape_interval: 5m
scrape_timeout: 1m
答案 2 :(得分:1)
我遇到了类似的问题,所以我尝试扩展我的scrape_timeout,但是它什么也没做-使用promtool可以解释问题
我有问题的工作看起来像这样:
- job_name: 'slow_fella'
scrape_interval: 10s
scrape_timeout: 90s
static_configs:
- targets: ['192.168.1.152:9100']
labels:
alias: sloooow
像这样检查您的配置:
/etc/prometheus $ promtool check config prometheus.yml
结果说明了问题并指出了解决方法:
Checking prometheus.yml
FAILED: parsing YAML file prometheus.yml: scrape timeout greater than scrape interval for scrape config with job name "slow_fella"
只需确保您的scrape_timeout足够长即可容纳所需的scrape_interval。
答案 3 :(得分:0)
就我而言,这是IPv6的问题。我已经用ip6tables阻止了IPv6,但是它也阻止了Prometheus流量。正确的IPv6设置为我解决了问题
答案 4 :(得分:0)
在我的情况下,我不小心在Kubernetes部署清单中放置了错误的端口,而不是与其相关的服务以及Prometheus目标中定义的端口。
答案 5 :(得分:0)
禁用selinux,然后重新启动服务器并再次测试。
答案 6 :(得分:0)
当prometheus
服务器无法到达可能是防火墙拒绝规则的抓取端点时,可能会发生这种情况。只需检查浏览器中带有<url>:9100
的URL(此处9100
是node_exporter服务运行端口`)并检查是否仍然可以访问?
答案 7 :(得分:0)
将超时时间增加到100万可以帮助我解决类似的问题
答案 8 :(得分:0)
当我们重新配置 istio-system 命名空间及其 istio-component 时,我们开始面临类似的问题。 我们还在启用 istio 注入的 monitoring 命名空间中通过 prometheus-operator 安装了 prometheus。
重新启动监控(启用 istio 注入)命名空间的 promtheus 组件解决了该问题。
答案 9 :(得分:0)
由于达到了最大连接数,我遇到了这个问题。我增加了数据库中的 max_connections 参数并释放了一些连接。 然后 Prometheus 能够再次抓取指标。