当前位置: 首页 > 知识库问答 >
问题:

普罗米修斯与节点导出器体系结构

丁念
2023-03-14

我已经读了3天了,甚至配置了一套容器来测试它们,但我有疑问。

我了解普罗米修斯节点导出器的架构基于:

  • 节点导出器知道如何提取度量。这些在HTTP中公开,例如:9201/metrics
  • Prometheus每隔X秒查询这些HTTPendpoint(节点导出HTTTP)并存储度量。它还为图形/控制台可视化/查询提供了另一个HTTP。

问题1:

假设您希望CPU指标每15秒一次,硬盘指标每5米一次,网络指标每1米一次,进程指标每30秒一次。

既然是普罗米修斯决定了刮取间隔,那么如何将其配置为只刮取这些值呢?

问题2:

假设您想要1个prometheus实例和3个节点导出器,不同的公共服务器。我没有看到任何关于节点导出器及其安全性的内容。HTTP终结点是公共的。

如何从我的3台服务器安全地查询指标?

问题三:

我不知道我是否错过了什么。但是,举例来说,与Telegraf相比,Telegraf将指标发送到数据库。因此,Telegraf充当“节点导出器”。我只需要保护数据库连接(仅公开端口)。

节点导出器可以配置为每隔X次向prometheus服务器发送一组指标吗?(所以我不必在每个公共服务器中公开公共端口,只需普罗米修斯服务器)我明白“push网关”是为了这个?如何改变节点输出者行为?

您是否向我推荐其他适合我需要的架构?(1个主节点,多个从节点用于查询指标)

共有2个答案

宦炜
2023-03-14

既然是普罗米修斯决定了刮取间隔,那么如何将其配置为只刮取这些值呢?

我不相信这是可能的。普罗米修斯一次从一个endpoint抓取所有数据,因此如果所有数据都来自node_exporter,那么您将以相同的频率获取所有数据。

如何从我的3台服务器安全地查询指标?

普罗米修斯安全文档谈到了使用反向代理来处理这类事情。

是否可以将节点导出器配置为每X次向prometheus服务器发送一组度量?

我不这么认为。普罗米修斯是一个拉力式监控系统。如果您真的需要通过推送来移动数据,那么您可能需要做的是使用脚本或任何东西将数据推送到Prometheus服务器上的缓存中,然后让Prometheus定期轮询该缓存。我不知道这样的事情是否存在。

文凯康
2023-03-14

问题一

既然是普罗米修斯决定了刮取间隔,那么如何将其配置为只刮取这些值呢?

您可以使用各自的scrape_interval和HTTP URL参数params配置不同的作业。然后,这取决于出口商提出的特征。

对于node_exporter,您可以传递收集器列表:

  • cpu每15秒一次(作业:节点\u cpu)

请注意,由于数据过时,5分钟的刮取间隔可能太大:您有可能无法在该数据的瞬时向量中获取任何数据。1分钟的刮擦间隔已经很大,对性能没有影响。

问题2

如何从我的3台服务器安全地查询指标?

普罗米修斯最初的假设是你会使用一个私人网络。在公共网络的情况下,您需要某种代理。

就我个人而言,我在古典建筑上使用过exporter_exporter。

问题3

节点导出器可以配置为每隔X次向prometheus服务器发送一组指标吗?(所以我不必在每个公共服务器中公开公共端口,只需普罗米修斯服务器)我明白“push网关”是为了这个?如何改变节点输出者行为?

不,Prometheus是基于拉的体系结构:您将需要Prometheus在您想要监视的每个服务上访问的URI。我想您可以重用来自另一个监控解决方案的组件,并使用像collectd exporter这样的临时导出器。

推送网关是为那些迫不及待被普罗米修斯抢走的短命工作设计的。这是一个特定的用例,一般的共识是不要滥用它。

 类似资料:
  • 我有一个带有prom客户端的node express应用程序,用于监视串行连接并向httpendpoint报告值,串行速度为9600波特,正在通过网络传输一些统计数据。Prometheus实例以1000毫秒的间隔配置作业,以针对该endpoint并获取度量。我希望能够在至少10毫秒的分辨率内看到这个指标,但似乎普罗米修斯图形分辨率不接受小于1秒的分辨率。我应该怎么做才能让普罗米修斯以至少10毫秒的

  • 我有一个启用了监视和日志记录的GKE集群(1.15)。到目前为止,我们一直使用metrics-server对StackDriver进行度量监控。对于其他自定义度量标准,我们使用了自定义度量标准适配器,该适配器使用Prometheus-to-SD将度量标准刮取并导出到stackdriver。 我想开始看看prometheus是否能给我们提供其他功能,比如HPA的聚合度量。 在GCP marketpl

  • 我将我的GKE API服务器升级到1.6,并正在将节点升级到1.6,但遇到了一个障碍... 我有一个prometheus服务器(版本1.5.2),运行在一个由Kubernetes部署管理的pod中,其中两个节点运行版本1.5.4Kubelet,一个新节点运行版本1.6。 但普罗米修斯仍然得到401。 更新:就像乔丹所说的kubernetes认证问题。在这里看到新的、更集中的问题;https://s

  • 我要监控的应用程序为健康检查提供了一个apiendpoint,该endpoint使用json中的指标进行响应。例如: 我已经设置了Prometheus blackbox\u exporter,以监视此endpoint是否返回200 Ok,但理想情况下,我也希望获得这些指标。我知道instrumentation直接从应用程序导出这些数据。但是,由于应用程序已经在导出json对象中我想要的内容,我更希

  • null 使用默认配置和轻微的定制。 我可以访问prometheus、grafana和alertmanager,查询度量标准并查看精美的图表。 但是prometheus-adapter在启动时不断抱怨它不能访问/发现度量: 在我的设置中,对于prometheus-adapter的正确值是什么?

  • 我使用Spring-Boot2.0.0并尝试公开/acturet/prometheusendpoint。我启用了所有web管理endpoint,但只有prometheusendpoint未公开。有什么帮助吗?