了解普罗米修斯度量标准

时间:2019-10-26 19:42:53

标签: prometheus pull

阅读并尝试使用Prometheus指标后,我还是不太了解。

说我有一个Telegraf代理,它每5秒将指标发送到Prometheus。

  • Prometheus应该配置为每5秒拉一次吧?但是,如果推拉之间有几秒钟的间隔(那推拉不会同时发生)怎么办?如果Prometheus配置为每7秒拉动一次,怎么办?
  • 如果Prometheus配置为每15秒拉动一次,该怎么办? 3推中只有1推被拉? Telegraf代理会对此大惊小怪吗?
  • 如果将Prometheus配置为每30秒甚至60秒拉动一次,该怎么办?是该时间点的拉动值,还是平均超过30/60秒?

最后,可以在运行时更改Prometheus拉动间隔吗?我想将拉动间隔减少到晚上每30甚至60秒一次。

2 个答案:

答案 0 :(得分:1)

我不知道您使用的是哪种类型的导出器,通常来说,普罗米修斯指标导出器是在特定端点上使用的HTTP server(大多数情况下是/metrics)。

  1. 因此,当您在配置Prometheus时设置scrape_interval=x时,它将每隔x秒在目标端点发出一个GET请求,并存储这些时间序列指标。

  2. 如果您要监视某些事件,这些事件的持续时间少于scrape_interval中提到的时间,则可能会错过这些事件。有一个名为prometheus pushgateway的东西可以解决这个问题。

  3. 通常,指标导出器不对时间序列数据执行任何操作,您将收到该时刻的数据。

  

Prometheus可以在运行时重新加载其配置。如果新配置格式不正确,则更改将不会应用。通过向Prometheus进程发送SIGHUP或向/-/ reload端点发送HTTP POST请求(启用--web.enable-lifecycle标志时)来触发配置重载。这还将重新加载所有已配置的规则文件。

Prometheus Configuration doc

答案 1 :(得分:1)

  

说我有一个Telegraf代理,它每5秒将指标发送到Prometheus。

与InfluxDB输出插件不同,Telegraf的Prometheus output plugin不会将指标推送到目标,而是创建一个为/ metrics(默认)端点提供服务的Web服务器。

如果要使用推式而不是拉式,则可以使用Pushgateway。推送到Pushgateway的数据(通过HTTP POST或PUT)将在Pushgateway的终结点处可用,Prometheus可以对其进行抓取。 但请注意,Pushgateway仅应在某些情况下使用,请参阅here

Telegraf提供了一些HTTP Output插件,因此(理论上)您可以使用Telegraf将指标推送到Pushgateway。但是在这种情况下,您不应该另外使用Telegraf的Prometheus输出插件。