二进制部署promethues

1、定义:promethues是一个开源的系统监控以及报警系统,整合zabbix的功能(监控系统、网络、设备),promethues可以兼容网络、设备、容器监控、告警系统。因为其与k8s是一个项目基金开发出来的产品,天生匹配k8s的原生系统、容器化和云原生服务适配性很高

2、promethues是一个服务监控系统和时序数据库,提供了一个通用的数据模型和快捷数据采集、存储和接口查询

3、核心组件:promethues server,定期从静态配置的监控目标或者基于服务发现的自动配置目标中进行数据拉取,拉取的数据会持久化保存到存储设备中(先拉取数据纳入到监控系统中,才能进行时序数据采集、存储、告警和展示),能直接把api server作为服务发现系统使用,动态监控、动态发现

4、特点

(1)多维的数据模型。根据不同的函数计算方法,对同一数据可以做出不同的结论

(2)时间序列的数据。按照时间的顺序记录系统、设备变化的数据、容器化的数据,每个数据都是一个样本,服务器指标数据、应用程序的性能监控、网络数据都是时间序列数据

(3)通过静态配置或服务器自动发现收集数据

(4)promethues自带的原生数据展示不友好,通过数据化展示工具Grafana进行展示

5、存储引擎:TSDB

①TSDB能够存储的数据量很庞大

②大部分都是写入数据(从设备上获取数据,写入到promethues的存储库中)

③写入操作是一个时序添加,大多数情况下按照时间排列

④很少更新数据,采集到的数据在秒级/分钟级后就会被写入数据库

⑤基本数据大,一般超过内存的大小,数据按照一定的时间区间展示,缓存在这里不起作用

promethues是实时化数据,对持久化要求低

⑥读操作一般都是高并发的操作

⑦为了大数据高并发而生的

6、promethues的组件

(1)核心组件

promethues server:服务核心组件,采用pull的方式采集监控数据,通过http协议进行传输、存储时间序列的数据,基于告警规则生成告警通知,所以promethues server是核心组件

 retrieval:负责在目标主机上抓取监控指标数据

 Storage:存储,把采集到的数据存储到磁盘中。默认保存15天,15天后自动清除

 PromQL:负责把数据按照一定的规则,通过指定的语法形成一个结果,由grafana展示出来

②exports:负责在节点收集数据,Node-Exports负责收集服务器节点的状态数据。CPU、内存、网络、磁盘等都是由Node-Exports收集,默认端口是9100

③client Library:客户端库,用于应用程序的内部测量系统,用于内部测试

④cadvisor:监控容器内部的资源信息。可选组件,但k8s1.20版本后自带此组件

⑤blackbox-exporter:监控业务容器的存活性(一般不用)

⑥Altermanager:独立的告警模块,从promethues server收到告警通知后,Altermanager进行重组、分类,再发送到对应的接收方(通过电子邮件、钉钉、企业微信等方式)

⑦pushgateway:类似于中转站,promethues server端只会pull的方式拉取数据,节点的数据只能以push的方式上传、发送,此时需要pushgateway,先把数据保存在pushgateway,promethues server统一从pushgateway拉取数据

⑧grafana:promethues的图形化工具。可选项

7、工作流程

第一步:promethues server收集和存储时间序列数据(从监控目标中通过pull方式拉取数据,或者从pushgateway中把采集到的数据拉取到server中)

第二步:拉取到的数据(监控指标数据)保存到本地磁盘中

第三步:若监控的指标数据触发告警,会发送到altermanager模块,根据规则发送告警信息

第四步:若不发送告警信息,只是查询信息,可以通过promethues自带的ui web页面promql查询出监控数据

第五步:因为promethues自带的展示页面不友好,Grafana可以接入promethues的数据源,把监控数据以图形化的方式展示出来

8、promethues的局限性

(1)promethues只是一款指标监控系统,不适合存储事件,也不适合保存日志,更多的是一种趋势性的监控和展示,并非是一个精准的数据

(2)promethues认为只有最近的数据才有查询的需要,保存在本地的数据默认只有15天,不支持大量的历史数据进行存储,也不支持过往的历史数据,若一定要保存,可以基于远端存储,上传到influxDB或openTSDB系统中

(3)promethues集群化成都不高,一般是单节点部署

9、promethues与zabbix的区别【面试】

(1)难度

zabbix:大而全系统,功能非常完善,机制也很成熟,并且具有完善的web页面和可视化以及告警。在界面上可以满足绝大部署的操作,难度低,可以快速掌握,但集成度太高,定制化较难,扩展性差

promethues:最近几年比较火的系统,基于go语言开发的,只专注于监控功能,提供一个简单的ui界面供用户查询,可视化由grafana,告警由altermanager这样的第三方程序来实现,比较小巧里灵活,但难度高

(2)功能

zabbix:server和agent,agent部署在目标服务器,数据传送到server,基于TCP协议进行通信,agent把数据推送到server,或者server主动发起请求获取agent数据

promethues:基于客户端进行数据收集,server端通过pull的方式获取监控数据,定时与客户端交互

(3)数据存储

zabbix:使用外部数据来保存数据

promethues:存储在内置的TSDB中(时间序列数据库)

(4)查询性能

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

promethues:查询性能较强,自带查询语句,但查询结果都是以图形或表格数据展示

结论:zabbix更成熟,难度低,对于传统的服务器、系统和网络都有优秀的监控能力,但不适配云原生、容器监控(可以监控,但适配性不好);promethues就是容器监控,支持k8s的监控,难度高

二进制部署prometheus实验

1、安装prometheus——9090

scrape_interval: 15s

采集数据的间隔时间。默认1分钟

evaluation interval: 15s

告警间隔时间。默认1分钟

scrape timeout

数据采集的超时时间。默认10秒钟采集不到即超时

rules_files:

-"first rules.yml"

-"second rules .yml"

配置告警规则

scrape contigs

参数时序数据的源,配置采集的主机。静态、动态

- job name: "prometheus "

每一个监控实例都是以-job_name来表示监控的集合

metrics path defaults to '/metrics'

指标采集的默认路径

static configs:

静态配置发现实例(目标节点服务器)

• 添加系统服务

• 启动promethues• 测试(浏览器输入20.0.0.17:9090)

• 安装时间同步

yum install ntpdate -y

ntpdate ntp.aliyun.com2、部署node节点——9100• 测试• node1、node2节点重复以下操作

vim /usr/lib/systemd/system/node_exporter.service

[Unit]

Description=node exporter

Documentation=https://prometheus.io/

After=network.target

[Service]

Type=simple

ExecStart=/usr/local/bin/node_exporter \

--collector.ntp \

--collector.mountstats \

--collector.systemd \

--collector.tcpstat

ExecReload=/bin/kil -HUP $MAINPID

Restart=on-failure

[Install]

WantedBy=multi-user.target• 刷新targets3、部署grafana——3000• 浏览器输入http://20.0.0.17:3000/

4、导入模板,并将数据库导入grafana

• 导入数据

• 导入数据

下载模板:https://grafana.com/grafana/dashboards

删除模板

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/361736.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

OpenCV 8 - 模糊处理(均值滤波,高斯滤波,中值滤波,双边滤波)

模糊处理原理: Blur是图像处理中最简单和常用的操作之一,使用该操作的原因为了给图像预处理时候减低噪声使用,Blur操作其背后是数学的卷积计算, 通常这些卷积算子计算都是线性操作,所以又出线性虑波。 假设有6x6的图像像素点矩阵。卷积过程:6x6上面是个3x3的窗口,从左向右,…

【Linux】基本指令(上)

🦄个人主页:修修修也 🎏所属专栏:Linux ⚙️操作环境:Xshell (操作系统:CentOS 7.9 64位) 目录 Xshell快捷键 Linux基本指令 ls指令 pwd指令 cd指令 touch指令 mkdir指令 rmdir指令/rm指令 结语 Xshell快捷键 AltEnter 全屏/取消全屏 Tab 进…

如何对Ajax请求进行封装操作,解决跨域问题的方法,如何使用core解决跨域

目录 1.Ajax原理 2.为什么要封装 3.如何进行封装 4.如何请求 5.如何解决Ajax跨域问题 6.使用CORS解决Ajax跨域问题 1.服务端 2.客户端 1.Ajax原理 Ajax(Asynchronous JavaScript and XML)是一种通过在后台与服务器进行少量数据交换&…

通用CI/CD软件平台TeamCity全新发布v2023.11——增强Git托管平台的集成

TeamCity是一个通用的 CI/CD 软件平台,可以实现灵活的工作流、协作和开发做法。我们的解决方案将帮助在您的 DevOps 流程中成功实现持续集成、持续交付和持续部署。 TeamCity 2023.11正式版下载 TeamCity 2023.11 带来了矩阵构建和构建缓存等多项备受期待的功能&a…

立体边界,让arcgis出图更酷炫一些

就是这样子的那个图—— 本期我们还是用长沙市为例, 来手把手的演示制作立体边界, 就是这个样子的边界—— 第一步—准备底图 其实你准备什么底图都可以哈,例如调用天地图、下载个影像图,或者用其他什么的底图,都是…

【图文详解】阿里云服务器放行高防IP加入安全组

打开阿里云的云服务器配置面板,在要操作实例的操作列找到更多 > 网络和安全组 > 安全组配置。 对已有安全组配置规则,或者直接添加安全组规则。 根据需要放通高防IP在内的IP段相应协议类型的端口访问。

linux交叉编译方法——虚拟机编译,在树莓派平台上运行

一、 交叉编译是什么 交叉编译 是在一个平台上生成另一个平台上的可执行代码。 我们再windows上面编写C51代码,并编译成可执行代码,如xx.hex, 是在c51上面运行,不是在windows上面运行 我们在ubuntu上面编写树…

设计模式——状态模式(State Pattern)

概述 状态模式(State Pattern):允许一个对象在其内部状态改变时改变它的行为,对象看起来似乎修改了它的类。其别名为状态对象(Objects for States),状态模式是一种对象行为型模式。状态模式用于解决系统中复杂对象的状态转换以及不同状态下行…

pdf高亮显示

现在前端pdf需求越来越多,比如发票的显示,文件的显示,怎么实现具体步骤百度一下吧,这里不做详细介绍,主要记录下遇到的问题 1.页面pdf已经看到了,但是 iframe.contentWindow.PDFViewerApplication显示unde…

鸿蒙(HarmonyOS)项目方舟框架(ArkUI)之DatePicker组件

鸿蒙(HarmonyOS)项目方舟框架(ArkUI)之DatePicker组件 一、操作环境 操作系统: Windows 10 专业版、IDE:DevEco Studio 3.1、SDK:HarmonyOS 3.1 二、DatePicker组件 日期选择器组件,用于根据指定日期范围创建日期滑…

MTK8365安卓核心板_联发科MT8365(Genio 350)核心板规格参数

MTK8365安卓核心板是一款高性能的嵌入式处理器产品,基于联发科领先的SoC架构和先进的12纳米工艺。它集成了四核ARM Cortex-A53处理器,每个核心频率高达2.0 GHz,搭载强大的多标准视频加速器,支持高达1080p 60fps的视频解码。此外&a…

【数据结构 04】单链表

一、链表简介 链表是一种物理存储结构上非连续的存储结构,数据元素的逻辑顺序是通过链表中的指针链接次序实现的。 链表在结构上的分类: 1. 带头结点或无头结点 2. 单向或双向 3. 循环或非循环 虽然链表有多种结构类型,但是我么在实际开发中…

云计算概述(云计算类型、技术驱动力、关键技术、特征、特点、通用点、架构层次)(二)

云计算概述(二) (云计算类型、技术驱动力、关键技术、特征、特点、通用点、架构层次) 目录 零、00时光宝盒 一、云计算类型(以服务的内容或形态来分) 二、云计算的12种技术驱动力 三、云计算的关键技术 四、云计…

软件工程知识梳理4-详细设计

详细设计阶段的根本目标是确定应该怎样具体地实现所要求的系统,也就是说.经过这个阶段的设计工作.应该得出对目标系统的精确描述.从而在编码阶段可以把这个描述直接翻译成用某种程序设计语言书写的程序。 详细设计的的目标不仅仅是逻辑上正确地实现每个模块地功能&a…

ONLYOFFICE 文档 8.0 现已发布:PDF 表单、RTL、单变量求解、图表向导、插件界面设计等更新

我们最新版本的在线编辑器现已推出,为整个套件优化了多项功能。阅读下文,了解详细更新内容。 什么是 ONLYOFFICE 文档 ONLYOFFICE 文档是一款开源的办公套件,由总部位于拉脱维亚的Ascensio System SIA开发。它支持处理文本文档、电子表格、演…

【ASP.NET Core 基础知识】--Web API--创建和配置Web API(一)

一、简介 Web API(Web Application Programming Interface)的重要性在于其在现代软件开发中扮演着关键的角色。以下是一些关于Web API重要性的方面: 跨平台交互: Web API允许不同平台、不同技术栈的应用程序进行通信。无论是Web…

有可能通过打印机墨盒入侵电脑吗?

🖨 有可能通过打印机墨盒入侵电脑吗? HP 公司首席执行官 Enrique Lores 在接受 CNBC 采访时说,不能使用非原装打印机墨盒。否则,打印将被阻止。 对于这一决定, Lores 给出了两个理由。首先,非原装墨盒可能…

npm淘宝镜像过期解决办法

npm淘宝镜像过期解决办法 因为npm 官方镜像(registry.npmjs.org)在国内访问很慢,我们基本上都会选择切换到国内的一些 npm 镜像(淘宝镜像、腾讯云镜像等)。由于淘宝原来的镜像(registry.npm.taobao.org&am…

Mac 终端可以使用yarn,但是vscode里面报错segmentation fault

Mac 终端可以使用yarn 但是vscode里面报错segmentation fault 查阅官网https://www.yarnpkg.cn/getting-started/install 在vscode运行corepack enable即可解决该问题

【golang】13、viper 配置库 | 配置文件读写 | 使用方式 | 源码逻辑分析

文章目录 一、使用方式1.1 特性1.2 优势1.3 设置1.3.1 默认值1.3.2 配置文件1.3.3 写配置文件1.3.4 监听配置文件变化1.3.5 从 io.Reader 读配置1.3.6 Setting Overrides1.3.7 使用 Alias1.3.8 环境变量1.3.9 命令行 Flags1.3.8.1 Flag 接口 1.3.9 配置中心1.3.9.1 未加密1.3.9…