作用

  • 是一个开源的报警系统

数据模型

指标名称

每一条时间序列由指标名称(Metrics Name)以及一组标签(键值对)唯一标识。其中指标的名称(metric name)可以反映被监控样本的含义。例如,http_requests_total 表示当前系统接收到的 HTTP 请求总量。指标名称只能由 ASCII 字符、数字、下划线以及冒号组成,同时必须匹配正则表达式 :[a-zA-Z_:][a-zA-Z0-9_:]*

标签

对于相同的指标名称,通过不同标签列表的集合,会形成特定的度量维度实例。

标签的名称只能由 ASCII 字符、数字以及下划线组成并满足正则表达式 [a-zA-Z_][a-zA-Z0-9_]*。其中以 _ 作为前缀的标签,是系统保留的关键字,只能在系统内部使用。标签的值则可以包含任何 Unicode 编码的字符。

例如,指标名称为 api_http_requests_total,标签为 method="POST"handler="/messages" 的时间序列可以表示为:

api_http_requests_total{method="POST", handler="/messages"}

查询语言在这些指标和标签列表的基础上进行过滤和聚合。改变任何度量指标上的任何标签值(包括添加或删除指标),都会创建新的时间序列。

样本

在时间序列中的每一个点称为一个样本(sample),样本由以下三部分组成:

  • 指标(metric):指标名称和描述当前样本特征的 labelsets;
  • 时间戳(timestamp):一个精确到毫秒的时间戳;
  • 样本值(value): 一个 folat64 的浮点型数据表示当前样本的值。

3)指标类型

Counter(计数器):代表一种样本数据单调递增的指标。Gauge(仪表盘):代表一种样本数据可以任意变化的指标,即可增可减。Histogram(直方图):在一段时间范围内对数据进行采样(通常是请求持续时间或响应大小等),并将其计入可配置的存储桶(bucket)中,后续可通过指定区间筛选样本,也可以统计样本总数,最后一般将数据展示为直方图。Summary(摘要):与 Histogram 类型类似,用于表示一段时间内的数据采样结果。

安装

参考官网

案例演示

修改配置文件prometheus.yml

#全局配置
global:scrape_interval:     15s #设置每隔15s pull一次数据,默认1min# Attach these labels to any time series or alerts when communicating with# external systems (federation, remote storage, Alertmanager).external_labels:monitor: 'codelab-monitor'# 每一个job的配置
scrape_configs:# The job name is added as a label `job=<job_name>` to any timeseries scraped from this config.- job_name: 'prometheus'# Override the global default and scrape targets from this job every 5 seconds.scrape_interval: 5sstatic_configs:- targets: ['localhost:9090']

用指定配置文件启动prometheus

/usr/local/prometheus/prometheus --storage.tsdb.path="/data1/prometheus/data/" --log.level=debug --web.enable-lifecycle --web.enable-admin-api --config.file=/usr/local/prometheus/prometheus.yml

登录webui

http://localhost:9090/graph

输入一个指标进行查询. 如图,对一个指标(metric)进行查询,结果返回一个时间序列. 包含指标名称和一些label .label由键值对构成.如下图指标名称叫做prometheus_target_interval_length_seconds. 然后指标的标签有Instance,interval,job,quantile等四个标签.

也可以只查指定标签的结果

计算返回结果的数目

使用图形界面,横坐标代表时间

总结

  • 如何自定义指标?
  • 指标的含义是什么?

Prometheus入门简介相关推荐

  1. Prometheus入门使用(三)

    Prometheus入门使用(三) Prometheus告警简介: Prometheus通过PromQL表达式定义触发告警条件,满足触发条件之后在web页面显示告警,关联Alertmanager之后就 ...

  2. Prometheus入门教程

    目录 1.简介 2.主要功能 3.Prometheus的架构及核心组件 4.安装和配置 5.相关概念 5.1.数据模型(时间序列) 5.2.metric类型 Counter(计数器) Gauge(测量 ...

  3. Markdown入门简介

    参考 http://sspai.com/25137 作者: Te_Lee 文章来源: 少数派 Markdown入门简介(使用工具Haroopad) 一.使用的工具----haroopad(http:/ ...

  4. 分布式文件系统—HDFS—入门简介

    原文作者:Zh_Y_G 原文地址:HDFS入门简介 目录 HDFS是什么? 设计目标: 安装配置 HDFS读写流程图解 CheckPoint HDFS是什么? 易于扩展的分布式文件系统 运行在大量普通 ...

  5. Logstash入门简介

    Logstash入门简介 介绍 Logstash是一个开源的服务器端数据处理管道,能够同时从多个来源采集数据,转换数据,然后将数据发送到最喜欢的存储库中(我们的存储库当然是ElasticSearch) ...

  6. android 教程概要,Android精通教程-第一节Android入门简介

    前言 大家好,我是 Vic,今天给大家带来Android精通教程-第一节Android入门简介的概述,希望你们喜欢 每日一句 If life were predictable it would cea ...

  7. 车联网大数据框架_大数据基础:ORM框架入门简介

    作为大数据开发技术者,需要掌握扎实的Java基础,这是不争的事实,所以对于Java开发当中需要掌握的重要框架技术,也需要有相应程度的掌握,比如说ORM框架.今天的大数据基础分享,我们就来具体讲一讲OR ...

  8. 掌握 Ajax,第 1 部分: Ajax 入门简介

    2019独角兽企业重金招聘Python工程师标准>>> 掌握 Ajax,第 1 部分: Ajax 入门简介 理解 Ajax 及其工作原理,构建网站的一种有效方法 Ajax 由 HTM ...

  9. 大数据与Hadoop有什么关系?大数据Hadoop入门简介

    学习着数据科学与大数据技术专业(简称大数据)的我们,对于"大数据"这个词是再熟悉不过了,而每当我们越去了解大数据就越发现有个词也会一直被提及那就是--Hadoop 那Hadoop与 ...

最新文章

  1. linux内核centos6.9,CentOS6.9手动编译并更新Kernel内核版本
  2. opencv改变imshow窗口大小,窗口位置,ROI
  3. C/C++从入门到高手所有必备PDF书籍收藏
  4. Quartz- Quartz API以及Jobs 和Triggers介绍
  5. 黑马程序员_集合学习1
  6. 查看mysql的版本的四种方法
  7. android将拍摄的图片存入sd卡中,Android将图片保存至SD卡上
  8. Redis(十一):Redis特殊类型之Bitmap位图
  9. supersocket缓冲区_使用Socket从Client传输文件到Server对文件缓冲区大小有限制么?...
  10. vmware中nat模式中使用静态ip后无法上网的问题
  11. Yii-- DeleteAll连表删除报错问题的解决方法
  12. ASP.NET状态管理之五(Cookie)
  13. centos调整页面大小_新手教程!设置PDF文件的页面大小
  14. java 数据库编程(一)JDBC连接Sql Server数据库
  15. 用cocos studio生成plist文件
  16. Es6中Promise链式调用then方法
  17. web版收银系统,支持支付宝,微信扫描枪支付,数字输入
  18. Linux内核调试技术指南
  19. 微信小程序操作教程(个人用户注册)
  20. 紫罗兰永恒花园rust简谱_【Sincerely】简谱 自制 高清

热门文章

  1. 计算机round是什么函数,round函数
  2. shell while 结束循环_Shell脚本编程2 for循环/while循环
  3. VMware15.0安装CentOS7
  4. acm竞赛java很少_ACM比赛中JAVA的应用
  5. python stdout stderr 一起输出_Python日志记录在stdout和stderr之间拆分
  6. python中全局变量_玩转Python,使用全局变量
  7. mysql在缺省状态下_MYSQL面试题
  8. rocketmq 消息 自定义_rocketmq中的自定义消息头
  9. facebook加密货币项目_Facebook数字货币:Libra的起源—加密货币(比特币)
  10. c语言 内存清除函数,C语言内存初始化函数MEMSET的用法