当前位置: 首页 > news >正文

Promethues Metrics

Metrics

Metrics可分为三部分:
在这里插入图片描述

在这里插入图片描述

  • HELP 描述metric作用
  • TYPE metric类别

TYEP

Counter

  • 某个事件发生的次数
  • 数字只能增长
Total reuqests
Total Exceptions

Gauge

  • 描述当前值
  • 可以上升或下降
CurrentCPU Utilization
Available  System Memory
Number of concurrent requests

Histogram

  • 持续时间或增长值
  • 根据配置的bucket sizes进行分组
Response Time
Request Size

Summary

  • histograms的简化
  • 低于某个值的百分比进行分组
Response Time
Request Size

所有metric默认分配两个labels(instance/job)
在这里插入图片描述

Monitoring Containers

  • Metrics可以从容器化环境抓取
  • Docker Engine Metrics
  • 容器Metrics使用cAdvisor

Ubuntu安装Docker

# Add Docker's official GPG key:
sudo apt-get update
sudo apt-get install ca-certificates curl -y
sudo install -m 0755 -d /etc/apt/keyrings
sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc
sudo chmod a+r /etc/apt/keyrings/docker.asc# Add the repository to Apt sources:
echo \"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu \$(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt-get update
# 暴露9323端口
sudo vi /etc/docker/daemon.jsoncat /etc/docker/daemon.json 
{ "metrics-addr": "127.0.0.1:9323","experimental": true 
} sudo systemctl restart docker

在这里插入图片描述

bob@ubuntu-host ~ ➜  sudo vi /etc/prometheus/prometheus.yml # 新增job去抓取metricbob@ubuntu-host ~ ➜  tail -n 4 /etc/prometheus/prometheus.yml - job_name: 'docker'scrape_interval: 5sstatic_configs:- targets: ['localhost:9323']bob@ubuntu-host ~ ➜  sudo systemctl restart prometheus.service 

进入UI查看
在这里插入图片描述
Run cAdvisor

VERSION=v0.49.1 # use the latest release version from https://github.com/google/cadvisor/releases
sudo docker run \--volume=/:/rootfs:ro \--volume=/var/run:/var/run:ro \--volume=/sys:/sys:ro \--volume=/var/lib/docker/:/var/lib/docker:ro \--volume=/dev/disk/:/dev/disk:ro \--publish=8888:8080 \--detach=true \--name=cadvisor \--privileged \--device=/dev/kmsg \gcr.io/cadvisor/cadvisor:$VERSIONcurl localhost:8888/metrics# 配置文件
bob@ubuntu-host ~ ✖ sudo vi /etc/prometheus/prometheus.ymlbob@ubuntu-host ~ ➜  tail -n 4 /etc/prometheus/prometheus.yml- job_name: 'cAvisor'scrape_interval: 5sstatic_configs:- targets: ['localhost:8888']bob@ubuntu-host ~ ➜ sudo systemctl restart prometheus.service 

在这里插入图片描述

指标类型Docker Engine MetricscAdvisor Metrics
Docker 使用的 CPU 量监控 Docker 守护进程本身消耗的 CPU 资源不提供
失败的镜像构建次数记录失败的镜像构建次数不提供
处理容器操作的时间监控 Docker 执行容器操作(如启动、停止)所需的时间不提供
针对单个容器的指标没有针对单个容器的详细指标提供详细的容器级别指标,包括 CPU、内存、磁盘 I/O、网络等
每个容器的 CPU 和内存使用情况不提供监控每个容器消耗的 CPU 和内存资源
容器内部进程运行情况不提供提供每个容器内正在运行的进程信息
容器数量不提供显示当前运行的容器数量
容器的运行时间不提供监控每个容器自启动以来的运行时间
按容器分配的详细指标不提供提供每个容器的详细资源使用指标,包括 CPU、内存、磁盘 I/O、网络流量等
  • Docker Engine Metrics:侧重于全局监控和 Docker 守护进程的性能。
  • cAdvisor Metrics:侧重于详细的每个容器的资源使用和运行情况,适合细粒度的容器监控。

PromQL

Data Types

PromQL(Prometheus Query Language)的查询语句可以评估为四种不同的类型,分别是:

  • String 字符串值,通常在 Prometheus 的表达式中很少使用。

  • Scalar 简单的数值(浮点型),代表一个特定的数值,比如一个计算结果或常量。

  • Instant Vector 时间序列的集合,每个时间序列只包含一个样本,这些样本都共享相同的时间戳。通常用于查询特定时间点的度量值。
    在这里插入图片描述

  • Range Vector 时间序列的集合,每个时间序列包含一段时间内的数据点。用于查询一段时间范围内的度量值,如计算平均值或峰值等。
    在这里插入图片描述

Labels

在这里插入图片描述

  • = 精确匹配

在这里插入图片描述

  • != 精确不等匹配
    在这里插入图片描述
  • =~正则匹配
    在这里插入图片描述
  • !~正则不相等匹配
    在这里插入图片描述
  • 多条件匹配
    在这里插入图片描述
  • 区间向量
    在这里插入图片描述

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 深度学习助力自动驾驶:YOLO目标检测系统的实现与优化
  • 大数据mapper书写范式hdfs
  • 【中级软件设计师】加密技术、数字签名、数字证书 (附软考真题)
  • 大数据系列之:CentOS7安装Python3详细步骤
  • PicGo + gitee 免费搭建个人图床
  • Typora mac版本激活
  • Python | Leetcode Python题解之第327题区间和的个数
  • 深入理解 AWS CodePipeline
  • leetcode169:多数元素
  • 使用 宝塔面板 部署 php网站
  • 操作系统|day4.Linux、Linux内核、Linux负载、Linux文件存储
  • Java Bean Validation 注解:@NotEmpty、@NotBlank 和 @NotNull 的区别
  • 笔面试编程题总结
  • 详解pd.pivot_table
  • 计算机网络——网络层(多协议标签交换MPLS、软件定义网络SDN)
  • JavaScript-如何实现克隆(clone)函数
  • 2017 年终总结 —— 在路上
  • avalon2.2的VM生成过程
  • CentOS7简单部署NFS
  • JAVA 学习IO流
  • leetcode46 Permutation 排列组合
  • Next.js之基础概念(二)
  • OSS Web直传 (文件图片)
  • Promise初体验
  • vue从入门到进阶:计算属性computed与侦听器watch(三)
  • 产品三维模型在线预览
  • 从零开始在ubuntu上搭建node开发环境
  • 浅析微信支付:申请退款、退款回调接口、查询退款
  • 使用 @font-face
  • 用简单代码看卷积组块发展
  • 函数计算新功能-----支持C#函数
  • 扩展资源服务器解决oauth2 性能瓶颈
  • ​软考-高级-系统架构设计师教程(清华第2版)【第15章 面向服务架构设计理论与实践(P527~554)-思维导图】​
  • ​业务双活的数据切换思路设计(下)
  • #ifdef 的技巧用法
  • #Linux(帮助手册)
  • #QT(TCP网络编程-服务端)
  • (+3)1.3敏捷宣言与敏捷过程的特点
  • (10)Linux冯诺依曼结构操作系统的再次理解
  • (2024,LoRA,全量微调,低秩,强正则化,缓解遗忘,多样性)LoRA 学习更少,遗忘更少
  • (done) ROC曲线 和 AUC值 分别是什么?
  • (k8s)Kubernetes本地存储接入
  • (Mirage系列之二)VMware Horizon Mirage的经典用户用例及真实案例分析
  • (附源码)springboot青少年公共卫生教育平台 毕业设计 643214
  • (力扣题库)跳跃游戏II(c++)
  • (每日一问)基础知识:堆与栈的区别
  • (牛客腾讯思维编程题)编码编码分组打印下标(java 版本+ C版本)
  • (三)模仿学习-Action数据的模仿
  • (中等) HDU 4370 0 or 1,建模+Dijkstra。
  • .\OBJ\test1.axf: Error: L6230W: Ignoring --entry command. Cannot find argumen 'Reset_Handler'
  • .net core webapi Startup 注入ConfigurePrimaryHttpMessageHandler
  • .net 前台table如何加一列下拉框_如何用Word编辑参考文献
  • .NET 自定义中间件 判断是否存在 AllowAnonymousAttribute 特性 来判断是否需要身份验证
  • .NET6 命令行启动及发布单个Exe文件
  • .vue文件怎么使用_我在项目中是这样配置Vue的