• Prometheus介绍


    Prometheus的主要特点

    Prometheus 属于一站式监控告警平台,依赖少,功能齐全。
    Prometheus 支持对云的或容器的监控,其他系统主要对主机监控。
    Prometheus 数据查询语句表现力更强大,内置更强大的统计函数。
    Prometheus 在数据存储扩展性以及持久性上没有 InfluxDB,OpenTSDB,Sensu 好。

    Prometheus的核心组件

    Prometheus Server, 主要用于抓取数据和存储时序数据,另外还提供查询和 Alert Rule 配置管理。
    client libraries :  用于对接 Prometheus Server, 可以查询和上报数据。(业务的应用里需要引入)
    push gateway : 用于批量,短期的监控数据的汇总节点,主要用于业务数据汇报等。
    各种汇报数据的 exporters: 例如汇报机器数据的 node_exporter, 汇报 MongoDB 信息的 MongoDB exporter 等等。
    alertmanager :用于告警通知管理的 alertmanager 。

    Prometheus的架构图

     

    从这个架构图,也可以看出 Prometheus 的主要模块包含, Server, Exporters, Pushgateway, PromQL, Alertmanager, WebUI 等。

    它大致使用逻辑是这样:

    Prometheus server 定期从静态配置的 targets 或者服务发现的 targets 拉取数据。
    当新拉取的数据大于配置内存缓存区的时候,Prometheus 会将数据持久化到磁盘(如果使用 remote storage 将持久化到云端)。
    Prometheus 可以配置 rules,然后定时查询数据,当条件触发的时候,会将 alert 推送到配置的 Alertmanager。
    Alertmanager 收到警告的时候,可以根据配置,聚合,去重,降噪,最后发送警告。
    可以使用 API, Prometheus Console 或者 Grafana 查询和聚合数据。

    Prometheus提供了4中不同的Metrics类型: Counter, Gauge, Histogram, Summary。

    Counter:只增不减的计数器
    计数器可以用于记录只会增加不会减少的指标类型,比如记录应用请求的总量,cpu使用时间等。

    对于Counter类型的指标,只包含一个inc()方法,用于计数器+1。

    一般而言,Counter类型的metrics指标在命名中我们使用_total结束,如http_requests_total。

    Gauge: 可增可减的仪表盘
    对于这类可增可减的指标,可以用于反应应用的当前状态。

    例如在监控主机时,主机当前空闲的内存大小,可用内存大小。或者容器当前的cpu使用率,内存使用率。

    对于Gauge指标的对象则包含两个主要的方法inc()以及dec(),用户添加或者减少计数。

    Histogram:自带buckets区间用于统计分布统计图
    主要用于在指定分布范围内(Buckets)记录大小或者事件发生的次数。

    Summary: 客户端定义的数据分布统计图
    Summary和Histogram非常类型相似,都可以统计事件发生的次数或者大小,以及其分布情况。

    Summary和Histogram都提供了对于事件的计数_count以及值的汇总_sum。 因此使用_count,和_sum时间序列可以计算出相同的内容,例如http每秒的平均响应时间:rate(basename_sum[5m]) / rate(basename_count[5m])。

    同时Summary和Histogram都可以计算和统计样本的分布情况,比如中位数,9分位数等等。其中 0.0<= 分位数Quantiles <= 1.0。

    不同在于Histogram可以通过histogram_quantile函数在服务器端计算分位数。 而Sumamry的分位数则是直接在客户端进行定义。因此对于分位数的计算。 Summary在通过PromQL进行查询时有更好的性能表现,而Histogram则会消耗更多的资源。相对的对于客户端而言Histogram消耗的资源更少。

  • 相关阅读:
    《信息安全系统设计基础》实验一 开发环境的熟悉
    20145205 《信息安全系统设计基础》第9周学习总结
    #20145205《信息安全系统设计基础》第八周学习暨期中总结
    20145205 《信息安全系统设计基础》第7周学习总结
    20145205 《信息安全系统设计基础》第6周学习总结
    20145205 《信息安全系统设计基础》第5周学习总结
    20145205 《信息安全系统设计基础》第3周学习总结
    《信息安全系统设计基础》第一周问题总结
    20145205 《信息安全系统设计基础》第2周学习总结
    20145205 《信息安全系统设计基础》第1周学习总结
  • 原文地址:https://www.cnblogs.com/duanxz/p/10168490.html
Copyright © 2020-2023  润新知