Prometheus概述
概述
Prometheus是一套开源的监控、报警、时间序列数据库的组合,起始是由SoundCloud公司开发的。从2016年加入CNCF,2016年6月正式发布1.0版本,2017年底发布了基于全新存储层的2.0版本,能更好地与容器平台、云平台配合,到2018年8月毕业,现在已经成为Kubernetes的官方监控方案,社区活跃,第三方集成非常丰富。
特点
Prometheus是一个开源的完整监控解决方案,其对传统监控系统的测试和告警模型进行了彻底的颠覆,形成了基于中央化的规则计算、统一分析和告警的新模型。 相比于传统监控系统Prometheus具有以下优点:
-
易于管理:只有一个单独的二进制文件,不存在任何的第三方依赖,采用Pull的方式拉取数据
-
强大的数据模型:每一条时间序列由指标名称(Metrics Name)以及一组标签(Labels)唯一标识
-
强大的查询语言PromQL:内置了一个强大的数据查询语言PromQL,可以实现多种查询、聚合
-
高性能:单实例可以处理数以百万的监控指标、每秒处理数十万的数据点
-
易扩展:支持sharding和联邦集群,实现多数据中心
-
易集成:支持多种语言的SDK进行应用程序数据埋点,社区有丰富插件
-
可视化:自带Prometheus UI,可以进行查询与展示,Grafana也完整支持Prometheus。
-
开放性:使用sdk采集的数据可以被其他监控系统使用,不一定非要用Prometheus
文章汇总
Prometheus目前已经成为了官方推荐的监控方案,HPA也支持其自定义的监控数据,为了方便部署管理,CoreOS也推出了prometheus-operator,将CRD引入其中,社区发展非常迅速,云厂商和主流公司也做了引入和支持。
Prometheus是一个完整的监控系统,内容很多,后续文章将结合实际场景,分开阐述各种用法:
- Prometheus基本架构
- Prometheus部署方案
- Prometheus配置与服务发现
- PromQL查询解析
- Prometheus数据可视化
- Prometheus数据持久化
- Alertmanager告警处理
- Prometheus高可用方案
- Exporter推荐
- Prometheus Operator详解
- 核心组件原理分析
本文为容器监控实践系列文章,完整内容见:container-monitor-book
- 原文作者:惨绿少年
- 原文链接:https://clsn.io/post/2022-06-28-prometheus%E6%A6%82%E8%BF%B0.html
- 版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 4.0 国际许可协议进行许可,非商业转载请注明出处(作者,原文链接),商业转载请联系作者获得授权。