二进制部署promethues

news2024/11/15 15:52:33

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

删除模板

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

设计模式第2篇|策略模式

🚀 作者简介:程序员小豪,全栈工程师,热爱编程,曾就职于蔚来、腾讯,现就职于某互联网大厂,技术栈:Vue、React、Python、Java 🎈 本文收录于小豪的前端系列专栏&#xff0c…

Web3技术革新:重新定义在线体验

互联网的不断演进塑造了我们的数字生活,而Web3技术的涌现正带来一场前所未有的变革。本文将深入探讨Web3技术的创新,以及它如何重新定义和提升我们的在线体验。 Web3技术的基本概念 Web3是互联网的第三个时代,它将去中心化、区块链、智能合约…

Mac苹果电脑玩幻兽帕鲁 Crossover玩Windows游戏

​​ 《幻兽帕鲁》(英文:Palworld)是一款近期在 Steam 爆红的动作冒险生存游戏,游戏设置在一个居住着「帕鲁」的开放世界中,玩家可以战斗并捕捉帕鲁,也能用它们来建造基地、骑乘和战斗。 不过目前《幻兽帕…

MATLAB绘制电磁场

MATLAB绘制电磁场举例: clc;close all;clear all;warning off;%清除变量 rand(seed, 100); randn(seed, 100); format long g; m12 for k1:m for j1:m if k1 V(j,k)1; elseif((j1)|(jm)|(km)) V(j,k)0; else …

强敌环伺:金融业信息安全威胁分析——整体态势

从早期的Zeus和其他以银行为目标的特洛伊木马程序,到现在的大规模分布式拒绝服务(DDoS)攻击,再到新颖的钓鱼攻击和勒索软件,金融服务业已成为遭遇网络犯罪威胁最严重的行业之一。金融服务业的重要性不言而喻&#xff0…

暴雨受邀出席太原市人工智能行业协会年度大会

2024年1月26日,太原市人工智能行业协会第二届二次会员大会暨2024年年会成功召开。太原市委、市工商联、市大数据应用中心、市政协经济委员会以及太原市科技局的专家领导,与三百多名来自各行业的人工智能企业家和协会会员一同参加了本次盛会,共…

ARCGIS PRO SDK 数据库属性域设置与获取

一、数据库创建属性域。 sdk3.1 以下的开发版本不支持,不能使用 Pro SDK 向域添加新的编码值,可以使用地理处理工具: 创建属性域 Dim va As IReadOnlyList(Of String) Dim gpResult As ArcGIS.Desktop.Core.Geoprocessing.IGPResult Dim env…

gitee建库并git

箴言:书山有路勤为径 文章目录 前言一、gitee导入ssh二、gitee建库三、克隆到本地四、关联本地工程到远程仓库五、push流程总结 前言 nodejs每天的学习都有代码产出,转念一想不如在码云上面搞个仓库,也经历了些许波折,往常也建了…

论文阅读-MapReduce

论文名称:MapReduce: Simplified Data Processing on Large Clusters 翻译的效果不是很好,有空再看一遍,参照一下别人翻译的。 MapReduce:Simplified Data Processing on Large Clusters 中文翻译版(转) - 阿洒 - 博客园 (cnblogs.com) 概…

Powershell Install telegraf 实现Grafana Windows 图形展示

influxd2前言 influxd2 是 InfluxDB 2.x 版本的后台进程,是一个开源的时序数据库平台,用于存储、查询和可视化时间序列数据。它提供了一个强大的查询语言和 API,可以快速而轻松地处理大量的高性能时序数据。 telegraf 是一个开源的代理程序,它可以收集、处理和传输各种不…

Dragons

题目链接&#xff1a; Problem - 230A - Codeforces 解题思路&#xff1a; 用结构体排序就好&#xff0c;从最小的开始比较&#xff0c;大于就加上奖励&#xff0c;小于输出NO 下面是c代码&#xff1a; #include<iostream> #include<algorithm> using namespac…

React16源码: React中LegacyContext的源码实现

LegacyContext 老的 contextAPI 也就是我们使用 childContextTypes 这种声明方式来从父节点为它的子树提供 context 内容的这么一种方式遗留的contextAPI 在 react 17 被彻底移除了&#xff0c;就无法使用了那么为什么要彻底移除这个contextAPI的使用方式呢&#xff1f;因为它…

什么是Vue Vue入门案例

一、什么是Vue 概念&#xff1a;Vue (读音 /vjuː/&#xff0c;类似于 view) 是一套 构建用户界面 的 渐进式 框架 Vue2官网&#xff1a;Vue.js 1.什么是构建用户界面 基于数据渲染出用户可以看到的界面 2.什么是渐进式 所谓渐进式就是循序渐进&#xff0c;不一定非得把V…

leetcode hot100分发饼干

在本题中&#xff0c;我们需要采用贪心算法。考虑局部最优解&#xff0c;然后再考虑全局最优解。 比如&#xff0c;在本题中&#xff0c;我们先把胃口和饼干排序&#xff0c;排序之后我们可以采用用大饼干来喂大胃口的孩子&#xff0c;如果此时能满足&#xff0c;那么计数加一…

Linux实验记录:使用LVM(逻辑卷管理器)

前言&#xff1a; 本文是一篇关于Linux系统初学者的实验记录。 参考书籍&#xff1a;《Linux就该这么学》 实验环境&#xff1a; VmwareWorkStation 17——虚拟机软件 RedHatEnterpriseLinux[RHEL]8——红帽操作系统 备注&#xff1a; 硬盘分好区或者部署为RAID磁盘阵列…

[嵌入式软件][入门篇][仿真平台] STM32CubeMX的搭建

文章目录 一、简介二、STM32CubeMX的使用(1) 新建文件&#xff0c;芯片选型(2) sys设置和RCC设置(3) 配置时钟(4) 生成代码 三、仿真平台的使用 一、简介 STM32CubeMX是一种图形工具&#xff0c;通过分步过程可以非常轻松地配置STM32微控制器和微处理器&#xff0c;生成相应的初…

13.前端--CSS-盒子模型

1.盒子模型的组成 CSS 盒子模型本质上是一个盒子&#xff0c;封装周围的 HTML 元素&#xff0c;它包括&#xff1a;边框、外边距、内边距、和 实际内容 2.边框&#xff08;border&#xff09; 2.1 边框的使用 1、border设置元素的边框。边框有三部分组成:边框宽度(粗细) 边框…

英特尔正式发布OpenVINO™ 2023.3版本

2024年1月24日&#xff0c;英特尔正式发布了OpenVINO™ 2023.3版本&#xff08;Release Notes for Intel Distribution of OpenVINO Toolkit 2023.3&#xff09;。OpenVINO™是英特尔针对自家硬件平台开发的一套深度学习工具库&#xff0c;包含推断库&#xff0c;模型优化等等一…

软件个性化选型:制造企业如何选择适合自身的工单管理系统-亿发

企业制造业是实体经济中非常重要和基础的组成部分&#xff0c;直接关系到国家经济的血脉。然而&#xff0c;传统制造业在生产与管理上所采用的老一套方法和经验已不再适应当下的发展需求。信息化、数字化和智能化被视为制造企业的必然趋势。要想在竞争激烈的市场中永立潮头&…

基于数字签名技术的挑战/响应式认证方式

挑战/响应式认证方式简便灵活&#xff0c;实现起来也比较容易。当网络需要验证用户身份时&#xff0c;客户端向服务器提出登录请求&#xff1b;当服务器接收到客户端的验证请求时&#xff0c;服务器端向客户端发送一个随机数&#xff0c;这就是这种认证方式的“冲击&#xff08…