zoukankan      html  css  js  c++  java
  • prometheus的数据类型介绍

    Prometheus操作指南 -- http://www.mianshigee.com/tutorial/prometheus-book/readme.md
    prometheus的数据类型介绍 -- https://blog.csdn.net/polo2044/article/details/83277299


    简介

    Prometheus将所有采集到的样本数据以时间序列(time-series)的方式保存在内存数据库中,并定时保存在硬盘上。时间序列中的每一个样本由以下三部分组成。

    • 指标(metric): metric name和描述当前样本特征的labelsets组成,参考格式如 {
    • 时间截(timestamp):一个精确到毫秒的时间截;
    • 样本值(value):一个float64的浮点类型数据表示当前的样本值。

    特点

    • 多维数据模型,包含key/value标识标签的时间序列数据;
    • PromQL,一种灵活的查询语言 ,内置的函数可以让我们快速运算得到我们想要的结果;
    • 不依赖分布式存储,默认是本地存储,也可以选择远程读写;
    • 通过http请求拉取(pull)exporter数据;
    • 也可以通过网关(gateway)推送(push)数据;
    • 配置可以通过服务发现或静态配置发现监控目标;
    • 多种图形和仪表板支持模式,特别是grafana的支持,让我们可以快速完成好看的图表。

    四种指标类型

    • counters

    计数器,从0开始累积,理想情况永远的增长趋势。比如每天用户访问量,从1 一直累加到10000,最多某分钟保持不变。(当然 这个是分时间段的,在第二天又是从1开始。可以通过数学计算强制填坑)

    • gauges

    最简单的度量指标,只有一个简单的返回值(瞬时状态)。衡量队列中的任务个数。当监控硬盘的容量、内存的使用量。随时间的推移,不断的、没有规则变化的数据。特点:没有规律、采集回来多少就是多少。

    • Histograms

    比例性估算数值,统计数据的分布情况,代表的是近似的百分比估算数值。比如http请求中的响应时间,代表依次http请求中的总共花费时间。这个数据一般在nginx访问日志中会存储这个数值。如果我们想监控用户的访问时间,结果会发现这类数据会分为几个区段,基本符合正态分布图。通过这种图,就可以针对特别慢的用户,进行排查原因,或者过长的时间进行报警。或者一天时间中,某几分钟因为系统的原因,访问时间变的特别慢,我们想通过监控对这段时间出现问题的时候,及时报警出来。histogram类型会分别统计出全部用户的响应时间的各个区段的个数,可以很轻松的知道,当前我们系统中,处于正常状态的用户,有多少百分比用户。

    Prometheus表达式语言数据类型

    1、瞬时向量(Instant vector) 一组时间序列,每个时间序列包含单个样本,它们共享相同的时间戳。也就是说,表达式的返回值中只会包含该时间序列中的最新的一个样本值。而相应的这样的表达式称之为瞬时向量表达式。

    2、区间向量(Range vector) - 一组时间序列,每个时间序列包含一段时间范围内的样本数据。

    3、标量(Scalar) - 一个浮点型的数据值。

    4、字符串(String) - 一个简单的字符串值。

  • 相关阅读:
    java图片裁剪原理
    代码整洁之道
    vue.js devtools安装
    Convert DateTime To Varchar with multiple Styles
    Sql Server为数值变量添加删除前导后缀(翻译)
    asp.net ckeditor 3.6.2 + ckfinder 2.1 上传图片
    转摘 IE6 动态创建 iframe 无法显示的 bug
    sql server output parameter
    windows7 无法删除文件夹 提示需要SYSTEM权限
    Kooboo 全文索引研究
  • 原文地址:https://www.cnblogs.com/daikainan/p/14443981.html
Copyright © 2011-2022 走看看