Prometheus概述
一、是什么
Prometheus是一个开源系统监控和警报工具包,受启发于Google的Brogmon监控系统(相似的Kubernetes是从Google的Brog系统演变而来),从2012年开始由前Google工程师在Soundcoud以开源软件的形式进行研发,并目于2015年早期对外发布早期版本,2016年5月继Kubernetes之后成为第二个正式加入CNCE基金会的项目,同年6月正式发布1.0版本。2017年底发布了基于全新存储层的2.0版本能更好地与容器平台、云平台配合。
主要特点
支持多维数据模型由指标名称和键值对标识的时间序列数据
内置时间序列库TSDB(Time Serices Database)
支持PromQL(Promethues Query Language)对数据的查询和分析、图形展示和监控告警。
不依赖分布式存储;单个服务器节点是自治的
支持HTTP 的拉取(pull)方式收集时间序列数据
通过中间网关Pushgateway推送时间序列
通过服务发现或静态配置2种方式发现目标
支持多种可视化和仪表盘,如:grafana
二、组成
2.1 核心组件
Prometheus Server,主要用于抓取数据和存储时序数据,另外还提供査询和 Alert Rule 配置管理
client libraries,用于检测应用程序代码的客户端库。
pushgateway,用于批量,短期的监控数据的汇总节点,主要用于业务数据汇报等。
exporters 收集监控样本数据,并以标准格式向 Prometheus 提供。例如:收集服务器系统数据的 node exporter,收集 MSOL 监控样本数据的是 MySQL exporter 等等
用于告警通知