我理解的 Prometheus 是什么
【摘要】 我们一块来开启 Prometheus 之旅吧。Prometheus 是一个免费的开源软件,用于实时系统和事件监控和警报。
介绍
Prometheus 是一个免费的开源软件,用于实时系统和事件监控和警报。Prometheus 最初由 SoundCloud 开发,2016 年成为云原生计算基金会的一个项目。
在开始使用 Prometheus 之前,还是有必要对他做一定的介绍。
我心中的 Prometheus
Prometheus 有几个重要的组成部分:
- Prometheus 服务器:可以把他比作整个系统的大脑,由他来收集各种指标,默认情况下他会将将这些指标存储在自己的时序数据库中,如果想使用其他时序数据库可以参考官方体统的数据库支持列表。他的特点定期主动出击拉取 Prometheus 客户端的指标数据。
- Prometheus 客户端:将监控数据组装成 Prometheus 可以处理的指标格式。
- Prometheus Alertmanager:检测到异常自动发送告警通知。
- Prometheus 可视化工具:提供了一个可以做简单报表的可视化界面。通常情况下,会将 Prometheus 配置为 Grafana 的数据源,通过 Grafana 做出各种需要的报表。
- Prometheus Pushgateway:和 Prometheus 不在一个仓库中,可以理解为 Prometheus 的一个网关代理,Prometheus 从 Pushgateway 拉取指标,而 Pushgateway 除了默认指标外,他主要是为了接收主动上报的监控指标。
Prometheus 特点
- 多维数据模型
- PromQL,一种灵活的查询语言,可以利用这种维度
- 不依赖分布式存储;单个服务器节点是独立的
- 通过 HTTP 的拉动模式进行时间序列的收集
- 通过中间网关支持时间序列的推送
- 通过服务发现或静态配置来发现目标
- 支持多种模式的图形和仪表盘制作
适合的场景
Prometheus 擅长记录纯数字为主的时序数据。他不仅适合监控服务器的指标,还适合监控服务中频繁动态变化的指标。在微服务的架构中,他有一个很明显的优势,支持多为数据的收集和查询。
在 Prometheus 的设计中,充分考虑了其可靠性,在系统不可用的时候,他可以辅助我们快速定位问题所在。每个 Prometheus 服务器都是独立的,他不依赖于网络存储或者其他的远程服务,我们只要简单步骤就可以搭建基于 Prometheus 的监控系统,而无需复杂基础设施的搭建。
不适合的场景
Prometheus 最重要的就是可靠性。即使在发生故障的情况下,我们仍然可以随时通过 Prometheus 查看监控指标。如果需要 100% 的准确,例如按照请求计费的系统就不是 Prometheus 所擅长的领域,因为他不会记录那么详细和完整的数据。在这样的情况下,最好选择更适合计费的系统来收集和分析计费数据,再使用 Prometheus 监控其余的指标。
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)