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多表联合查询分页数据重复的问题 多表联合查询分页获取数据时出现一个诡异的现象:数据总条数正确,但有些记录多了,有些记录却又少了甚至没了.针对这个问题找了好久,最后发现是由于 ...
随机推荐
- 你不知道的 Linux 使用技巧
开源Linux 一个执着于技术的公众号 1.快速跳转命令 - z 要是每次都要进入一个目录很深的文件夹下,像下面这样: # cd /root/py/auto/fabric 每次都要输入好多个目录名是不 ...
- 3D离线地图开发
3D离线地图介绍(3D离线采用矢量数据作为地图基础,可保持地图数据最新) 一.开发中引用3D离线地图(可独立部署通过内外IP+端口进行访问,也可拷贝js库文件到项目中通过绝对路径访问) 1).离线AP ...
- 【mq】从零开始实现 mq-07-负载均衡 load balance
前景回顾 [mq]从零开始实现 mq-01-生产者.消费者启动 [mq]从零开始实现 mq-02-如何实现生产者调用消费者? [mq]从零开始实现 mq-03-引入 broker 中间人 [mq]从零 ...
- 常见的邮箱服务器(SMTP,POP3)地址,端口
163.com: POP3服务器地址:pop.163.com(端口:110) SMTP服务器地址:smtp.163.com(端口:25) sina.com: POP3服务器地址:pop3.sina.c ...
- 行为参数化与lambda表达式 - 读《Java 8实战》
零. 概述 第一部分:1~3章 主要讲了行为参数化和Lambda表达式 第二部分:4~7章 主要讲了流的应用,包括流与集合差异,流的操作,收集器,注的并行执行 第三部分:8~12章 主要讲了怎样用Ja ...
- unity---GL实现案例
GL C#实现 不管是画任何东西都需要Begin()和End()函数: 画线 using System.Collections; using System.Collections.Generic; u ...
- 【产品】如何写好APP描述
你有没有想过越是需要花钱购买的 App,用户会更认真阅读你的 App描述?本文列举了15个 app 描述,看看哪些是我们以前忽略了的,哪些是我们也犯过的错误.图中有红色背景的文字是需要强调的地方,这些 ...
- [THUSCH2017] 杜老师
description \(T\)次询问,每次问\(L,L+1...R\)有多少种子集满足子集中乘积为完全平方数. solution 50pt 首先双倍经验 通常的思路是:平方数即每个质因子指数为偶 ...
- ARC126F
[ARC126F] Affine Sort 给定一个长为 \(N\) 的序列 \(x\) ,定义 \(f(K)\) 表示满足下述条件的 \((a,b,c)\) 个数: \(1\le c\le K,0\ ...
- 《C Primer Plus》第六版笔记--7~10章
目录 第七章 C控制语句:分支和跳转 第八章 字符输入/输出和输入验证 第九章 函数 第十章 数组和指针 第七章 C控制语句:分支和跳转 if else 用法 if (expression) //ex ...