(三十九)大数据实战——Prometheus监控平台的部署搭建

前言

Prometheus监控(Prometheus Monitoring)是一种开源的系统监控和警报工具。它最初由SoundCloud开发并于2012年发布,并在2016年加入了云原生计算基金会(CNCF)。Prometheus监控旨在收集、存储和查询各种指标数据,以帮助用户监视其应用程序和系统的性能和运行状态。

Prometheus是一个开源的完整监控解决方案,其对传统监控系统的测试和告警模型进行了彻底的颠覆,形成了基于中央化的规则计算、统一分析和告警的新模型。 相比于传统监控系统,Prometheus使用一种称为PromQL的查询语言,可以对收集到的指标数据进行灵活的查询和分析。它支持多种数据展示和可视化方式,如图表、仪表盘和警报规则等,以帮助用户更好地理解和分析监控数据。Prometheus还具有可扩展性和弹性,可以适应不同规模和复杂度的环境。它可以与其他工具和系统集成,如Grafana、Alertmanager和Kubernetes等,以构建完整的监控和告警解决方案。

正文

①下载Prometheus组件安装包,将下载好的Prometheus安装包上传的centos服务上

地址:Download | Prometheus

 

②解压prometheus-2.29.1.linux-amd64.tar.gz安装包到/opt/module目录下

命令:

tar -zxvf prometheus-2.29.1.linux-amd64.tar.gz -C /opt/module/

③ 修改Prometheus的配置文件prometheus.yml文件,添加pushgateway和node_exporter的监控任务

# A scrape configuration containing exactly one endpoint to scrape:
# Here it's Prometheus itself.
scrape_configs:# The job name is added as a label `job=<job_name>` to any timeseries scraped from this config.- job_name: "prometheus"# metrics_path defaults to '/metrics'# scheme defaults to 'http'.static_configs:- targets: ["hadoop101:9090"]# 添加PushGateway监控配置- job_name: 'pushgateway' static_configs:- targets: ['hadoop101:9091']labels:instance: pushgateway# 添加Node Exporter监控配置- job_name: 'node exporter'static_configs:- targets: ['hadoop101:9100', 'hadoop102:9100', 'hadoop103:9100']

④ 安装PushGateway监控组件,将pushgateway-1.4.1.linux-amd64.tar.gz解压到/opt/module目录下

命令:

tar -zxvf pushgateway-1.4.1.linux-amd64.tar.gz -C /opt/module/

⑤安装AlertManager报警组件,将alertmanager-0.23.0.linux-amd64.tar.gz解压到/opt/module目录下

命令:

tar -zxvf alertmanager-0.23.0.linux-amd64.tar.gz -C /opt/module/

⑥安装NodeExporter监控组件,将node_exporter-1.2.2.linux-amd64.tar.gz解压到/opt/module目录下

命令:

tar -zxvf node_exporter-1.2.2.linux-amd64.tar.gz -C /opt/module

⑦ 分发NodeExporter监控组件安装包到其它服务器

⑧在NodeExporter安装目录下,启动NodeExporter监控组件

⑨访问NodeExporter监控地址,证明服务器监控指标已经能够获取到

 

 ⑩将NodeExporter安装成一个服务,便于启动

- 在/usr/lib/systemd/system目录下创建一个node_exporter.service服务文件

[Unit]
Description=node_export 
Documentation=https://github.com/prometheus/node_exporter 
After=network.target[Service] 
Type=simple 
User=hadoop
ExecStart=/opt/module/node_exporter-1.2.2.linux-amd64/node_exporter 
Restart=on-failure[Install]
WantedBy=multi-user.target

- 分发node_exporter.service服务文件到其它服务器

- 通过服务方式启动NodeExporter,也可以设置为开机自启动

#设置为开机自启动
sudo systemctl enable node_exporter.service
#禁用开机自启动
sudo systemctl disable node_exporter.service
# 启动
sudo systemctl start node_exporter.service
# 查看状态
sudo systemctl status node_exporter.service
# 停止
sudo systemctl stop node_exporter.service

⑪进入Prometheus安装目录,启动Prometheus主服务

- 启动命令:

nohup ./prometheus --config.file=prometheus.yml > ./prometheus.log 2>&1 &

- 访问Prometheus主服务

⑫进入PushGateway目录,启动PushGateway组件

- 启动命令:

nohup ./pushgateway --web.listen-address :9091 > ./pushgateway.log 2>&1 &

- 查看监控状态

⑬进入AlertManager目录,启动AlertManager组件

- 启动命令

nohup ./alertmanager --config.file=alertmanager.yml > ./alertmanager.log 2>&1 &

⑭安装grafana可视化工具

- 解压grafana-enterprise-8.1.2.linux-amd64.tar.gz安装包到/opt/module目录下

tar -zxvf grafana-enterprise-8.1.2.linux-amd64.tar.gz -C /opt/module

- 进入grafana安装目录,后台启动grafana服务

nohup ./bin/grafana-server web > ./grafana.log 2>&1 &

- 访问grafana的web服务,可使用默认账户admin和默认密码admin登录

⑮登录granafa后,在grafana中添加Prometheus数据源

⑯在grafana中添加NodeExporter监控面板

- 在grafana中选择import

- 在grafana dashboard的组件库中下载一个node exporter的模板监控,Dashboards | Grafana Labs

- 根据id:11074导入Node Exporter监控模板

- 添加Prometheus数据源,点击导入

- 进入可视化监控页面,实现服务器的指标监控

⑰使用root用户在/usr/bin目录下创建一个组件的启停脚本my_prometheus.sh,包括Prometheus、PushGateway、grafana

#!/bin/bash
case $1 in
"start"){echo '---- 启动 prometheus ----'nohup /opt/module/prometheus-2.29.1.linux-amd64/prometheus --web.enable-admin-api --config.file=/opt/module/prometheus-2.29.1.linux-amd64/prometheus.yml > /opt/module/prometheus-2.29.1.linux-amd64/prometheus.log 2>&1 &echo '---- 启动 pushgateway ----'nohup /opt/module/pushgateway-1.4.1.linux-amd64/pushgateway --web.listen-address :9091 > /opt/module/pushgateway-1.4.1.linux-amd64/pushgateway.log 2>&1 &echo '---- 启动 grafana ----'nohup /opt/module/grafana-8.1.2/bin/grafana-server --homepath /opt/module/grafana-8.1.2 web > /opt/module/grafana-8.1.2/grafana.log 2>&1 &
};;
"stop"){echo '---- 停止 grafana ----'pgrep -f grafana | xargs killecho '---- 停止 pushgateway ----'pgrep -f pushgateway | xargs killecho '---- 停止 prometheus ----'pgrep -f prometheus | xargs kill
};;
esac

⑱启停Prometheus监控组件

- 启动Prometheus监控组件

- 停止Prometheus监控组件

结语

关于Prometheus监控平台部署搭建的内容到这里就结束了,我们下期见。。。。。。

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

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

相关文章

17.3.2.7 二值化(内存处理)

版权声明&#xff1a;本文为博主原创文章&#xff0c;转载请在显著位置标明本文出处以及作者网名&#xff0c;未经作者允许不得用于商业目的。 二值化的算法请参看第17.3.1.5节。17.3.1.5 二值化&#xff08;黑白&#xff09;-CSDN博客 【例 17.48】二值化算法一。 //黑白1pr…

GEE使用 Sentinel-1 SAR影像 和 Otsu 方法绘制洪水地图

洪水是世界上最常见、破坏性最大的自然灾害之一,造成了巨大的生命和财产损失。此外,随着气候变化的影响,近年来,洪灾变得更加频繁和不可预测。为了最大限度地减少生命和财产损失,必须迅速发现洪水蔓延的情况,并及时采取必要的干预措施。洪水蔓延探测大多使用光学传感器或…

C++参悟:内存管理 shared_ptr

内存管理 shared_ptr 一、概述二、成员函数1. 构造函数2. 析构函数3. 修改器1. reset2. swap 4. 观察器1. get2. use_count3. operator bool 一、概述 std::shared_ptr 是通过指针保持对象共享所有权的智能指针。多个 shared_ptr 对象可占有同一对象。下列情况之一出现时销毁对…

大模型基础架构入门

大模型架构 Prefix Decoder 和 Causal Decoder 和 Encoder-Decoder 区别 在于 attention mask不同&#xff1a; https://zhuanlan.zhihu.com/p/626310493 为何现在的大模型大部分是Decoder only结构&#xff1f; https://www.zhihu.com/question/588325646/answer/335725261…

代码随想录算法训练营第四十四天 | 518. 零钱兑换 II、377. 组合总和 Ⅳ

题目链接&#xff1a;518. 零钱兑换 II 文章讲解&#xff1a;代码随想录 518. 零钱兑换 II讲解 视频讲解&#xff1a;装满背包有多少种方法&#xff1f;组合与排列有讲究&#xff01;| LeetCode&#xff1a;518.零钱兑换II 思路和解法 题目&#xff1a; 给你一个整数数组 c…

JVM-JVM中对象的结构

对象内存布局 对象里的三个区&#xff1a; 对象头&#xff08;Header&#xff09;&#xff1a;Java对象头占8byte。如果是数组则占12byte。因为JVM里数组size需要使用4byte存储。 标记字段MarkWord&#xff1a; 用于存储对象自身的运行时数据&#xff0c;它是synchronized实现轻…

STM32——OLED菜单

文章目录 一.补充二. 二级菜单代码 简介&#xff1a;首先在我的51 I2C里面有OLED详细讲解&#xff0c;本期代码从51OLED基础上移植过来的&#xff0c;可以先看完那篇文章&#xff0c;在看这个&#xff0c;然后按键我是用的定时器扫描不会堵塞程序,可以翻开我的文章有单独的定时…

[2024]常用的conda指令

[2024]常用的conda指令 Hi&#xff0c;各位新年好&#xff0c;今天给大家介绍一下Python项目开发中常用的工具-Anaconda。 Anaconda指的是一个开源的Python发行版本&#xff0c;也是一个安装、管理Python相关包的软件。它自带了Python、Jupyter Notebook、Spyder等工具&#x…

MIPS指令集处理器设计(支持64条汇编指令)

一、题目背景和意义 二、国内外研究现状 (略) 三、MIPS指令集处理器设计与实现 (一).MIPS指令集功能性梳理 1.MIPS指令集架构 (1).mips基础指令集格式总结 MIPS是&#xff08;Microcomputer without interlocked pipeline stages&#xff09;[10]的缩写&#xff0c;含义是…

C++友元->全局函数做友元、类做友元、成员函数做友元

全局函数做友元代码&#xff1a; #include<iostream> using namespace std; #include<string> //建筑物类 class Building { //告诉编译器 goodGay全局函数 是 Building类的好朋友&#xff0c;可以访问类中的私有内容 friend void goodGay(Building * bu…

第14讲投票帖子详情实现

投票帖子详情实现 后端,根据id查询投票帖子信息&#xff1a; /*** 根据id查询* param id* return*/ GetMapping("/{id}") public R findById(PathVariable(value "id")Integer id){Vote vote voteService.getById(id);WxUserInfo wxUserInfo wxUserInf…

电商+支付双系统项目------设计数据库

这篇文章将详细介绍电商支付双系统项目的数据库设计。数据库在该项目中扮演着至关重要的角色&#xff0c;它负责存储和管理用户信息、商品数据、订单记录以及支付交易等关键数据。通过精心设计和优化数据库结构&#xff0c;可以实现高效的数据存储和检索&#xff0c;确保系统的…

JavaScript中的常见算法

一.排序算法 1.冒泡排序 冒泡排序比较所有相邻的两个项&#xff0c;如果第一个比第二个大&#xff0c;则交换它们。元素项向上移动至 正确的顺序&#xff0c;就好像气泡升至表面一样。 function bubbleSort(arr) {const { length } arrfor (let i 0; i < length - 1; i)…

详解自定义类型:枚举与联合体!

目录 ​编辑 一、枚举类型 1.枚举类型的声明 2.枚举类型的优点 3.枚举类型的使用 二、联合体类型(共用体&#xff09; 1.联合体类型的声明 2.联合体的特点 3.相同成员的结构体和联合体的对比 4.联合体大小的计算 5.用联合体判断大小端 三.完结散花 悟已往之不谏&…

【Webpack】自动执行开发服务器 devServer

开发服务器&自动化 每次写完代码都需要手动输入指令才能编译代码&#xff0c;太麻烦了&#xff0c;我们希望一切自动化&#xff0c;即修改代码后服务器浏览器自动刷新。 1. 下载包 npm i webpack-dev-server -D2. 配置 webpack.config.js const path require("p…

深入浅出了解谷歌「Gemini大模型」发展历程

Google在2023年12月官宣了Gemini模型&#xff0c;随后2024年2月9日才宣布Gemini 1.0 Ultra正式对公众服务&#xff0c;并且开始收费。现在2024年2月14日就宣布了Gemini 1.5 Pro&#xff0c;史诗级多模态最强MoE首破100万极限上下文纪录&#xff01;&#xff01;&#xff01;Gem…

Grafana入门:从0开始打造动态仪表板

Grafana入门&#xff1a;从0开始打造动态仪表板 Grafana是一个开源的数据可视化和监控工具&#xff0c;它支持多种数据源&#xff0c;如Prometheus、InfluxDB、Elasticsearch等。通过Grafana&#xff0c;我们可以轻松地创建漂亮的仪表盘&#xff0c;实时监控应用程序和服务的性…

数据分析 — Pandas 数据加载、存储和清洗

目录 一、文件读取1、常见文件读取函数2、read_csv()3、read_table()4、read_excel()5、read_json()6、read_html()7、大文件读取 二、数据保存1、csv2、excel3、json4、html5、MySQL1、连接数据库2、MySQL 存储到本地3、本地存储到 MySQL 三、数据清洗1、处理缺失值1、判断数据…

Aster实现一台电脑当两台使——副屏使用独立win账号

前言&#xff1a;笔者每年回家&#xff0c;都面临着想要和小伙伴一起玩游戏&#xff0c;但小伙伴没有电脑/只有低配电脑的问题。与此同时&#xff0c;笔者自身的电脑是高配置的电脑&#xff0c;因此笔者想到&#xff0c;能否在自己的电脑上运行游戏&#xff0c;在小伙伴的电脑上…

LaTeX中的documentclass命令:指定文档的类型和整体布局

诸神缄默不语-个人CSDN博文目录 documentclass 是 LaTeX 中一个基础且重要的命令&#xff0c;用于定义文档的整体布局和样式。这个命令告诉 LaTeX 编译器文档是属于哪一类的&#xff0c;比如是文章、报告、书籍等&#xff0c;每一类都有其预定义的格式和结构。 文章目录 基本语…