【监控系列】prometheus
Prometheus 是一款开源的 监控和警报工具包,专为云原生和动态环境设计,由 SoundCloud 创建并于 2016 年加入 CNCF(云原生计算基金会)。其核心功能包括多维数据模型、灵活的查询语言(PromQL)、高效的时间序列数据库(TSDB)以及动态服务发现,适用于监控分布式系统和微服务架构。
一、核心组件
-
Prometheus Server
- 抓取(Scrape):定期从配置的目标(如应用、Exporters)拉取指标数据。
- 存储(Storage):将时间序列数据存储在本地或远程 TSDB 中。
- 查询(Query):通过 PromQL 提供实时数据分析能力。
-
Client Libraries
- 支持多种语言(Go、Java、Python等),用于在应用程序中嵌入监控代码,暴露自定义指标(如 HTTP 请求数、错误率)。
-
Exporters
- 将第三方系统(如 MySQL、Redis、Nginx)的监控数据转换为 Prometheus 可识别的格式。常用 Exporters 包括
node_exporter
(主机监控)、blackbox_exporter
(网络探测)等。
- 将第三方系统(如 MySQL、Redis、Nginx)的监控数据转换为 Prometheus 可识别的格式。常用 Exporters 包括
-
Push Gateway
- 用于接收短生命周期任务(如批处理作业)的指标数据,避免因任务终止导致数据丢失。
-
Alertmanager
- 处理来自 Prometheus 的警报,进行去重、分组、静默,并通过邮件、Slack、PagerDuty 等渠道发送通知。
-