问题标签 [prometheus-node-exporter]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1053 浏览

grafana - 在 prometheus/grafana 中触发节点导出器的时间戳太旧的警报

我们已经运行了 node_exporter,并且我正在使用文本文件收集器让我输入由作业修改的文件的时间戳。

指标输出:

所以我们已经成功地在普罗米修斯中收集了它。我和我的舞会家伙遇到的问题,对于 prometheus 和 grafana 来说都是新手,是如何编写查询以触发警报,如果

当前纪元时间 - job_timestamp_file > 86400

这真的看起来应该很容易......

0 投票
1 回答
9951 浏览

prometheus - 如何使用 prometheus 和 node_exporter 获得服务器的整体正常运行时间

我正在寻找一个查询来获取上周运行 prometheus 的服务器的平均正常运行时间。它应该是大约 15 小时/周,所以大约 8-10 %。

我在 CentOS 7.6.1810 上使用 Prometheus 2.5.0 和 node_exporter。我最有希望的实验是:

1 - avg_over_time(up{job="prometheus"}[7d])

这是我在寻找获得平均正常运行时间的方法时发现的,但它正好给了我 1。(我的猜测是它忽略了没有刮擦发生的时间?)

2 - sum_over_time(up{job="prometheus"}[7d]) * 15 / 604800

这在技术上是可行的,但取决于刮擦间隔,在我的例子中是 15 秒。我似乎找不到从普罗米修斯的配置中获取所述间隔的方法,所以我必须将其硬编码到查询中。

我还尝试找到获取工作的所有开始和结束时间的方法,但到目前为止无济于事。

0 投票
0 回答
2797 浏览

prometheus - Alertmanager 未向接收者发送警报

我正在使用没有docker 的prometheus ,使用blackbox exporter来探测 icmp 目标和alertmanager以在 mac 上发出警报。

我做的测试很简单,通过添加-移除网线来切换目标的连接性。使用此设置,当目标不可到达时,我可以在普罗米修斯中看到警报,并在目标可到达时清除。

我尝试接收smtpwebhook通知,但是当警报状态为“FIRING”时,两者都不起作用。

这是 alertmanager.yml

这是普罗米修斯警报及其配置和活动警报 警报的屏幕截图

我还观察到,通过将--log.level=debug添加到 prometheus 和 blackbox 有大量的日志记录活动。但同样不适用于警报管理器,因为我没有看到任何浮动日志。

此外,当警报实际上处于活动状态时,使用邮递员查询的警报管理器 api 返回空的警报数组。

这里有什么建议吗?

0 投票
0 回答
1812 浏览

prometheus - 每个进程的 prometheus cpu 使用情况考虑核心

嗨,我想出了以下查询:

以秒为单位查找每个进程和节点的 cpu 使用情况

获取每个节点的 cpu 核心数

我怎么能做这样的查询:每个节点的 cpu 使用百分比考虑节点的核心(不超过 100 的值)

得到如下结果:

  • tango1 进程A 12%
  • tango1 流程B 25%
  • tango2 进程A 11%
  • tango2 进程B 23%
0 投票
1 回答
2255 浏览

python - 带有 __main__ 的 Prometheus Flask 导出器

我想将Prometheus Flask 导出器与__main__.

这可以通过运行正常工作env FLASK_APP=app.py flask run --port=80 --host='0.0.0.0'

但我想在__main__运行中使用我的应用程序python app.py

在这里我得到400 /metrics

我不知道如何正确初始化指标。

0 投票
1 回答
2547 浏览

prometheus - 获取 http://host-ip:9100/metrics: 超出上下文期限,

在普罗米修斯服务器 /target 上,我收到此错误:- 获取http://host-ip:9100/metrics:超出上下文期限。我可以使用 curl http://node_exporter-ip:9100/metrics从 prometheus 服务器卷曲指标。大约需要10s。我将 scrape_timeout 更改为 20s。node_host 的状态仍然没有变化。任何人都可以建议任何解决问题的方法。

0 投票
1 回答
59 浏览

ubuntu - 即使 After= 服务未启动,Systemd 目标文件也会启动

好的,首先,我想实现一个 systemd 服务不会被垃圾收集,如果它被停止并且默认情况下没有启用。我需要这个,因为Prometheus的节点导出器当前存在用于监控目的的问题。

我确实已经实现了我的目标,但我不确定它为什么会起作用以及是否有可能的副作用。

例如,我在我的 Ubuntu 18.03 上安装了 ntp,禁用了该服务并停止了它。现在我想让我的节点导出器告诉我,ntp.service 是不活动的,但是 ntp get 的垃圾被 systemd 收集了。我读到,在这种情况下,可以通过在某处使用 ntp 作为依赖项来防止这种情况。使用Wants=没有帮助,因为如果我的依赖服务重新启动,这将导致我的 ntp 重新启动。所以我做了一些实验,我创建了一个 test.target 文件,如下所示:

我启用了该服务并在禁用和停止 ntp 的情况下启动它。现在这是我的实际问题。即使 ntp.service 没有运行,我的 test.target 文件也确实被启用并且没有问题地启动。有趣的是,它也做了我想要的,ntp 不会被垃圾收集,即使它被禁用和停止。

所以我真的很想知道为什么会这样,为什么After=get 被忽略了?

0 投票
1 回答
759 浏览

nginx - 找不到 Nginx 导出器 Ingress nginx

我正在尝试将我的 nginx-ingress 中的指标发布到普罗米修斯。我已经阅读了 kubernetes.io 自述文件以进行部署和配置。我的 nginx 运行没有失败,但重试后节点导出器失败。

我在提到的吊舱中有两个容器作为边车,在我的环境中配置如下。

为什么 nginx 导出器总是失败?

我的 nginx-ingress.yaml 文件如下所示:

Prometheus-cfg.yaml 如下:

0 投票
1 回答
1566 浏览

prometheus - 如何将两个普罗米修斯指标加在一起

如果我查询一个指标,那么我会得到一个结果1

如果我查询相同的指标但使用不同的标签,那么我会得到一个结果0

但是如果我尝试将它们加在一起,那么我会得到no data

但是通过阅读https://prometheus.io/docs/prometheus/latest/querying/examples/#using-functions-operators-etc我希望我的表达能够起作用:

如果我们有两个具有相同维度标签的不同指标,我们可以对它们应用二元运算符,并且两侧具有相同标签集的元素将被匹配并传播到输出。例如,此表达式为每个实例返回 MiB 中未使​​用的内存(在一个虚构的集群调度程序上,公开有关它运行的实例的这些指标):

(instance_memory_limit_bytes - instance_memory_usage_bytes) / 1024 / 1024

  • 如何将我的两个指标加在一起?
  • 我的查询有什么问题?
0 投票
1 回答
1139 浏览

prometheus - node_exporter 的 init.d 脚本/服务

我有 Gentoo 服务器,我在其中安装了 node_exporter。我无法在机器上创建 systemd 服务,因为 systemctl 不存在。现在我必须为 node_exporter 创建 init.d 服务。我已经使用以下脚本创建了服务

Node_exporter.sh

但这并没有完全启动这个过程,它 Starting service 只是停留在。我在这里错过什么了吗