Prometheus存储机制

概述 Prometheus提供了本地存储,即tsdb时序数据库,本地存储给Prometheus带来了简单高效的使用体验,prometheus2.0以后压缩数据能力也得到了很大的提升。可以在单节点的情况下满足大部分用户的监控需求。 但本地存储也限制了Prometheus的可扩展性,带来……

阅读全文

Prometheus的配置与服务发现

本文将分析Prometheus的常见配置与服务发现,分为概述、配置详解、服务发现、常见场景四个部分进行讲解。 一. 概述 Prometheus的配置可以用命令行参数、或者配置文件,如果是在k8s集群内,一般配置在configmap中(以下均为prometheus2.7版本) 查看可用的命……

阅读全文

Prometheus数据可视化

一. 概述 Prometheus自带了一个web服务,包括一个默认的dashboard,可以使用表达式查询并进行图表可视化,默认服务的地址为:http://prometheus_ip:9090 如下图: 自带的web展示一般只用于表达式快速输入或者临时调试,因为默认服务没有鉴权,且图表表……

阅读全文

PromQL查询解析

一. 概述 Prometheus除了存储数据外,还提供了一种强大的功能表达式语言 PromQL,允许用户实时选择和汇聚时间序列数据。 表达式的结果可以在浏览器中显示为图形,也可以显示为表格数据,或者由外部系统通过 HTTP API 调用。通过PromQL用户可以非常方便地查询监控数据,或者利用表达式进行……

阅读全文

Prometheus部署方案

一.单独部署 二进制安装 各版本下载地址:https://prometheus.io/download/ Docker运行 运行命令:docker run –name prometheus -d -p 127.0.0.1:9090:9090 prom/prometheus 暴露服务: http://localhost:9090/ 二.在K8S中部署 如果在Kubernetes中部署Prometheus,可以使用prometheus in kuberne……

阅读全文

Prometheus基本架构

系统架构图 1.x版本的Prometheus的架构图为: 目前Prometheus版本为2.7,架构图为: Prometheus从exporter拉取数据,或者间接地通过网关gateway拉取数据(如果在k8s内部署,可以使用服务发现的方式),它默认本地存储抓取的所有数据,并通过一定规……

阅读全文

Prometheus概述

概述 Prometheus是一套开源的监控、报警、时间序列数据库的组合,起始是由SoundCloud公司开发的。从2016年加入CNCF,2016年6月正式发布1.0版本,2017年底发布了基于全新存储层的2.0版本,能更好地与容器平台、云平台配合,到2018年8月毕业,现在已经成……

阅读全文

K8S常用指标分析

基于 RED方法 和 USE 方法 对以下四类指标进行分析: cadvisor 指标分析 node-exporter 指标分析 etcd 指标分析 apiserver 指标分析 cadvisor 指标分析 在Kubernetes中,cAdvisor嵌入到kubelet中,本文使用 USE 方法对容器的指标进行分析。 USE方法代表 利用率 饱和度 错误 cAdvisor提供的“容器”指标最终是底层Linu……

阅读全文

从kubectl top看K8S监控原理

一. 前言 kubectl top 可以很方便地查看node、pod的实时资源使用情况:如CPU、内存。这篇文章会介绍其数据链路和实现原理,同时借kubectl top 阐述 k8s 中的监控体系,窥一斑而知全豹。最后会解释常见的一些问题: kubectl top 为什么会报错? kubectl top node 怎么计算,和节点上直接 top 有什么区别? kubectl top pod 怎么计算,包含……

阅读全文

高可用prometheus:thanos 实践

背景 在prometheus 使用心得文章中有简单提到prometheus 的高可用方案,尝试了联邦、remote write 之后,我们最终选择了 thanos 作为监控配套组件,利用其全局视图来管理我们的多地域、200+集群的监控数据。本文主要介绍 thanos 的一些组件使用和心得体会。 prometheus官方的高可用……

阅读全文