在监视基于Node JS的Web应用程序时,我在Prometheus中遇到以下错误。
level = warn ts = 2019-08-02T18:23:48.658364708Z呼叫者= scrape.go:932 component =“ scrape manager” scrape_pool = batch_web target = https://example.com:443/metrics msg =“摄入样品时出错 太旧或太远了” num_dropped = 6
关于为什么会发生这种情况以及如何解决这个问题的任何指示?
答案 0 :(得分:1)
错误消息似乎很清楚|准确。
其尝试抓取的指标似乎带有时间戳(可能是问题!),并且过时或过长。
通常,普罗米修斯指标不包括时间戳。
通过搜索Google错误消息,您可以更快地解决此问题。
答案 1 :(得分:0)
在运行Ubuntu 18.04的VMware,vagrant和Paralles虚拟环境中的虚拟机上使用prometheus,我在syslog中遇到了与此消息相同的问题
msg="Error on ingesting out-of-order samples"
and veraious num_dropped= values
起作用的是在每个映像上发出所有这些命令,然后重新启动映像。如果没有重新启动,num_dropped会降低,但是错误一直存在,直到重新启动
/usr/bin/timedatectl set-ntp false
systemctl stop systemd-timesyncd
systemctl disable systemd-timesyncd
systemctl mask systemd-timesyncd
答案 2 :(得分:0)
通过将 --log.level=debug
作为参数传递给 prometheus 来启用 Prometheus 中的调试模式
检查日志。在我的例子中,被丢弃的指标被返回:
msg="Out of order sample" series="some-metric{a="b",c="d"}
检查可能返回重复 some-metric
的 prometheus 配置和规则文件。在我的情况下,重复的规则导致了问题,因为从联合普罗米修斯中刮取了相同的指标并由我的普罗米修斯再次计算。删除重复规则解决了问题。