Prometheus是一套开源的监控&报警&时间序列数据库的组合,起始是由SoundCloud公司开发的。成立于2012年,之后许多公司和组织接受和采用prometheus,他们便将它独立成开源项目,并且有公司来运作.该项目有非常活跃的社区和开发人员,目前是独立的开源项目,任何公司都可以使用它,2016年,Prometheus加入了云计算基金会,成为kubernetes之后的第二个托管项目。Google SRE的书内也曾提到跟他们BorgMon监控系统相似的实现是Prometheus。现在最常见的Kubernetes容器管理系统中,通常会搭配Prometheus进行监控。
Prometheus作为新一代监控产品被广泛使用,主要组件分为三部分:
-
Exporter:类似于传统监控产品中的Agent,部署于被监控设备上。
-
Prometheus Server:负责主动收集Exporter中的性能数据。
-
AlertManager:专门用于处理告警信息的组件,可以发送Email,微信告警等。
可选组件中包括:
-
Pushgateway:监控数据中转组件,可实现Push的方式采集。
-
Grafana:通用可视化组件(非Prometheus项目内组件)。
Prometheus与传统监控产品不同的特别之处是在于全面使用了时序数据库作为数据存储模型,它可以使用内置的TSDB数据库也可是通过HTTP API的方式使用像InfluxDB等其他时序数据库。
注:Prometheus由于使用Go作为开发语言,所以现还不支持AIX等Unix系统。