Prometheus架构

从架构图中可以看出其大概的工作流程:

1、Prometheus Server 以服务发现(如 Kubernetes 等)的方式自动发现或者静态配置添加监控目标;

2、Prometheus Server 定期从监控目标(Jobs/exporters)或 Pushgateway 中拉取数据(metrics),将时间序列数据保存到其自身的时间序列数据库(TSDB)中;

3、Prometheus Server 通过 HTTP Server 对外开放接口,可以给可视化工具(如 Prometheus web UI、Grafana 或自己开发的工具)用PromQL查询/导出数据;

4、当有告警产生时,Prometheus Server 将告警信息推送到Alertmanager ,由 Alertmanager 根据配置的策略发送告警信息到对应的接收方;

5、Pushgateway 接收 “Short-lived” 类型的 Jobs 推送过来的 metrics 并缓存,等待 Prometheus Server 抓取。

Exporter的来源

社区提供的
Prometheus架构

用户自定义的
除了直接使用社区提供的Exporter程序以外,用户还可以基于Prometheus提供的Client Library创建自己的Exporter程序,目前Promthues社区官方提供了对以下编程语言的支持:Go、Java/Scala、Python、Ruby。同时还有第三方实现的如:Bash、C++、Common Lisp、Erlang,、Haskeel、Lua、Node.js、PHP、Rust等。

相关文章:

  • 2021-06-27
  • 2021-09-11
  • 2021-05-17
  • 2021-11-03
  • 2021-08-16
  • 2021-12-17
  • 2022-01-12
  • 2022-12-23
猜你喜欢
  • 2021-07-06
  • 2022-12-23
  • 2022-12-23
  • 2022-01-17
  • 2022-02-11
  • 2021-10-11
  • 2022-12-23
相关资源
相似解决方案