Prometheus===》普罗米修斯容器化监控、PromQL的使用、Grafana添加普罗米修斯数据源模板
一、普罗米修斯容器化
普罗米修斯容器化就是在kubernetes中安装。
#1.下载普罗米修斯配置清单
[root@gdx1 ~]# git clone -b release-0.5 --single-branch https://github.com/prometheus-operator/kube-prometheus.git
正克隆到 'kube-prometheus'...
remote: Enumerating objects: 8051, done.
remote: Counting objects: 100% (2/2), done.
remote: Compressing objects: 100% (2/2), done.
remote: Total 8051 (delta 0), reused 1 (delta 0), pack-reused 8049
接收对象中: 100% (8051/8051), 4.54 MiB | 89.00 KiB/s, done.
处理 delta 中: 100% (4876/4876), done.
[root@gdx1 ~]# cd kube-prometheus/manifests/setup/
[root@gdx1 setup]# kubectl apply -f ./#2.查看
[root@gdx1 setup]# kubectl get pods -n monitoring
NAME READY STATUS RESTARTS AGE
prometheus-operator-848d669f6d-wpmdp 2/2 Running 0 85s#3.部署普罗米修斯
[root@gdx1 setup]# cd ..
[root@gdx1 manifests]# pwd
/root/kube-prometheus/manifests
[root@gdx1 manifests]# kubectl apply -f ./#4.做域名解析
[root@gdx1 manifests]# vim prometheus-ingress.yaml
kind: Ingress
apiVersion: extensions/v1beta1
metadata:name: prometheus-k8snamespace: monitoring
spec:rules:- host: "www.prometheus-k8s.monitoring.cluster.local.com"http:paths:- backend:serviceName: prometheus-k8sservicePort: 9090path: /
---
kind: Ingress
apiVersion: extensions/v1beta1
metadata:name: grafananamespace: monitoring
spec:rules:- host: "www.grafana.monitoring.cluster.local.com"http:paths:- backend:serviceName: grafanaservicePort: 3000path: /
[root@gdx1 manifests]# kubectl apply -f prometheus-ingress.yaml
[root@gdx1 manifests]# kubectl get pods -n monitoring #所有全都running状态
NAME READY STATUS RESTARTS AGE
alertmanager-main-0 2/2 Running 0 41m
alertmanager-main-1 2/2 Running 0 41m
alertmanager-main-2 2/2 Running 0 41m
grafana-5d9d5f67c4-94xp6 1/1 Running 0 41m
kube-state-metrics-7fddf8779f-8gjl5 3/3 Running 0 41m
node-exporter-9k288 2/2 Running 0 41m
node-exporter-fkvh4 2/2 Running 0 41m
node-exporter-v2ztd 2/2 Running 0 41m
prometheus-adapter-cb548cdbf-pm6f9 1/1 Running 0 41m
prometheus-k8s-0 3/3 Running 1 41m
prometheus-k8s-1 3/3 Running 1 36s
prometheus-operator-848d669f6d-wpmdp 2/2 Running 0 47m
[root@gdx1 manifests]# kubectl get svc -n ingress-nginx
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
ingress-nginx-controller NodePort 10.107.30.201 <none> 80:31686/TCP,443:32703/TCP 2d21h
ingress-nginx-controller-admission ClusterIP 10.105.78.45 <none> 443/TCP 2d21h#5.配置主机host文件,浏览器访问
192.168.12.11 www.grafana.monitoring.cluster.local.com www.prometheus-k8s.monitoring.cluster.local.com
二、PromQL
普罗米修斯官网连接:Query functions | Prometheus
QL顾名思义,Query language即查询语言。Prometheus作为强大的开源监控系统,最大的依赖便是PromQL。是监控数据个性化查询、展示的基础。所以要掌握Prometheus,掌握PromQL是必备的前提。
瞬时向量:包含该时间序列中最新的⼀个样本值
区间向量:⼀段时间范围内的数据
1.简单运算
1)查询5分钟以内数据
[5m]:5分钟以内的数据
#1.在主节点查看解析的域名
[root@gdx1 ~]# kubectl run test -it --rm --image=busybox:1.28.3
If you don't see a command prompt, try pressing enter.
/ # nslookup prometheus-k8s.monitoring
Server: 10.96.0.10
Address 1: 10.96.0.10 kube-dns.kube-system.svc.cluster.localName: prometheus-k8s.monitoring
Address 1: 10.110.249.255 prometheus-k8s.monitoring.svc.cluster.local#2.将http://prometheus-k8s.monitoring.svc.cluster.local:9090填入下图位置
在grafana添加普罗米修斯数据源
2)查询30分钟之前5分钟之内的数据
offset:查看多少分钟之前的数据
3)等于查询
=:等于查询
4)不等于查询
!=:不等于查询
5)正则匹配
=~:正则匹配
6)正则取反
!~:正则取反
7)计算服务器内存空闲率
[root@gdx1 ~]# free -mtotal used free shared buff/cache available
Mem: 3155 1846 137 18 1170 1413
Swap: 0 0 0[root@gdx2 ~]# free -mtotal used free shared buff/cache available
Mem: 1963 1205 71 109 686 714
Swap: 0 0 0[root@gdx3 ~]# free -mtotal used free shared buff/cache available
Mem: 1963 834 92 21 1035 1110
Swap: 0 0 0
#s:seconds 秒
#m:minutes 分
#h:hours 时
#d:days 天
#w:weeks 周
#y:years 年
2.聚合函数
1)逻辑运算
**and:和 **
or:或
unless:排除
2)函数运算
sum:求和运算
min:最小值
max:最大值
avg:平均数
3)标准差:stddev
4)标准方差:stdvar
5)统计总个数:count
6)分类计算个数:count_volues
7)求某个位置上的数:quantile [0-1之间]
8)获取最小的两个值:bottomk
9)获取最大的两个值:topk
3.二进制运算符优先级
^
*,/,%
+, -
==,!=,<=,<,>=,>
and, unless
or
4.特殊查询
1)查询某个字段
2)计算范围向量中时间序列的增加
#返回过去 5 分钟内测量的 HTTP 请求数量
increase(http_requests_total{job="api-server"}[5m])
3)计算范围向量中时间序列的每秒平均平均增长率
#返回过去 5 分钟内测量的 HTTP 请求的每秒速率
rate(http_requests_total{job="api-server"}[5m])
4)计算射程矢量中时间系列的每秒即时增长率
#返回 HTTP 请求的每秒速率,该请求在范围矢量中每个时间系列中查找两个最新的数据点最多 5 分钟
irate(http_requests_total{job="api-server"}[5m])
5)基于范围向量预测从现在开始到某个时间的资源消耗情况
#基于1天的数据推算未来4天的数据(使用简单的线性回归)
predict_linear(node_filesystem_files[1d],4*3600*24)
5.排序
1)升序
2)降序
3)创建一个新字段
6.四舍五入
三、Grafana添加普罗米修斯数据源模板
Prometheus===》普罗米修斯容器化监控、PromQL的使用、Grafana添加普罗米修斯数据源模板相关推荐
- 普罗米修斯容器化监控、PromQL的使用、Grafana添加普罗米修斯数据源模板
文章目录 一.普罗米修斯容器化 二.PromQL 1.简单运算 1)查询5分钟以内数据 在grafana添加普罗米修斯数据源 2)查询30分钟之前5分钟之内的数据 3)等于查询 4)不等于查询 5)正 ...
- Promethus-day2-普罗米修斯容器化与PromQL
文章目录 普罗米修斯容器化与PromQL 普罗米修斯容器化 1.下载配置清单 2.部署operator 3.部署普罗米修斯 4.配置域名访问 5.部署并解析 Prom QL 1.简单运算 2.聚合运算 ...
- 普罗米修斯监控linux,Prometheus(普罗米修斯)搭建监控
Prometheus(普罗米修斯) 实验环境:(各个主机,ip,所需服务) docker01 docker02 docker03 1.10 1.20 1.30 NodeEXporter NodeEXp ...
- Prometheus 普罗米修斯
Prometheus 普罗米修斯 Prometheus由go语言开发,是一套开源的监控.报警.时间序列数据库的组合.适合监控docker容器.因为Kubernetes (K8S) 的流行带动了prom ...
- 一篇文章搞定Prometheus普罗米修斯监控系统的部署
Prometheus普罗米修斯监控系统 一.普罗米修斯监控概述 1.1 什么是普罗米修斯监控 二.时间序列数据 2.1 什么是序列数据 2.2 时间序列数据特点 2.3 普罗米修斯特征 三.普罗米修斯 ...
- 【监控】Prometheus(普罗米修斯)监控概述
文章目录 一.监控系统概论 二.基础资源监控 2.1.网络监控 2.2.存储监控 2.3.服务器监控 2.4.中间件监控 2.5.应用程序监控(APM) 三.Prometheus 简介 3.1.什么是 ...
- 系统监控——prometheus(普罗米修斯)的部署
系统监控--prometheus的部署 一.prometheus简介 1.优点 2.组件 3.架构 二.环境包准备 三.安装运行 四.网页访问 五.安装图形化界面 一.prometheus简介 pro ...
- Prometheus 容器化部署,配合Grafan画图工具监控节点
Prometheus 容器化部署,配合Grafan画图工具监控节点 一.部署环境 主机名 IP地址 服务 prometheus 192.168.85.131 prometheus.grafana no ...
- Prometheus容器化部署,配合Grafan画图工具监控节点信息
文章目录 Prometheus 容器化部署,配合Grafan画图工具监控节点 部署 Prometheus 部署 node_exporter 部署grafana Prometheus 容器化部署,配合G ...
最新文章
- 收藏 | GPU多卡并行训练总结
- python 获取窗口句柄_Python文件读写最详细的讲解
- 脑科学研究:对于学习来说,休息可能与练习同样重要...
- Python 实现程序的单一实例
- mybatis 构造查询和联合子查询问题
- css工程师技巧,web前端工程师必须掌握的技巧–CSS Sprites技术(附基础操作教程)...
- Confluence 6 附件存储提取文本文件
- excel中添加图片的代码
- cmos逻辑门传输延迟时间_什么是TTL电平、CMOS电平?区别是什么?
- JavaScript 数组和函数
- php安装zend loader,PHP5.3安装Zend Guard Loader图文教程
- 数组测验1 7-5 冒泡法排序 (20 分)
- linux终端基本操作命令
- 问题 L: 分糖果(candy)
- WeUI:专为开发微信HTML5应用的开源Web UI组件库
- Blender着色器:使用手绘遮罩进行材质叠加
- QFP PQFP LQFP TQFP封装形式及PCB详解!
- 将window目录挂载到Linux目录下
- python编写贪吃蛇游戏下载,python实现简单的贪吃蛇游戏
- JointJS点击选中元素高亮显示
热门文章
- Php部分常见问题总结 [ http://www.phpx.com/happy/top38769.html ]
- 传承中华文化,争做文化宣传者
- 智能电视“套娃式”收费背后的自我救赎
- mdp框架_强化学习-MDP(马尔可夫决策过程)算法原理
- JAVA在大数据行业为何如此重要?
- Android分享字符串到微信,Android 微信分享组件
- vc++ RTSP客户端(附源码)
- 如何让form表单在enter键入时不提交
- 数据科学/人工智能比赛解决方案汇总 2019.9
- 通话未接通显示无法连接服务器,未接通分析报告-20210719181140.docx-原创力文档