我们知道zabbix在监控界占有不可撼动的地位,功能强大。但是对容器监控显得力不从心。为解决监控容器的问题,引入了prometheus技术。prometheus号称是下一代监控。接下来的文章打算围绕prometheus做一个系列的介绍,顺便帮自己理清知识点。


一、简介

  prometheus是由谷歌研发的一款开源的监控软件,目前已经被云计算本地基金会托管,是继k8s托管的第二个项目。

二、优势

  易于管理

  轻易获取服务内部状态

  高效灵活的查询语句

  支持本地和远程存储

  采用http协议,默认pull模式拉取数据,也可以通过中间网关push数据

  支持自动发现

  可扩展

  易集成

三、prometheus运行流程

prometheus根据配置定时去拉取各个节点的数据,默认使用的拉取方式是pull,也可以使用pushgateway提供的push方式获取各个监控节点的数据。将获取到的数据存入TSDB,一款时序型数据库。此时prometheus已经获取到了监控数据,可以使用内置的PromQL进行查询。它的报警功能使用Alertmanager提供,Alertmanager是prometheus的告警管理和发送报警的一个组件。prometheus原生的图标功能过于简单,可将prometheus数据接入grafana,由grafana进行统一管理。

四、监控的目的

  google指出,监控分为白盒监控和黑盒监控之分。

  白盒监控:通过监控内部的运行状态及指标判断可能会发生的问题,从而做出预判或对其进行优化。

  黑盒监控:监控系统或服务,在发生异常时做出相应措施。

  监控的目的如下:

    1、根据历史监控数据,对为了做出预测

    2、发生异常时,即使报警,或做出相应措施

    3、根据监控报警及时定位问题根源

    4、通过可视化图表展示,便于直观获取信息

五、常用概念

  prometheus采集到的监控数据均以metric(指标)形式保存在时序数据库中(TSDB)

  每一条时间序列由 metric 和 labels 组成,每条时间序列按照时间的先后顺序存储它的样本值。

  默认情况下各监控client向外暴露一个HTTP服务,prometheus会通过pull方式获取client的数据,数据格式如下:

1

2

3

4

5

6

#  HELP node_cpu Seconds the cpus spent in each mode.

#  TYPE node_cpu counter

node_cpu{cpu="cpu0",mode="idle"}    362812.7890625

#  HELP node_load1 1m   load    average.

#  TYPE node_load1 gauge

node_load1 3.0703125

  以#开头的表示注释信息,解释了每一个指标的监控目的和类型

  node_cpu表示监控指标的名称

  {}内的内容是标签,以键值对的方式记录

  数字是这个指标监控的数据

  下图横坐标代表的是时间(时间戳的方式记录在TSDB中),纵坐标代表了各种不同的指标名称,坐标系中的黑点代表了各个指标在不同时间下的值。

  每一个横线 就是时间序列

  每个黑点就是样本(prometheus将样本以时间序列的方式保存在内存中,然后定时保存到硬盘上)

 

  指标(metric)的格式如下:

1

<metric  name>{<label  name>=<label  value>,  ...}

  指标名称反映的是监控了什么。

  标签反映的是样本的维度,可以理解成指标的细化。比如:

1

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

  指标是“api_http_requests_total”,含义是通过api请求的http总数。

  标签“method="POST"” "handler="/messages""代表了这些http请求中 POST 请求 并且 handler是/messages的数量

  上述指标等同于:

1

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

  

  指标有四种类型

  1、Counter  只增不减  计数器

  2、Gauge  可增可减    仪表盘

  3、Histogram  直方图

  4、Summary  摘要型

PROMETHEUS容器监控相关推荐

  1. 第 10 章 容器监控 - 085 - 如何快速部署 Prometheus?

    快速搭建 Prometheus 监控系统 环境说明 通过 Prometheus 监控两台 Docker Host:10.12.31.22 和 10.12.31.23,监控 host 和容器两个层次的数 ...

  2. Prometheus 容器化部署,配合Grafan画图工具监控节点

    Prometheus 容器化部署,配合Grafan画图工具监控节点 一.部署环境 主机名 IP地址 服务 prometheus 192.168.85.131 prometheus.grafana no ...

  3. Prometheus容器化部署,配合Grafan画图工具监控节点信息

    文章目录 Prometheus 容器化部署,配合Grafan画图工具监控节点 部署 Prometheus 部署 node_exporter 部署grafana Prometheus 容器化部署,配合G ...

  4. 实战 Prometheus 搭建监控系统

    欢迎关注方志朋的博客,回复"666"获面试宝典 Prometheus 是一款基于时序数据库的开源监控告警系统,说起 Prometheus 则不得不提 SoundCloud,这是一个 ...

  5. 基于 Prometheus 的监控系统实践

    监控作为底层基础设施的一环,是保障生产环境服务稳定性不可或缺的一部分,线上问题从发现到定位再到解决,通过监控和告警手段可以有效地覆盖了「发现」和「定位」,甚至可以通过故障自愈等手段实现解决,服务开发和 ...

  6. 容器监控实践—Heapster

    概述 该项目将被废弃(RETIRED) Heapster是Kubernetes旗下的一个项目,Heapster是一个收集者,并不是采集 1.Heapster可以收集Node节点上的cAdvisor数据 ...

  7. 你必须知道的容器监控 (2) cAdvisor

    # 实验环境:阿里云ECS主机(两台),CentOS 7.4 01 - cAdvisor简介 为了解决容器的监控问题,Google开发了一款容器监控工具cAdvisor(Container Advis ...

  8. 你必须知道的容器监控 (1) Docker自带子命令与Weave Scope

    本篇已加入<>,可以点击查看更多容器化技术相关系列文章.本篇会介绍几个目前比较常用且流行的容器监控工具,首先我们来看看Docker自带的几个监控子命令:ps.top以及stats,然后是一 ...

  9. Prometheus 系统监控方案

    最近一直在折腾时序类型的数据库,经过一段时间项目应用,觉得十分不错.而Prometheus又是刚刚推出不久的开源方案,中文资料较少,所以打算写一系列应用的实践过程分享一下. Prometheus 是什 ...

最新文章

  1. python 判断字符串是否全部为数字组成(使用isdigit)
  2. Set Matrix Zeroes
  3. ios 获取当前系统时间
  4. C#枚举、值、字符串的相互转换
  5. 美团遭遇反垄断调查;微信利用社交垄断封杀西瓜视频;Qt 6 for Python发布|极客头条...
  6. CSRF verification failed. Request aborted.的解决办法
  7. 木瓜移动SaaS平台——木瓜大橙直击当下跨境电商企业出海六大痛点
  8. html文档 word文档,html文档怎么转Word文档
  9. 第一章--多媒体技术概述
  10. 高精度定位赋能行业创新,Petal Maps Platform 创新地图平台能力
  11. android 仿微信加载框,Android仿微信网络加载弹出框
  12. MT6737/MT6737T/MT6737M处理器功能介绍,MT6737芯片资料
  13. 浅析Js中${}字符串拼接
  14. JDK8安装时错误1335的解决
  15. java基础---悲观锁和乐观锁
  16. nRF51822 TWI学习
  17. 万年历显示程序C语言,C语言万年历的源程序
  18. 鱼眼校正c语言算法,鱼眼图像校正算法.PDF
  19. 定积分与不定积分的区别是什么
  20. Windows下kali子系统安装教程

热门文章

  1. kk音标导读(下):赖世雄老师26个英语字母导读示范 (附我备注)
  2. 史蒂夫·乔布斯(Steve Jobs)——苹果公司CEO
  3. 当乐app官方下载android,当乐App
  4. axure读取服务器文件,axure配置本地服务器
  5. USB 3.0协议理解
  6. python 海龟turtle画爱心
  7. 人工智能相关名词解释(参考王万良教授《人工智能导论》以及网络博客)
  8. 基于毫米波的DOA估计方法浅谈
  9. 高中计算机课程网页修改,网页的制作
  10. Java计算机毕业设计中期检查写作参考