prometheus+grafana搭建监控系统
1.prometheus服务端安装
1.1下载包
使用wget下载 (也可以直接去官网下载包Download | Prometheus)
wget https://github.com/prometheus/prometheus/releases/download/v2.44.0/prometheus-2.44.0.linux-amd64.tar.gz
1.2解压
tar xf prometheus-2.44.0.linux-amd64.tar.gz

#移动到/usr/local/目录,并修改名字。 (移动到/usr/local/目录,使得所有用户都可以访问 Prometheus)
mv prometheus-2.44.0.linux-amd64 /usr/local/prometheus
1.3修改 Prometheus 配置文件
#进入Prometheus目录
cd /usr/local/prometheus/#备份配置文件
cp -ar prometheus.yml prometheus.yml-bak#进入配置文件
vi prometheus.yml## 最后一行localhost改为本机的ipstatic_configs:- targets: ["XXXX:9090"]
1.4 设置开机自启
(两种方式:推荐第一种)
第一种:配置系统启动文件,启动并设置开机自启
#进入这个文件,默认是没有的,直接进入就行
vim /usr/lib/systemd/system/prometheus.service #将下面的全部写进去
[Unit]
Description=Prometheus Server
Documentation=https://prometheus.io
After=network.target[Service]
Type=simple
ExecStart=/usr/local/prometheus/prometheus \
--config.file=/usr/local/prometheus/prometheus.yml \
--storage.tsdb.path=/usr/local/prometheus/data/ \
--storage.tsdb.retention=15d \
--web.enable-lifecycleExecReload=/bin/kill -HUP $MAINPID
Restart=on-failure
[Install]
WantedBy=multi-user.target

#启动
systemctl restart prometheus#设置开机自启
systemctl enable prometheus#查看端口是否启动9090
netstat -anput | grep 9090

第二种:进入解压目录,挂后台执行./prometheus
#进入解压目录
cd /usr/local/prometheus#挂后台执行./prometheus
./prometheus &#查看端口是否启动
netstat -anput | grep 9090
也是可以启动的,但是不好的是,不能设置开机自启,如果想要开机自启,还需要手动写一个启动服务器去执行他的命令或者周期性计划任务,所以不推荐使用方法二;推荐使用第一种。
1.5页面访问
浏览器访问:机器ip:9090 ,访问到 Prometheus 的 Web UI 界面。点击页面的 Status -> Targets,如看到 Target 状态都为 UP,说明 Prometheus 能正常采集到数据

http://自己ip:9090/metrics ,可以看到 Prometheus 采集到自己的指标数据

查看折线图

2.客户端部署 Exporters
2.1下载
直接用wget下载 (也可以去官网下载包,Download | Prometheus)
wget https://github.com/prometheus/node_exporter/releases/download/v1.6.0/node_exporter-1.6.0.linux-amd64.tar.gz
2.2解压安装包
tar xf node_exporter-1.6.0.linux-amd64.tar.gz#移动到/usr/local/目录,并修改名字(名字可自行修改,只要记住这个文件夹是干什么的就行)
mv node_exporter-1.6.0.linux-amd64 /usr/local/prometheus_node
2.3设置开机自启
(两种方式:推荐第一种)
第一种:配置系统启动文件,启动并设置开机自启
#进入这个文件,默认是没有的,直接进入就行
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/prometheus_node/node_exporter \
--collector.ntp \
--collector.mountstats \
--collector.systemd \
--collector.tcpstatExecReload=/bin/kill -HUP $MAINPID
Restart=on-failure[Install]
WantedBy=multi-user.target
#启动
systemctl restart node_exporter#设置开机自启
systemctl enable node_exporter#查看端口是否启动9100
netstat -anput | grep 9100
第二种:进入解压目录,挂后台执行./node_exporter
#进入解压目录
cd /usr/local/prometheus_node#挂后台执行./prometheus
./node_exporter &#查看端口是否启动
netstat -anput | grep 9100
页面访问,ip:port
3.监控机器配置
服务端机器添加徐娅监控的目标机器
3.1添加单个 客户端
#进入prometheus的配置文件中
vim /usr/local/prometheus/prometheus.yml#添加以下几行,到最后(格式和上面的服务端一样,因为yml文件格式要求严格,所以必须一样,否则启动会报错)- job_name: 'test_job'static_configs:- targets: ['XXXX:9100']
3.2添加多个 客户端
方式1:
- job_name: "test1"static_configs:- targets: ["xx1:9100"]- job_name: "test2"static_configs:- targets: ["xx2:9100"]
方式2:
- job_name: "test"static_configs:- targets: - xx1:9100- xx2:9100
方式3:
- job_name: "test"static_configs:- targets: ["xx1:9100"]- targets: ["xx2:9100"]
重启服务端
systemctl restart prometheus
刷新页面,按照步骤1.5访问。test_job就是目标机器数据。
4.安装Grafana
官网下载地址:Download Grafana | Grafana Labs

4.1下载
在安装prometheus的服务器上下载grafana
#下载安装
sudo yum install -y https://dl.grafana.com/enterprise/release/grafana-enterprise-11.0.0-1.x86_64.rpm#启动Grafana服务
sudo systemctl start grafana-server#设置开机启动
sudo systemctl enable grafana-server#检查Grafana服务的状态,确保它正在运行
sudo systemctl status grafana-server

阿里云配置3000端口

4.2访问页面
ip:3000访问页面。初始用户名和密码都是admin

4.3 配置数据源
把 Prometheus 服务器收集的数据做为一个数据源添加到 grafana,让 grafana 可以得到 Prometheus 的数据




选择你想监控的指标

4.4导入grafana监控面板
4.3是自定义的监控模块(监控的服务端的1、5、15分钟的平均负载),一个一个添加比较麻烦,我们可以去找一些模板;
GitHub上面很多人开发了dashboards模板,官方社区上也有很多开源的dashboards模板,我们只需要把模板的Copy ID 或者 Download JSON文件导入到grafana即可,参考官网免费的dashboards模板。
进入官网,往下拉,可以看到选择这几个,Data Source 选择Prometheus,然后搜索主机监控,或者自己定义,搜索,linux什么的都可以,根据自己的需求选择;

找到喜欢的模板之后点进去,可以看到右边有Copy ID 和 Download JSON,自行选择就行;这里我选择复制id,json需要下载;

复制好id之后,打开在 grafana 页面中,输入面板 ID 号或者上传 JSON 文件,点击 Load,即可导入监控面板


配置好的界面

5.配置检测
监测 Prometheus配置文件是否正确
#进入prometheus目录
cd /usr/local/prometheus/#执行promtool,监测配置是否正确
./promtool check config prometheus.yml
正常状态返回:
Checking prometheus.ymlSUCCESS: prometheus.yml is valid prometheus config file syntax
失败状态返回:
Checking prometheus.ymlFAILED: parsing YAML file prometheus.yml: "XX:80" is not a valid hostname
监测服务ip添加后缀
- job_name: "test_job"metrics_path: /test/demo/static_configs:- targets: ['XX:9999']
相关文章:
prometheus+grafana搭建监控系统
1.prometheus服务端安装 1.1下载包 使用wget下载 (也可以直接去官网下载包Download | Prometheus) wget https://github.com/prometheus/prometheus/releases/download/v2.44.0/prometheus-2.44.0.linux-amd64.tar.gz1.2解压 tar xf prometheus-2.44…...
flink学习-flink sql
动态表 在flink的数据处理中,数据流是源源不断的,是无界的,所以对于flink处理的数据表是一张动态表,所以对于动态表的查询也是持续的,每接收一条新数据会进行一次新的查询。 持续查询 因为数据在一直源源不动的到来…...
高考填报志愿攻略,5个步骤选专业和院校
在高考完毕出成绩的时候,很多人会陷入迷茫中,好像努力了这么多年,却不知道怎么规划好未来。怎么填报志愿合适?在填报志愿方面有几个内容需要弄清楚,按部就班就能找到方向,一起来了解一下正确的步骤吧。 第…...
Kubernetes排错(十)-处理容器数据磁盘被写满
容器数据磁盘被写满造成的危害: 不能创建 Pod (一直 ContainerCreating)不能删除 Pod (一直 Terminating)无法 exec 到容器 如何判断是否被写满? 容器数据目录大多会单独挂数据盘,路径一般是 /var/lib/docker,也可能是 /data/docker 或 /o…...
使用QtGui显示QImage的几种方法
问题描述 我是一名刚学习Qt的新手,正在尝试创建一个简单的GUI应用程序。当点击一个按钮时,显示一张图片。我可以使用QImage对象读取图片,但是否有简单的方法调用一个Qt函数,将QImage作为输入并显示它? 方法一:使用QLabel显示QImage 最简单的方式是将QImage添加到QLabe…...
C++ lamda
1 lamada 的函数指针存在哪里?需要通过分析编译后的二进制; 2 捕获了什么? 为什么捕获?捕获的范围是什么? 捕获的生命周期是什么? lambda 定义匿名函数,使得代码更加灵活简洁; lam…...
Linux_应用篇(27) CMake 入门与进阶
在前面章节内容中,我们编写了很多示例程序,但这些示例程序都只有一个.c 源文件,非常简单。 所以,编译这些示例代码其实都非常简单,直接使用 GCC 编译器编译即可,连 Makefile 都不需要。但是,在实…...
51单片机STC89C52RC——8.1 8*8 LED点阵模块(点亮一个LED)
目录 目的/效果 一,STC单片机模块 二,8*8 LED点阵模块 2.1 电路图 2.1.1 8*8 点阵模块电路图 2.1.2 74HC595(串转并)模块 电路图 2.1.3 芯片引脚 2.2 引脚电平分析 2.3 74HC595 串转并模块 2.3.1 装弹(移位…...
2024最新免费版轻量级Navicat Premium Lite 下载和安装教程
2024最新免费版轻量级Navicat Premium Lite 下载和安装教程 关于猫头虎 大家好,我是猫头虎,别名猫头虎博主,擅长的技术领域包括云原生、前端、后端、运维和AI。我的博客主要分享技术教程、bug解决思路、开发工具教程、前沿科技资讯、产品评…...
PHP+laravel 生成word
此功能较为繁琐我会从源头讲起 首先是数据库设置,下面是我的数据库结构 合同模版表 CREATE TABLE contract_tpl (id bigint unsigned NOT NULL AUTO_INCREMENT,name varchar(191) COLLATE utf8_unicode_ci DEFAULT NULL COMMENT 合同名称,file varchar(191) COLL…...
redis集群简单介绍及其搭建过程
Redis集群 1、哨兵模式 哨兵可以有多个,从服务器也可以有多个,从服务器也可以有多个,在Redis3.0以前的版本要实现集群一般是借助哨兵sentinel工具来监控master节点的状态,如果master节点异常,则会实现主从切换&#x…...
linux桌面运维----第五天
1、创建用户命令useradd: 作用:创建用户 语法:useradd [选项名] 用户名 选项: -d<登入目录> 指定用户登入时的起始目录。 【掌握】 -g<群组> 指定用户所属的群组(基本组)。【掌握】…...
【SQL Server数据库】简单查询
目录 用SQL语句完成下列查询。使用数据库为SCHOOL数据库 1. 查询学生的姓名、性别、班级名称,并把结果存储在一张新表中。 2. 查询男生的资料。 3. 查询所有计算机系的班级信息。 4.查询艾老师所教的课程号。 5. 查询年龄小于30岁的女同学的学号和姓名。…...
Docker 从入门到精通(大全)
一、概述 1.1 基本概念 Docker 是一个开源的应用容器引擎,基于 Go 语言 并遵从 Apache2.0 协议开源。 Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。…...
基于JSP的在线教育资源管理系统
开头语: 你好呀,我是计算机学长猫哥!如果你对在线教育资源管理系统感兴趣或者有相关需求,欢迎在文末找到我的联系方式。 开发语言:Java 数据库:MySQL 技术:JSP技术 工具:IDE、N…...
在java中代理http请求,如何避免陷入循环?
在 Java 中,代理 HTTP 请求时,如果不小心配置不当,可能会导致循环请求。循环请求通常发生在代理服务器将请求再次发送回自己,形成一个死循环。为了避免这种情况,可以采取以下几种方法: 将域名设置为指定的…...
国内镜像源网址
腾讯:腾讯软件源 (tencent.com) 阿里:阿里巴巴开源镜像站-OPSX镜像站-阿里云开发者社区 (aliyun.com) 清华:清华大学开源软件镜像站 | Tsinghua Open Source Mirror...
合适的智能猫砂盆到底怎么挑?开放式封闭式一次说清!
想当初我也是在网上看了各种测评,纠结了好久才下定决心入手了智能猫砂盆。封闭式和开放式都用过,各有各的利与弊,不过最后的我还是选择了开放式的智能猫砂盆,因为开放式的设计结构会更加方便我观察小猫,哪个铲屎官不喜…...
阿里云开启ssl证书过程记录 NGINX
🤞作者简介:大家好,我是思无邪,2024 毕业生,某厂 Go 开发工程师.。 🐂我的网站:https://www.yishanicode.top/ ,持续更新,希望对你有帮助。 🐞如果文章或网站…...
C语言程序设计 9.37 调用随机函数为5x4的矩阵置 100以内的整数,输出该矩阵,求出每行元素之和,并把和的最大的那一行与第一行的元素对调
void count_sum(int sum[]) {int i;printf("每行相加的情况如下\n");for (i 0;i < 5; i){printf("%d ", sum[i]);}printf("\n"); } void test(int arr[5][4]) {int i, j;srand((unsigned)time(NULL));//添加这个可以每次不同的随机数&#x…...
网络六边形受到攻击
大家读完觉得有帮助记得关注和点赞!!! 抽象 现代智能交通系统 (ITS) 的一个关键要求是能够以安全、可靠和匿名的方式从互联车辆和移动设备收集地理参考数据。Nexagon 协议建立在 IETF 定位器/ID 分离协议 (…...
DockerHub与私有镜像仓库在容器化中的应用与管理
哈喽,大家好,我是左手python! Docker Hub的应用与管理 Docker Hub的基本概念与使用方法 Docker Hub是Docker官方提供的一个公共镜像仓库,用户可以在其中找到各种操作系统、软件和应用的镜像。开发者可以通过Docker Hub轻松获取所…...
Java如何权衡是使用无序的数组还是有序的数组
在 Java 中,选择有序数组还是无序数组取决于具体场景的性能需求与操作特点。以下是关键权衡因素及决策指南: ⚖️ 核心权衡维度 维度有序数组无序数组查询性能二分查找 O(log n) ✅线性扫描 O(n) ❌插入/删除需移位维护顺序 O(n) ❌直接操作尾部 O(1) ✅内存开销与无序数组相…...
渲染学进阶内容——模型
最近在写模组的时候发现渲染器里面离不开模型的定义,在渲染的第二篇文章中简单的讲解了一下关于模型部分的内容,其实不管是方块还是方块实体,都离不开模型的内容 🧱 一、CubeListBuilder 功能解析 CubeListBuilder 是 Minecraft Java 版模型系统的核心构建器,用于动态创…...
MMaDA: Multimodal Large Diffusion Language Models
CODE : https://github.com/Gen-Verse/MMaDA Abstract 我们介绍了一种新型的多模态扩散基础模型MMaDA,它被设计用于在文本推理、多模态理解和文本到图像生成等不同领域实现卓越的性能。该方法的特点是三个关键创新:(i) MMaDA采用统一的扩散架构…...
转转集团旗下首家二手多品类循环仓店“超级转转”开业
6月9日,国内领先的循环经济企业转转集团旗下首家二手多品类循环仓店“超级转转”正式开业。 转转集团创始人兼CEO黄炜、转转循环时尚发起人朱珠、转转集团COO兼红布林CEO胡伟琨、王府井集团副总裁祝捷等出席了开业剪彩仪式。 据「TMT星球」了解,“超级…...
Axios请求超时重发机制
Axios 超时重新请求实现方案 在 Axios 中实现超时重新请求可以通过以下几种方式: 1. 使用拦截器实现自动重试 import axios from axios;// 创建axios实例 const instance axios.create();// 设置超时时间 instance.defaults.timeout 5000;// 最大重试次数 cons…...
全面解析各类VPN技术:GRE、IPsec、L2TP、SSL与MPLS VPN对比
目录 引言 VPN技术概述 GRE VPN 3.1 GRE封装结构 3.2 GRE的应用场景 GRE over IPsec 4.1 GRE over IPsec封装结构 4.2 为什么使用GRE over IPsec? IPsec VPN 5.1 IPsec传输模式(Transport Mode) 5.2 IPsec隧道模式(Tunne…...
九天毕昇深度学习平台 | 如何安装库?
pip install 库名 -i https://pypi.tuna.tsinghua.edu.cn/simple --user 举个例子: 报错 ModuleNotFoundError: No module named torch 那么我需要安装 torch pip install torch -i https://pypi.tuna.tsinghua.edu.cn/simple --user pip install 库名&#x…...
安宝特案例丨Vuzix AR智能眼镜集成专业软件,助力卢森堡医院药房转型,赢得辉瑞创新奖
在Vuzix M400 AR智能眼镜的助力下,卢森堡罗伯特舒曼医院(the Robert Schuman Hospitals, HRS)凭借在无菌制剂生产流程中引入增强现实技术(AR)创新项目,荣获了2024年6月7日由卢森堡医院药剂师协会࿰…...
