本系列文章不赘述官网中的一些无关紧要的内容

官方文档:https://prometheus.io/docs/introduction/overview/

什么是Prometheus

Prometheus is an open-source systems monitoring and alerting toolkit.(开源的系统监控和报警套件)

特性(Features)

  • a multi-dimensional data model with time series data identified by metric name and key/value pairs(带有时间序列数据的多维数据模型,由指标名称和键值对标记)
  • a flexible query language to leverage this dimensionality(灵活的查询语言获取维度信息)
  • no reliance on distributed storage; single server nodes are autonomous(无分布式存储依赖,自治的单一服务节点)
  • time series collection happens via a pull model over HTTP(使用http协议的pull模式实现时间序列数据采集)
  • pushing time series is supported via an intermediary gateway(时间序列推送由中间接口支持)
  • targets are discovered via service discovery or static configuration(可自动发现或者静态配置的目标端点)
  • multiple modes of graphing and dashboarding support(混合图形模型和面板支持)

组件(Components)

The Prometheus ecosystem consists of multiple components, many of which are optional:

  • the main Prometheus server which scrapes and stores time series data(主服务抓取并存储时间序列数据)
  • client libraries for instrumenting application code(客户端库可用来检测应用代码)
  • a push gateway for supporting short-lived jobs(推送接口用来支持短期工作)
  • special-purpose exporters for services like HAProxy, StatsD, Graphite, etc.(特定用途的输出器,如HAProxy, StatsD, Graphite等)
  • an alertmanager to handle alerts(处理报警的alertmanager)
  • various support tools(对于各种工具的支持)

架构(Architecture)

这里写图片描述

对于上图做一下解释:

左上:通过推送接口获取短活任务/服务的监控指标,然后由prometheus自动抓取
左下:通过任务/输出器或者prometheus server暴露接口提供监控指标,然后由prometheus自动抓取
中上:自动服务发现组件
中下:prometheus服务器,实现服务发现、数据查询存储等功能
右上:将prometheus推送过来的报警信息由alertmanager处理后发送到指定接收端
右下:通过web端界面或者客户端获取数据进行展示,也可以提供服务配置、规则配置、报警接收等

prometheus适合什么时候使用(When does it fit?)

适合记录单纯的数据时间序列,既适合机器中心的监控又适合高动态面向服务的架构。在微服务世界里,提供强有力的多维数据收集与查询 。
Prometheus为可靠性而设计,使得我们能够在系统中断的时候快速诊断问题所在。每一台prometheus服务器都是独立的,不依赖于任何的网络存储或者远程服务,就算其他的部分基础设施down掉了你也可以依靠它,不需要搭建额外的基础设施去使用它。

prometheus不适合什么时候使用(When does it not fit?)

Prometheus重在可靠性,任何时候我们都可以查看系统的那些资料可用,即使在失败情况下。如果需要100%的准确性,例如对每一个请求的计费,Prometheus不是最好的选择,这种情况下你需要使用其它系统来收集和分析数据来计费,剩下的监控任务就交给prometheus。

关于安装不赘述请参阅官网:
https://prometheus.io/docs/introduction/first_steps/
下篇将注重于配置解读

Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐