shell查询prometheus数据
#shell查询prometheus数据
shell使用curl调用HTTP API执行PromQL
/api/v1/query查询某一时刻的数据查询条件PromSQL复杂时, 传入接口/api/v1/query需要URL转码
使用prometheus的web界面Graph执行查询, 浏览器开发工具可获取请求URL
#获取PromSQL转码, 步骤如下:
1、打开prometheus的Graph页面
2、输入查询语句PromSQL
3、浏览器按F12 ->开发工具 ->Network栏目
4、点击"Execute"按钮执行查询
5、点击"开发工具"的"Network"页面"query?query="条目
6、复制"Headers"下的"Request URL", 删除末尾时间戳“&time=16×××”部分

#shell查询实例如下 :
# 查看k8s pod内存使用率大于80%的Pod
# round(sum by( pod, instance, container) (container_memory_working_set_bytes{image!=""}) / sum by( pod, instance, container) (container_spec_memory_limit_bytes{image!=""}) * 100 != +Inf) > 80
#Prometheus网站
PrometheusUrl="http://prometheus.xxx.com"
#资源使用百分比
Limit=${Limit:=80}
#获取PromQL查询api url
getMemUrl="/api/v1/query?query=round%28sum+by%28+pod%2C+instance%2C+container%29+%28container_memory_working_set_bytes%7Bimage%21%3D%22%22%7D%29+%2F+sum+by%28+pod%2C+instance%2C+container%29+%28container_spec_memory_limit_bytes%7Bimage%21%3D%22%22%7D%29+*+100+%21%3D+%2BInf%29+%3E+${Limit}"
#查询内存使用率大于80%的容器
#查询结果是json格式, 使用jq命令筛选json内容
curl -ks -m 2 "${PrometheusUrl}${getMemUrl}" | jq -r ".data.result[].metric.container"
#执行效果如下:

参考文档
官网文档 Prometheus
https://prometheus.io/docs/prometheus/latest/querying/api/
腾讯云 Prometheus API概述
https://cloud.tencent.com/document/product/1416/56024
shell查询prometheus数据的更多相关文章
- ORACLE 查询一个数据表后通过遍历再插入另一个表中的两种写法
ORACLE 查询一个数据表后通过遍历再插入另一个表中的两种写法 语法 第一种: 通过使用Oracle语句块 --指定文档所有部门都能查看 declare cursor TABLE_DEPT and ...
- 如何从SharePoint Content DB中查询List数据
SharePoint用来维护基础数据非常方便,只需要建立自定义列表,然后使用InfoPath自定义一下维护界面,就可以实现在线的增删改查,开发效率很高.如果维护的数据需要进行审批,还可以加入工作流功能 ...
- 【ASH】如何导出视图DBA_HIST_ACTIVE_SESS_HISTORY的查询结果数据
[ASH]如何导出视图DBA_HIST_ACTIVE_SESS_HISTORY的查询结果数据 1.1 BLOG文档结构图 1.2 前言部分 1.2.1 导读和注意事项 各位技术爱好者,看完本文后 ...
- 如何用SQL语句查询Excel数据?
如何用SQL语句查询Excel数据?Q:如何用SQL语句查询Excel数据? A:下列语句可在SQL SERVER中查询Excel工作表中的数据. 2007和2010版本: SELECT*FROMOp ...
- MySQL如何查询LINESTRING数据
我有一个提交的命名crm_geo_org,具有以下结构 ipoid INTEGER 11 NOT NULL PRIMARY KEY beginip INTEGER 14 NOT NULL UNSIGN ...
- MySQL将表a中查询的数据插入到表b中
MySQL将表a中查询的数据插入到表b中 假设表b存在 insert into b select * from a; 假设表b不存在 create table b as select * from a ...
- android sqlite使用之模糊查询数据库数据的三种方式
android应用开发中常常需要记录一下数据,而在查询的时候如何实现模糊查询呢?很少有文章来做这样的介绍,所以这里简单的介绍下三种sqlite的模糊查询方式,直接上代码把: package com.e ...
- Oracle笔记(1) 简单查询、限定查询、数据的排序
Oracle笔记(四) 简单查询.限定查询.数据的排序 一.简单查询 SQL(Structured Query Language) 结构化查询语言,是一种数据库查询和程序设计语言,用于存取数据以及 ...
- Mybatis oracle多表联合查询分页数据重复的问题
Mybatis oracle多表联合查询分页数据重复的问题 多表联合查询分页获取数据时出现一个诡异的现象:数据总条数正确,但有些记录多了,有些记录却又少了甚至没了.针对这个问题找了好久,最后发现是由于 ...
随机推荐
- Maven install没有将jar包加载到本地仓库
错误描述 使用mvn install:install-file -Dfile=ojdbc8-19.3.0.0.jar -DgroupId=com.oracle -DartifactId=ojdbc8 ...
- [笔记] 轮廓线 DP
是状态 DP 的一种,主要是对于网格图状压,实现 \(O(1)\) 转移的一种处理方式. oooo---- ----x - 是状压了信息的位置,x 是当前更新的位置. 应用价值 可以一格一格考虑状态, ...
- 论文阅读 Dynamic Graph Representation Learning Via Self-Attention Networks
4 Dynamic Graph Representation Learning Via Self-Attention Networks link:https://arxiv.org/abs/1812. ...
- .net 关于Task.Run 和 Async await的执行顺序
一直捋不清楚用Task.Run异步的执行关系,网上找的些说明写得也有点复杂,所以自己做实验测一下. 直接上代码 这个是加await private static void TestFun() { Co ...
- 手把手教你 在IDEA搭建 SparkSQL的开发环境
1. 创建maven项目 在IDEA中添加scala插件 并添加scala的sdk https://www.cnblogs.com/bajiaotai/p/15381309.html 2. 相关依赖j ...
- for循环+数字类型补充
一.for循环 1.循环取值 1.1列表类型: 定义l=['a','b','c'],要提取列表中的值 如果采用while循环的话: print(len(l)) i=0 while i& ...
- 零基础学Java第五节(面向对象一)
本篇文章是<零基础学Java>专栏的第五篇文章,文章采用通俗易懂的文字.图示及代码实战,从零基础开始带大家走上高薪之路! 本文章首发于公众号[编程攻略] 类与对象 在哲学体系中,可以分为主 ...
- 用更云原生的方式做诊断|大规模 K8s 集群诊断利器深度解析
背景 通常而言,集群的稳定性决定了一个平台的服务质量以及对外口碑,当一个平台管理了相当规模数量的 Kubernetes 集群之后,在稳定性这件事上也许会"稍显被动". 我们可能经常 ...
- 流,用声明性的方式处理数据集 - 读《Java 8实战》
引入流 Stream API的代码 声明性 更简洁,更易读 可复合 更灵活 可并行 性能更好 流是什么? 它允许以声明方式处理数据集合 遍历数据集的高级迭代器 透明地并行处理 简短定义:从支持数据处理 ...
- 【Unity Shader学习笔记】Unity基础纹理-单张纹理
1 单张纹理 1.1 纹理 使用纹理映射(Texture Mapping)技术,我们把一张图片逐纹素(Texel)地控制模型的颜色. 美术人员建模时,会在建模软件中利用纹理展开技术把纹理映射坐标(Te ...