有关Prometheus-01

  • 概述
    • 开源监控系统
    • 特点

      a.多维数据模型

      b.灵活的查询语言PromQL

      c.不依赖任何分布式存储

  • 架构图及理解
    • 架构

        

    Prometheus Server 采用拉取方式从监控目标直接拉取数据,或者通过Pushgateway拉取监控目标推送给Pushgateway的数据。它在本地存储抓取的数据,通过制定的规则整理和清理数据,将得到的结果存储起来,Grafana等工具可以通过 PromQL 查询语言在 Server 里获取数据。 Server会根据告警规则监测异常并推送告警给 Alertmanager,Alertmanager 负责通知。

    • 理解
     
  • 概念
    • 数据模型

     Prometheus存储的所有数据都是时间序列(time-series)数据,时序数据是具有时间戳的数据流,该数据流属于某个度量指标(Metric)和该度量指标下的多个标签(Label)

    • 时序数据格式

      a.Metric name

      b.Label:对于同一个度量指标,不同标签值组合会形成特定维度的时序。标签支持了Prometheus的多维数据模型,Prometheus的查询语言可以通过度量指标和标签对时序数据进行过滤和聚合。标签名称可以包含ASCII字母、数字、下划线,需要匹配正则表达式,带有_下划线的标签名称保留为内部使用;标签值可以包含任意Unicode字符,包含中文。

      例如:表示所有hhtp请求中的Get请求,当method=“post“时,则为一个新的metric

          httprequests_total{method="Get"}

      c.Timestamp

      d.Simple value

    • 度量指标(Metric)描述了被监控的某个测量特征。度量指标由ASCII字母、数字、下划线和冒号组成,须匹配正则表达式,类型如下

      a.Counter:一种累加的metric,它是一个只能递增的数值。典型的应用如:请求的个数、结束的任务数、出现的错误数等。重启进程后,会被重置为0.

      b.Gauge:一个既可以增加,又可以减少的度量指标,主要用于计量瞬时数据

      c.histogram:主要用于表示一段时间范围内对数据进行采样(请求持续时间或响应大小)并能够对其指定区间以及总数进行统计,通常展示为直方图

      d.Summary:主要用于表示一顿时间内数据采样结果,它直接存储了quantile数据,而不是根据统计区间计算出来的

  • 安装
    • 官网下载对应的压缩包

      a.解压缩到本地

      b.进入文件夹中,修改配置文件

      c.运行

$./prometheus
    • github上克隆后在本地运行
    • 在mac终端homebrew
//下载
$brew install prometheus //查看,测试是否安装成功 $prometheus --version

猜你喜欢

转载自www.cnblogs.com/thief-bear/p/13402433.html