IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 大数据 -> 初识:prometheus -> 正文阅读

[大数据]初识:prometheus

一、概述

Prometheus本身为一种时序数据库(TSDB),还具备开源的监控、报警、时间序列、数据库的组合。其设计用于进行目标(target)监控的关键组件。

  • TSDB:pro通过采集的样本以时间序列的方式保存在内存(TSDB时序数据库)中并定时保存到硬盘中(持久化)。
  • target:主要指可输出、产生指标数据的组件/对象,包括但不限于主机、应用、服务、K8S ingress(逻辑组件)等
    小结:能正常输出指标数据的对象称为target 或网络端点。
  • 时序数据:一段时间内通过《重复》测量而获得的观测值的集合,并且可将这些观测值绘制与图形之上,以数据轴(纵轴)和时间轴(横轴)来表示随着时间流逝而产生的“渐变”变化(类似与股票)。

二、特性

  • 多维的数据模型(基于时间序列的Key、value键值对)
  • 灵活的查询和聚合语言PromQL
  • 提供本地存储和分布式存储
  • 通过基于HTTP和HTTPS的Pull模型采集时间序列数据(pull数据的拉取,时间序列:每段时间点的数据值指标,持续性的产生。横轴标识时间,纵轴为数据值,一段时间内数值的动态变化,所有的点连线形成大盘式的折线图)
  • 可利用Pushgateway (Prometheus的可选中间件)实现Push模式
  • 可通过动态服务发现或静态配置发现目标机器(通过consul自动发现和收缩)
  • 支持多种图表和数据大盘

三、场景

一、可以使用的场景

1、Prometheus可以很好地记录任何纯数字时间序列。它既适用于以机器为中心的监视,也适用于高度动态的面向服务的体系结构的监视。在微服务世界中,它对多维数据收集和查询的支持是一种特别的优势。

2、Prometheus是为可靠性而设计的,它是您在中断期间监控使用的系统,可让您快速诊断问题。每个Prometheus服务器都是独立的,而不依赖于网络存储或其他远程服务。当基础结构的其他部分损坏时,您可以依靠它,并且无需设置广泛的基础结构即可使用它。

二、不可使用的场景

1、普罗米修斯重视可靠性。即使在故障情况下,您始终可以查看有关系统的可用统计信息。如果您需要100%的准确性(例如按请求计费),则Prometheus并不是一个不错的选择,因为所收集的数据可能不会足够详细和完整。在这种情况下,最好使用其他系统来收集和分析数据以进行计费,并使用Prometheus进行其余的监视。

2、数据准确性要求极高的场景,不适合使用promeetheus。

四、实验

一、实验环境

prometheus	192.168.226.128	prometheus
server1	    192.168.226.129	node_exporter
server2	    192.168.226.130 node_exporter
#部署环境
[root@localhost ~]# hostnamectl set-hostname prometheus #另两台:server1/2
[root@localhost ~]# su
[root@prometheus ~]# systemctl stop firewalld
[root@prometheus ~]# systemctl disable firewalld
[root@prometheus ~]# setenforce 0
[root@prometheus ~]# cat /etc/resolv.conf
nameserver 114.114.114.114
[root@prometheus ~]# ntpdate ntp.aliyun.com
21 Sep 19:41:10 ntpdate[83693]: adjust time server 203.107.6.88 offset 0.003456 sec

二、安装Prometheus并启动

#Prometheus端
[root@prometheus ~]# cd /opt
[root@prometheus opt]# rz
#上传prometheus-2.27.1.linux-amd64.tar
[root@prometheus opt]# tar zxvf prometheus-2.27.1.linux-amd64.tar.gz -C /usr/local
[root@prometheus prometheus-2.27.1.linux-amd64]# ./prometheus #启动
  • 查看服务是否启动
    在这里插入图片描述

三、访问web

  • 访问192.168.238.150:9090,表达式浏览器
    在这里插入图片描述
  • 查看采集数据
    在这里插入图片描述

四、部署其他监控节点

#两台server
[root@server1 ~]# cd /opt
[root@server1 opt]# rz
#上传node_exporter-1.1.2.linux-amd64.tar
[root@server1 opt]# tar zxvf node_exporter-1.1.2.linux-amd64.tar.gz
[root@server1 opt]# cd node_exporter-1.1.2.linux-amd64
[root@server1 node_exporter-1.1.2.linux-amd64]# cp node_exporter /usr/local/bin #复制命令让系统可以识别
[root@server1 node_exporter-1.1.2.linux-amd64]# ./node_exporter #启动

在这里插入图片描述

#Prometheus端
[root@prometheus ~]# vim /usr/local/prometheus-2.27.1.linux-amd64/prometheus.yml #进入prometheus主配置文件;配置静态发现

在这里插入图片描述

五、访问http://192.168.238.150:9090

在这里插入图片描述
在这里插入图片描述

六、表达式浏览器常规使用

###CPU使用总量
node_cpu_seconds_total

###计算过去5分钟内的CPU空闲速率
##PromQL: 
irate(node_cpu_seconds_total{mode="idle"}[5m])
解析:
irate:速率计算函数(灵敏度非常高)
node_cpu_seconds_total:node节点CPU使用总量(指标)
mode="idle" 空闲指标(标签)
5m:过去的5分钟内,所有CPU空闲数的样本值,每个数值做速率运算
{mode="idle"} :整体称为标签过滤器

###每台主机CPU在5分组内的平均使用率
##PromQL:
(1- avg (irate(node_cpu_seconds_total{mode='idle'}[5m]))by (instance))* 100
解析:
avg:平均值
avg (irate(node_cpu_seconds_total{mode='idle'}[5m]):可以理解为CPU空闲量的百分比
by (instance):表示的是所有节点

###查询1/5/15分钟平均负载
node_load1 > on (instance) 2 * count (node_cpu_seconds_total{mode='idle'}) by(instance)
node_load5 > on (instance) 2 * count (node_cpu_seconds_total{mode='idle'}) by(instance)
node_load15  > on (instance) 2 * count (node_cpu_seconds_total{mode='idle'}) by(instance)

###内存使用率
node_memory_MemTotal_bytes
node_memory_MemFree_bytes
node_memory_Buffers_bytes
node_memory_Cached_bytes
  大数据 最新文章
实现Kafka至少消费一次
亚马逊云科技:还在苦于ETL?Zero ETL的时代
初探MapReduce
【SpringBoot框架篇】32.基于注解+redis实现
Elasticsearch:如何减少 Elasticsearch 集
Go redis操作
Redis面试题
专题五 Redis高并发场景
基于GBase8s和Calcite的多数据源查询
Redis——底层数据结构原理
上一篇文章           查看所有文章
加:2021-09-22 14:44:36  更:2021-09-22 14:48:09 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/23 21:50:18-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码