如何使用 prometheus 节点导出器提取正在运行的进程?

Posted

技术标签:

【中文标题】如何使用 prometheus 节点导出器提取正在运行的进程?【英文标题】:How to extract the running process using prometheus node exporter? 【发布时间】:2019-11-05 23:41:01 【问题描述】:

我已经在prometheus官网https://prometheus.io/download/为我的linux系统下载了prometheus node exporter。

如果我运行节点导出器文件,它运行良好并且能够看到 9100 端口中的指标。

在 9100 指标中,我希望提取正在运行的进程(例如:我需要提取任何正在运行的应用程序,如“chrome”浏览器),但我在节点导出器目录中没有任何配置文件来过滤正在运行的过程。

他们的任何命令是否可用于过滤节点导出器中所需的运行进程,例如, ./node_exporter "像'chrome'这样的过滤进程"

我可以使用“prometheus.yml”文件“标签”来过滤我的 linux 系统中正在运行的进程吗?

请建议我,如何在节点导出器中提取正在运行的进程和系统详细信息。

【问题讨论】:

您的意思是您有流程统计信息但想要过滤它们,还是您的意思是您没有流程指标并想知道是否有过滤器阻止它?没有配置文件,所有选项都在命令行中(更容易在容器中操作)。 【参考方案1】:

Node Exporter 旨在提供机器级(内核|OS)指标的测量。

可以将节点导出器配置为显示聚合 (!) 进程测量,但不能将其配置为显示每个进程的测量。原因是对合理数量的进程的测量可能会淹没导出器。

有一个(配套)解决方案可让您报告一组经过过滤的流程。我没有使用过,但在回答您的问题时发现了它:

https://github.com/ncabatoff/process-exporter

【讨论】:

我已经看到process-exporter 被使用过,它令人印象深刻。 IIRC 甚至有一个非常酷的 Grafana 仪表板(如果你搜索的话,有几个,不确定我看到的是哪一个)。

以上是关于如何使用 prometheus 节点导出器提取正在运行的进程?的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 JSON 格式获取 Prometheus 节点导出器指标

Grafana/Prometheus 节点导出器无数据

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

Kube-Prometheus-Stack 和保护外部节点导出器

JMX 导出器和 Prometheus

未完成的节点导出器盒的Prometheus错误在哪里?