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

相关推荐
菜鸟挣扎史1 天前
grafana+prometheus+windows_exporter实现windows进程资源占用的监控
windows·grafana·prometheus·进程·process
牙牙7053 天前
Prometheus结合K8s(二)使用
容器·kubernetes·prometheus
牙牙7054 天前
Prometheus结合K8s(一)搭建
容器·kubernetes·prometheus
福大大架构师每日一题4 天前
32.2 prometheus倒排索引统计功能
ios·iphone·prometheus
让生命变得有价值6 天前
使用 Grafana api 查询 Datasource 数据
grafana·prometheus
福大大架构师每日一题6 天前
31.3 XOR压缩和相关的prometheus源码解读
prometheus
赫萝的红苹果6 天前
Springboot整合Prometheus+grafana实现系统监控
spring boot·grafana·prometheus
Heartsuit6 天前
云原生之运维监控实践-使用Prometheus与Grafana实现对Nginx和Nacos服务的监测
nginx·云原生·nacos·grafana·prometheus·运维监控
Heartsuit6 天前
云原生之运维监控实践-使用Telegraf、Prometheus与Grafana实现对InfluxDB服务的监测
云原生·grafana·prometheus·influxdb·telegraf·运维监控
武子康11 天前
大数据-218 Prometheus 插件 exporter 与 pushgateway 配置使用 监控服务 使用场景
大数据·hive·hadoop·flink·spark·prometheus