我理解的 Prometheus 是什么

举报
boyce 发表于 2021/09/23 06:52:52 2021/09/23
【摘要】 我们一块来开启 Prometheus 之旅吧。Prometheus 是一个免费的开源软件,用于实时系统和事件监控和警报。

介绍

Prometheus 是一个免费的开源软件,用于实时系统和事件监控和警报。Prometheus 最初由 SoundCloud 开发,2016 年成为云原生计算基金会的一个项目。

在开始使用 Prometheus 之前,还是有必要对他做一定的介绍。

我心中的 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

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。