Prometheus(一)背景

2019-07-17  本文已影响0人  咩咩的毛球

一、背景

  1. 由SoundCloud开发的开源监控报警系统和时序列数据库(TSDB)。Prometheus使用Go语言开发,是Google BorgMon监控系统的开源版本。
  2. Kubernetes —— 容器集群管理系统
    Prometheus —— 用于 Kubernetes 集群的监控系统中
  3. Prometheus 特点:
    (1) 强大的多维度数据模型:
    • 时间序列数据通过 metric 名和键值对来区分。
    • 所有的 metrics 都可以设置任意的多维标签。
    • 数据模型更随意,不需要刻意设置为以点分隔的字符串。
    • 可以对数据模型进行聚合,切割和切片操作。
    • 支持双精度浮点类型,标签可以设为全 unicode。
      (2)灵活而强大的查询语句(PromQL):在同一个查询语句,可以对多个 metrics 进行乘法、加法、连接、取分数位等操作。
      (3)易于管理: Prometheus server 是一个单独的二进制文件,可直接在本地工作,不依赖于分布式存储。
      (4)高效:平均每个采样点仅占 3.5 bytes,且一个 Prometheus server 可以处理数百万的 metrics。
      (5)使用 pull 模式采集时间序列数据,这样不仅有利于本机测试而且可以避免有问题的服务器推送坏的 metrics。
      (6)可以采用 push gateway 的方式把时间序列数据推送至 Prometheus server 端。
      (7)可以通过服务发现或者静态配置去获取监控的 targets。
      有多种可视化图形界面。
      (8)易于伸缩。
  4. 注意:
    由于数据采集可能会有丢失,所以 Prometheus 不适用对采集数据要 100% 准确的情形。但如果用于记录时间序列数据,Prometheus 具有很大的查询优势,此外,Prometheus 适用于微服务的体系架构
  5. Prometheus 的主要模块包括:Prometheus server, exporters, Pushgateway, PromQL, Alertmanager 以及图形界面。


    Prometheus 架构图

工作流程

上一篇下一篇

猜你喜欢

热点阅读