Promethues Metrics

news2024/9/24 19:14:31

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.json

cat /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去抓取metric

bob@ubuntu-host ~ ➜  tail -n 4 /etc/prometheus/prometheus.yml 
  - job_name: 'docker'
    scrape_interval: 5s
    static_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:$VERSION

curl localhost:8888/metrics


# 配置文件
bob@ubuntu-host ~ ✖ sudo vi /etc/prometheus/prometheus.yml

bob@ubuntu-host ~ ➜  tail -n 4 /etc/prometheus/prometheus.yml
  - job_name: 'cAvisor'
    scrape_interval: 5s
    static_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

在这里插入图片描述

  • = 精确匹配

在这里插入图片描述

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1993237.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

萌新的Java入门日记19

Vue真恶心!!!呜呜呜 5.配置代理 为了避免因后端服务器迁移造成的麻烦,在 vite.config.js 文件中配置如下代码: export default defineConfig({plugins: [vue()],server:{// 配置vite冷启动项目自动使用浏览器访问首页…

【中项】系统集成项目管理工程师-第10章 项目整合管理-10.6实施整体变更控制

前言:系统集成项目管理工程师专业,现分享一些教材知识点。觉得文章还不错的喜欢点赞收藏的同时帮忙点点关注。 软考同样是国家人社部和工信部组织的国家级考试,全称为“全国计算机与软件专业技术资格(水平)考试”&…

4个免费好用的免扣素材神器!png素材根本用不完!

你是否曾为找不到合适的PPT素材而头疼?模糊的图片、带水印的模板,还有那些让人抓狂的素材搜索难题。别急,今天就来给大家安利四款我私藏的PPT素材神器,让你的PPT设计从此变得简单又高效! 一、千鹿设计助手 — AI免抠图…

算法力扣刷题记录 七十【70. 爬楼梯及算法性能分析:时间复杂度和空间复杂度】

前言 动态规划章节第二篇。记录 七十【70. 爬楼梯】 一、题目阅读 假设你正在爬楼梯。需要 n 阶你才能到达楼顶。 每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢? 示例 1: 输入:n 2 输出:2 解释&#xf…

SQL注入sqli-labs-master关卡三

第三关如下: 查看该关卡的代码发现其与关卡一和关卡二的不同之处在于id($id)这里。 那么我们输入?id1或?id2)--都能用来判断是字符型还是数字型注入。 接着输入?id1) order by 3--检查它的列数。检查到4报错,说明只有三列。 输入?id-1) union select…

02_快速启动 Demo 创建 Electron 项目、electron-forge 搭建一个 electron 项目、手动创建electron项目

快速启动 Demo 创建 Electron 项目 一、克隆一个仓库、快速启动一个项目二、electron-forge 搭建一个 electron 项目三、手动搭建一个 electron 项目四、开发工具中配置 Eslint 一、克隆一个仓库、快速启动一个项目 要使用 git 的话首先电脑上面需要安装 git //克隆示例项目的…

Cpp中的this指针--复习记录

1.什么是this指针? 每个类都有一个this指针,我们的非静态成员函数可以通过这个this指针来操作对象的成员属性。this指针存储的就是类的实例的地址,this指针时时刻刻指向的都是这个实例对象本身。 由下图可知: 我在主函数中栈上创建了一个类的实例(由操…

数据规模介绍

batch_size 2 1829*2 3658张图片 FSC147数据集介绍 train 3659 val 1286 test 1190

xxl-job 源码梳理(2)-服务端

目录 1. 控制面的接口2.手动触发任务2. 定时任务的实现 1. 控制面的接口 服务端包含xxl-job的管理端,页面上的接口后端一系列的controller接口 appName是一个核心概念,它是指执行器应用的名称,appName是执行器的唯一标识 页面上的接口&#…

出行365:依托分布式数据库,让出行无忧 | OceanBase案例

*本文首发自“新华社环球”杂志,作者张海鑫 每年的暑期旅游旺季,都会触发一轮轮的文旅消费的热潮,对于互联网出行服务行业而言,这既是一场盛大的狂欢,也是对其综合实力的严峻考验。 然而,自去年暑假起&…

Email发送接口安全性保障策略?如何优化?

Email发送接口的高级功能?怎么有效利用邮件API接口? Email发送接口的安全性对于防止数据泄露、滥发垃圾邮件和恶意攻击至关重要。AokSend将探讨Email发送接口的安全性保障策略,帮助开发者和企业确保其电子邮件通信的安全性和可靠性。 Email…

智能猫砂盆买错有什么危害?深度解析三款热门爆款产品!

作为一名家里还有小猫在等待的上班族,我们经常因为需要加班或频繁出差而忙碌得不可开交,导致我们很容易忽略猫咪的厕所环境和健康安全,每次急匆匆地出门,都发现自己似乎忘了给猫咪及时铲屎。但是大家要知道,不及时清理…

为人处世,“会说话”是一生的修行

职场上,常常存在这样一种现象:“会干活的,不如会说的。” 学会“好好说话”、“说正确的话”“说让人舒服的话”成为一生必须要面对的修行。 01 丰厚的学养,是“会说话”的根基。 同一句话,“会说话”的人&#xf…

XXXForm组件

效果展示 代码 XXXForm <template><div class"search-container"><el-form ref"formRef" class"form_is_hidden" :model"form" v-bind"formAttrs"><el-row :gutter"20" class"search…

一文带你快速了解——LVS负载均衡集群

前言&#xff1a; Internet的飞速发展给网络带宽和服务器带来巨大的挑战。从网络技术的发展来看&#xff0c;网络带宽的增长远高于处理器速度和内存访问速度的增长。对用硬件和软件方法实现高可伸缩、高可用网络服务的需求不断增长。针对高可伸缩、高可用网络服务的需求&#x…

.NET8使用VS2022打包Docker镜像

NET8使用VS2022打包Docker镜像 1. 项目中添加Docker支持文件2. 自定义镜像名称3. 发布Docker镜像3.1 安装Docker3.2 控制台切换到项目根目录,执行以下命令发布镜像 3.3 修改镜像名称4. 保存镜像到本地 1. 项目中添加Docker支持文件 2. 自定义镜像名称 项目文件PropertyGroup节…

软件功能测试步骤介绍,软件测试服务公司推荐

在当今软件开发日益复杂的环境中&#xff0c;软件功能测试显得尤为重要。功能测试是确保软件产品满足用户需求和规范要求的关键环节。它通过验证软件功能是否按预期运行&#xff0c;帮助发现潜在的问题&#xff0c;防止软件在上线后导致用户的不满及业务损失。随着市场竞争的加…

(el-Date-Picker)操作(不使用 ts):Element-plus 中 DatePicker 组件的使用及输出想要日期格式需求的解决过程

Ⅰ、Element-plus 提供的DatePicker日期选择器组件与想要目标情况的对比&#xff1a; 1、Element-plus 提供DatePicker组件情况&#xff1a; 其一、Element-ui 自提供的DatePicker代码情况为(示例的代码)&#xff1a; // Element-plus 提供的组件代码: <template><e…

【多线程-从零开始-捌】代码案例2—阻塞队列

什么是阻塞队列 阻塞队里是在普通的队列&#xff08;先进先出队列&#xff09;基础上&#xff0c;做出了扩充 线程安全 标准库中原有的队列 Queue 和其子类&#xff0c;默认都是线程不安全的 具有阻塞特性 如果队列为空&#xff0c;进行出队列操作&#xff0c;此时就会出现阻…

Java代码生成器EasyCode

Java代码生成器EasyCode 一、安装插件二、连接数据库后右键Generator生成代码 一、安装插件 在 IntelliJ IDEA 的插件市场中搜索 EasyCode&#xff0c;然后安装该插件 二、连接数据库后右键Generator生成代码 勇敢面对挑战&#xff0c;成功从不会远离坚持者。坚持不懈的努力…