当前位置: 首页 > article >正文

prometheus概念

一、Prometheus概述

1.prometheus概念:开源的系统监控和告警系统,在k8s分布式的容器化管理系统当中,一般都是搭配promethuse来进行监控;是一个服务监控系统,同时也可以监控主机,自带数据库,名字叫时序数据库,数据库提供了promql语句用来采集和统计指标项、以及存储和查询接口。

2.prometheus组件:

nodeexporter(数据采集):在k8s集群当中部署在node节点上,用来收集节点上的数据(数据包括CPU、硬盘及pod的使用情况,需要部署在每个节点上),再通过pushgateway把数据上传到prometheus的时序数据库,然后根据promql语句来进行分类展示。

3.promethues特点:

  1. 多维的数据模型,按照时间的顺序记录系统,以及设备状态的变化,容器化的数据,为每个数据指定一个样本。比如服务器指标数据、应用程序的性能监控、网络数据都是一个时间序列数据
  2. 内置时间序列数据库----TSDB
  3. promql查询语句
  4. 根据http协议拉取数据
  5. 自带服务自动发现功能
  6. Prometheus自带的原生数据展示不是很优化,有专门为他数据展示的工具,Grafana插件
4、prometheus的存储引擎:TSDB
  1. 能够存储的数据量很庞大
  2. 大部分都是写入操作
  3. 写入操作时一个时序性添加,大多数情况下都是按照时间排列
  4. 很少更新数据,采集到的数据在秒级或者分钟级就会被写入数据库
  5. 基本数据大,一般超过了内存大小。数据按照一定的时间区间展示,缓存在这里不起作用
  6. 读操作,一般都是高并发的操作。
  7. 就是为了大数据、高并发而生的

5、Altermanager:

独立的告警模块,从Prometheus server收到告警通知之后,Altermanager进行重组、分类、发送到对应的接收方,电子邮件、钉钉、企业微信

6.prometheus和zabbix区别:

二者之间功能的比较:

指标收集方式:

zabbix:基于server和agent,agent部署在客户端,然后把数据传送到服务器,基于tcp协议ip+端口进行通信。四层。

Prometheus:基于客户端进行数据收集,服务端会定时与客户端交互,通过pull拉取方式获取监控指标,基于http协议通信,七层。

数据存储:

zabbix:使用外部的数据库来保存数据(mysql、oracle、postgreSQL等关系型数据库)

Prometheus:存储在内置的TSDB(时间序列数据库),只支持存储时间序列的值

查询性能:

zabbix:查询性能较弱,只能在web界面做一些有限的操作

Prometheus:查询功能强大,自带查询语句。查询结果都是以图形或者表格数据展示的

 监控内容:

zabbix主要为了监控服务器的状态,cpu---内存---硬盘----网络流量---自定义监控项(非虚拟化部署的程序),zabbix的时间更长,更加成熟,使用监控方面要求不高,只需要对服务设备监控的场景。可以监控容器,但是容器的兼容性差,反应会特变慢。

prometheus:专门为K8s定制的监控软件,对于容器产品兼容度更好,定制化程序更高,更适合微服务场景。

告警功能:

二者都是内置告警功能,但是peometheus不能打电话。

7.总的来说,zabbix更成熟,上手难度低,对于传统的服务器,系统和网络都有优秀的监控能力。但是他不适配云原生,不适配容器监控,而Prometheus就是容器化监控,支持K8S的监控功能。但是难,promQL不好学。 

二、二进制部署

1.K8s集群三台主机全都拉取node-exporter软件包,主节点再拉prometheus-2.45.0和grafana-enterprise-7.5.11-1

解压prometheus及改名

 

 将prometheus添加到系统管理服务当中后进行重启,并且查看prometheus9090端口是否起来

修改prometheus 的配置文件 vim prometheus.yml,添加各个节点IP地址以及采取数据的默认路径

  

 安装node-export数据采集器,三台主机同步解压、改名,并且把node_exporter添加到系统识别项/usr/local/bin

添加到系统服务当中,启动nodeexporter并且查看端口,三台主机同步

完了主节点重启prometheus

主节点安装grafana并且重启检查端口

 

 访问prometheus

访问grafana

 

grafana的模板地址: Grafana dashboards | Grafana Labs


http://www.kler.cn/a/310417.html

相关文章:

  • 使用 unicorn 和 capstone 库来模拟 ARM Thumb 指令的执行(一)
  • 优化时钟网络之时钟抖动
  • 【R78/G15 开发板测评】串口打印 DHT11 温湿度传感器、DS18B20 温度传感器数据,LabVIEW 上位机绘制演化曲线
  • SHELL脚本(Linux)
  • golang如何实现sse
  • Redis - 集群(Cluster)
  • 第R3周:LSTM-火灾温度预测:3. nn.LSTM() 函数详解
  • Matlab 的.m 文件批量转成py文件
  • HTML讲解(一)body部分
  • IDEA去除掉虚线,波浪线,和下划线实线的方法
  • 【微服务-注册中心】
  • 初识Maven:Java项目管理工具
  • 鸿蒙Harmony应用开发,数据驾驶舱 项目结构搭建
  • Android使用LiquidFun物理引擎实现果冻碰撞效果
  • JAVA网络编程【基于TCP和UDP协议】超详细!!!
  • C编程演奏中文版“生日快乐歌”
  • Java html生成pdf和图片
  • 【kafka】基本概念
  • SAP学习笔记 - 开发06 - CDSView + Fiori Element 之 List Report
  • Vue3 项目引入阿里 iconfont 图标和字体的多种方式
  • 2024 VMpro 虚拟机中如何给Ubuntu Linux操作系统配置联网
  • 总结拓展十:SAP开发计划(上)
  • 新峰商城之分类三级联动实现
  • PyQt / PySide + Pywin32 + ctypes 自定义标题栏窗口 + 完全还原 Windows 原生窗口边框特效项目
  • html+css+js网页设计 旅游 龙门石窟8个页面
  • HarmonyOS ArkTS 用户首选项的开发及测试