prometheus 基础介绍

一    prometheus的基本概念


  • 指标 metric
  • TS 时间序列数据,存储的数据库叫TSDB,叫时序数据库。
  • zabbix(后端数据库关系型) 存在性能瓶颈。
  • 趋势数据: 聚合分析的结果。
  • 告警升级,阶梯型通知
  • 数据节点: target
  • 数据抓取:scrape



告警系统组成部分

  • 监控采集:  被监控端要有监控代理,应用程序自带仪表盘。黑盒监控(探针),网络设备:(snmp)
  • 数据存储:SQL、Nosql(kv\document、tsdb、)
  • 展示: Grafana
  • 报警:  通知作用 。
    • 媒介
      • 邮件、短信、钉钉、微信、Slack
      • 推荐:《监控的艺术》书籍

常见的监控软件:

  • Cacti 、Nagios
  • Zabbix
  • Openfalcon/夜莺
  • CAT(美团点评)
  • Prometheus


功能实现:

  • 创始人在google, 去了soundcloud
  • 2012年研发,2015年发布,现在是2.0阶段
  • 现在已经捐给了CNCF
  • Metric ,多维度的标签组合都代表一个独立的时间序列。
  • 内建了时序数据的聚合、切割、切片
  • 支持双精度浮点型数据

缺点:

  • 日志的存储不支持。


二  prometheus的工作原理


  • prometheus是一款时序数据库,一块设计目标监控的关键组件。数据默认是一个月,如果时间更长需要对接其他时序数据库。
  • 整合生态系统内的其他组件,例如pushgateway\Altermanager和Grafana等,可构成一个完整的IT监控系统。
  • 监控采集模式
    • Pull : 监控系统去监控端拿数据,   prometheus仅支持该模式。
    • Push:   监控端推送数据到监控系统
  • 监控的组件:
    • PushGateway: 受限于网络等因素,可能导致prometheus无法拉取到客户端的数据,此时需要pushgateway,客户端将数据上传到pushgateway上,prometheus去pushgateway上拉数据。
    • 内部的查询引擎:  PromQL语句 ,内置了web的接口。可以基于web界面调用promQL接口。
    • Prometheus  ,内置的存储数据默认一个月,如果需要存储时间较长需对接其他时序数据库。
    • AlerManager: 告警组件, 本身不支持告警,需要结合promQL的结果结合表达式进行告警。
    • 展示界面可以借助Grafana。
    • node_exporter ,查询指标之后暴露给prometheus。一对一的指标抓取代理器。
    • 自动发现:   可以自动服务的发现并纳入到系统


架构图:

prometheus 基础介绍

上一篇:冬季实战营第四期:零基础容器技术实战笔记


下一篇:kubernetes基于角色的安全控制学习笔记