Prometheus 概念 什么是 Prometheus? Prometheus 是一个开源的系统监控和告警工具包,最初由 SoundCloud 开发。Prometheus 只做一件事,并且做得很好。它拥有一个简单而强大的数据模型以及一种查询语言,可以让你分析应用程序和基础设施的表现如何。它不试图解决超出指标范围的问题,而是将这些问题留给更合适的工具来处理。Prometheus 主要使用 Go 编写,并在 Apache 2.0 许可证下发布。 架构 一个典型的使用 Prometheus 的监控平台由多个工具组成: -> 多个导出器通常运行在被监控主机上以导出本地指标。 -> Prometheus —— 用于集中存储和管理这些指标。 -> Alertmanager —— 根据这些指标触发告警。
Prometheus 是一个开源的系统监控和告警工具包,最初由 SoundCloud 开发。Prometheus 只做一件事,并且做得很好。它拥有一个简单而强大的数据模型以及一种查询语言,可以让你分析应用程序和基础设施的表现如何。它不试图解决超出指标范围的问题,而是将这些问题留给更合适的工具来处理。Prometheus 主要使用 Go 编写,并在 Apache 2.0 许可证下发布。
一个典型的使用 Prometheus 的监控平台由多个工具组成:
-> 多个导出器通常运行在被监控主机上以导出本地指标。
-> Prometheus —— 用于集中存储和管理这些指标。
-> Alertmanager —— 根据这些指标触发告警。
-> Grafana —— 用于创建仪表板。
-> PromQL —— 用于创建仪表板和告警的查询语言。
Prometheus 生态系统包含多个组件,其中许多是可选的:
-> 主 Prometheus 服务器,负责抓取和存储时间序列数据
-> 用于对应用代码进行度量化的客户端库
-> 推送网关,用于支持短生命周期的任务
-> 为特定服务(如 HAProxy、StatsD、Graphite 等)提供的特殊导出器
-> Alertmanager,用于处理告警
-> 各种支持工具
作为一个基于指标的系统,Prometheus 不适合存储事件日志或单个事件。对于高基数数据(如电子邮件地址或用户名),它也不是最佳选择。
Prometheus 适用于运营监控,在这种情况下,由于内核调度和抓取失败等因素导致的小误差和竞争条件是不可避免的。Prometheus 做出了权衡,宁愿给你提供 99.9% 准确的数据,也不愿让你的监控系统因为等待完美数据而中断。因此,在涉及金钱或计费的应用程序中,应谨慎使用 Prometheus。
声明:
本文件灏天文库团队进行了翻译。尽管我们力求准确,但请注意,翻译可能包含错误或不准确之处。原文档以其原始语言为准。我们不对因使用此翻译而产生的任何误解或误译负责。