PROMETHEUS容器监控
我们知道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 |
|
以#开头的表示注释信息,解释了每一个指标的监控目的和类型
node_cpu表示监控指标的名称
{}内的内容是标签,以键值对的方式记录
数字是这个指标监控的数据
下图横坐标代表的是时间(时间戳的方式记录在TSDB中),纵坐标代表了各种不同的指标名称,坐标系中的黑点代表了各个指标在不同时间下的值。
每一个横线 就是时间序列
每个黑点就是样本(prometheus将样本以时间序列的方式保存在内存中,然后定时保存到硬盘上)
指标(metric)的格式如下:
1 |
|
指标名称反映的是监控了什么。
标签反映的是样本的维度,可以理解成指标的细化。比如:
1 |
|
指标是“api_http_requests_total”,含义是通过api请求的http总数。
标签“method="POST"” "handler="/messages""代表了这些http请求中 POST 请求 并且 handler是/messages的数量
上述指标等同于:
1 |
|
指标有四种类型
1、Counter 只增不减 计数器
2、Gauge 可增可减 仪表盘
3、Histogram 直方图
4、Summary 摘要型
PROMETHEUS容器监控相关推荐
- 第 10 章 容器监控 - 085 - 如何快速部署 Prometheus?
快速搭建 Prometheus 监控系统 环境说明 通过 Prometheus 监控两台 Docker Host:10.12.31.22 和 10.12.31.23,监控 host 和容器两个层次的数 ...
- Prometheus 容器化部署,配合Grafan画图工具监控节点
Prometheus 容器化部署,配合Grafan画图工具监控节点 一.部署环境 主机名 IP地址 服务 prometheus 192.168.85.131 prometheus.grafana no ...
- Prometheus容器化部署,配合Grafan画图工具监控节点信息
文章目录 Prometheus 容器化部署,配合Grafan画图工具监控节点 部署 Prometheus 部署 node_exporter 部署grafana Prometheus 容器化部署,配合G ...
- 实战 Prometheus 搭建监控系统
欢迎关注方志朋的博客,回复"666"获面试宝典 Prometheus 是一款基于时序数据库的开源监控告警系统,说起 Prometheus 则不得不提 SoundCloud,这是一个 ...
- 基于 Prometheus 的监控系统实践
监控作为底层基础设施的一环,是保障生产环境服务稳定性不可或缺的一部分,线上问题从发现到定位再到解决,通过监控和告警手段可以有效地覆盖了「发现」和「定位」,甚至可以通过故障自愈等手段实现解决,服务开发和 ...
- 容器监控实践—Heapster
概述 该项目将被废弃(RETIRED) Heapster是Kubernetes旗下的一个项目,Heapster是一个收集者,并不是采集 1.Heapster可以收集Node节点上的cAdvisor数据 ...
- 你必须知道的容器监控 (2) cAdvisor
# 实验环境:阿里云ECS主机(两台),CentOS 7.4 01 - cAdvisor简介 为了解决容器的监控问题,Google开发了一款容器监控工具cAdvisor(Container Advis ...
- 你必须知道的容器监控 (1) Docker自带子命令与Weave Scope
本篇已加入<>,可以点击查看更多容器化技术相关系列文章.本篇会介绍几个目前比较常用且流行的容器监控工具,首先我们来看看Docker自带的几个监控子命令:ps.top以及stats,然后是一 ...
- Prometheus 系统监控方案
最近一直在折腾时序类型的数据库,经过一段时间项目应用,觉得十分不错.而Prometheus又是刚刚推出不久的开源方案,中文资料较少,所以打算写一系列应用的实践过程分享一下. Prometheus 是什 ...
最新文章
- python 判断字符串是否全部为数字组成(使用isdigit)
- Set Matrix Zeroes
- ios 获取当前系统时间
- C#枚举、值、字符串的相互转换
- 美团遭遇反垄断调查;微信利用社交垄断封杀西瓜视频;Qt 6 for Python发布|极客头条...
- CSRF verification failed. Request aborted.的解决办法
- 木瓜移动SaaS平台——木瓜大橙直击当下跨境电商企业出海六大痛点
- html文档 word文档,html文档怎么转Word文档
- 第一章--多媒体技术概述
- 高精度定位赋能行业创新,Petal Maps Platform 创新地图平台能力
- android 仿微信加载框,Android仿微信网络加载弹出框
- MT6737/MT6737T/MT6737M处理器功能介绍,MT6737芯片资料
- 浅析Js中${}字符串拼接
- JDK8安装时错误1335的解决
- java基础---悲观锁和乐观锁
- nRF51822 TWI学习
- 万年历显示程序C语言,C语言万年历的源程序
- 鱼眼校正c语言算法,鱼眼图像校正算法.PDF
- 定积分与不定积分的区别是什么
- Windows下kali子系统安装教程