prometheus+grafana搭建

部署 prometheus

安装

# 1,下载
wget https://github.com/prometheus/prometheus/releases/download/v2.45.1/prometheus-3.5.0.linux-amd64.tar.gz# 2,部署
tar  -zxvf  prometheus-3.5.0.linux-amd64.tar.gz  -C   /opt/
cd   /opt/
mv  ./prometheus-3.5.0.linux-amd64   prometheus# 3,验证
[root@prometheus prometheus]#  cd   /opt/prometheus
[root@prometheus prometheus]# ./prometheus  --version
prometheus, version 3.5.0 (branch: HEAD, revision: 8be3a9560fbdd18a94dedec4b747c35178177202)build user:       root@4451b64cb451build date:       20250714-16:15:23go version:       go1.24.5platform:         linux/amd64tags:             netgo,builtinassets# 4,配置用户
groupadd  prometheus
useradd  -g  prometheus -s /sbin/nologin prometheus
chown -R  prometheus:prometheus /opt/prometheus/# 5,创建prometheus运行数据目录
mkdir  -p  /opt/prometheus/data
chown -R prometheus:prometheus /opt/prometheus/data

配置文件

[root@prometheus prometheus]# cat prometheus.yml
# my global config
global:scrape_interval: 15s # 默认15s 全局每次数据收集的间隔 minute.evaluation_interval: 15s # 规则扫描时间间隔是15秒,默认不填写是 1分钟 minute.# scrape_timeout is set to the global default (10s). # 超时时间# Alertmanager configuration
alerting:alertmanagers:- static_configs:- targets:# - alertmanager:9093# Load rules once and periodically evaluate them according to the global 'evaluation_interval'.
rule_files:# - "first_rules.yml"# - "second_rules.yml"# 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: ["localhost:9090"]# The label name is added as a label `label_name=<label_value>` to any timeseries scraped from this config.labels:app: "prometheus"

创建脚本systemd管理

vim  /usr/lib/systemd/system/prometheus.service[Unit]
Description=Prometheus
After=network.target[Service]
Type=simple
User=prometheus
Group=prometheus
ExecStart=/opt/prometheus/prometheus \
--config.file=/opt/prometheus/prometheus.yml \
--storage.tsdb.path=/opt/prometheus/data \
--storage.tsdb.retention.time=15d \
--web.console.templates=/opt/prometheus/consoles \
--web.console.libraries=/opt/prometheus/console_libraries \
--web.max-connections=512 \
--web.external-url "http://自己服务器IP地址:9090" \
--web.listen-address "0.0.0.0:9090" \
--web.enable-admin-api \
--web.enable-lifecycle
Restart=on-failure[Install]
WantedBy=multi-user.target

启动验证

systemctl daemon-reload
systemctl enable prometheus
systemctl start  prometheus
systemctl status prometheus
# 查看服务端口
ss -tunlp | grep 9090

访问 http://自己服务器IP:9090

点击Endpoint目标的值,再从exporter具体能抓到的数据,随便复制一个值就好,比如go_gc_pauses_seconds_count

部署node_exporter

Node_exporter收集机器的系统数据,采用prometheus官方提供的exporte

安装

# 安装node_exporter
wget https://github.com/prometheus/node_exporter/releases/download/v1.6.1/node_exporter-1.6.1.linux-amd64.tar.gz
tar -zxvf node_exporter-1.6.1.linux-amd64.tar.gz -C /opt/
cd /opt/
mv node_exporter-1.6.1.linux-amd64/  node_exporter# 添加用户
groupadd prometheus
useradd -g prometheus -s /sbin/nologin prometheus
chown -R prometheus:prometheus /opt/node_exporter# 设置开机启动
vim  /lib/systemd/system/node_exporter.service
[Unit]
Description=Prometheus Node_exporter
After=network.target prometheus.service[Service]
Type=simple
User=prometheus
Group=prometheus
ExecStart=/opt/node_exporter/node_exporter --web.listen-address=0.0.0.0:9101
Restart=on-failure[Install]
WantedBy=multi-user.target

设置启动服务

systemctl daemon-reload
systemctl enable node_exporter
systemctl start node_exporter

添加 node_exporter到配置文件

cat >> prometheus.yml <<EOF- job_name: 'node'static_configs:- targets: ['IP地址:9101']
EOF

注意:这里添加的一定要在 /opt/prometheus/prometheus.yml文件中操作,否则会导致后续prometheus中没有node节点,grafana表盘中无数据

重启prometheus服务

systemctl restart prometheus.service

验证

查看监控指标 http://IP地址:9101/metrics

这里跟部署prometheus启动验证一样,随机拿一个数据验证。

查看target

部署grafana

安装配置

# 安装
wget https://dl.grafana.com/enterprise/release/grafana-enterprise-10.2.0-1.x86_64.rpm
yum -y install grafana-enterprise-10.2.0-1.x86_64.rpm# 设置开启自启
systemctl enable grafana-server
systemctl start grafana-server

登录访问

访问:http://IP地址:3000,默认账号/密码:admin/admin,首次登陆需要修改默认的管理员密码

添加数据

这里URL填http:localhost:9090/或者http:IP地址:9090/都行

然后点击保存

导入仪表盘

new->import

这里1是填官方提供的表盘形式,填写11074或者16098都行

这里名字随便填,2默认,3点击后有个prometheus标志出来点击就行。然后import

可能遇到的问题

xshell无法传文件给远程主机

原因:远程服务器中没有安装响应相对应的驱动

解决办法:服务器安转就行

yum install lrzsz

下载超时

原因:服务器访问github比较慢或者访问不上

解决方法:修改网络文件或者直接下载相应的文件然后用xshell等远程工具上传到服务器

grafana仪表盘无数据

检查部署node_exporter步骤时,验证的时候是否会有node节点出现。没有出现则在配置node_exporter文件步骤中,prometheus.yml文件是否配置正确,注意scrape_configs:节点下

 - job_name: "prometheus"# metrics_path defaults to '/metrics'# scheme defaults to 'http'.static_configs:- targets: ["IP地址:9090"]# The label name is added as a label `label_name=<label_value>` to any timeseries scraped from this config.labels:app: "prometheus"- job_name: 'node'static_configs:- targets: ['IP地址:9101']

在grafana中dashboards中url是否配置正确

无法打开prometheus和grafana网站

用的阿里云服务器做的实验的话,查看安全组是否放行了9090,9101等这些端口。

参考文章

prometheus+grafana部署

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

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

相关文章

MR30分布式I/O在面机装备中的应用

随着食品加工行业向自动化、智能化转型&#xff0c;面机装备对控制系统的响应速度、布线灵活性及稳定性提出了更高要求。本案例以某大型食品机械制造企业的全自动面条生产线升级项目为背景&#xff0c;引入 MR30 分布式 IO 模块替代传统集中式 IO 方案。通过将 MR30 分布式 IO …

Matlab使用小技巧合集(系列四):Table类型高效用法与数据处理实战

Matlab使用小技巧合集(系列四):Table类型高效用法与数据处理实战 在科研数据处理和论文写作过程中,结构化数据的管理极为重要。Matlab的table类型为研究生和科研人员提供了灵活、高效的数据存储与处理方式,尤其适合实验结果整理、分组统计、数据预处理等场景。本文将系统介…

STM32的时钟系统与时钟树的配置

STM32的时钟系统是其微控制器&#xff08;MCU&#xff09;的核心组成部分&#xff0c;负责为CPU、外设和存储器等模块提供精确的时序信号。其设计灵活且复杂&#xff0c;通过多级时钟树&#xff08;Clock Tree&#xff09;实现时钟源的选择、分频和分配。以下是详细介绍&#x…

NV 工具metrics分析(ncu, nsys/torch profiler)

以下分析都以A100硬件架构为例; Theoretical Max Active Warps per SM: 64 Register number: 512 (规定每个thread不能超过256) Theoretical Active Warps per SM [warp]&#xff1a;512//registers_per_thread*4, which defines theoretical active warp occupancy Waves P…

[CISCN2019 总决赛 Day2 Web1]Easyweb

登录界面可以看到随机切换的图片。从页面源码中可以看到<div class"avtar"><img src"image.php?id3" width"200" height"200"/></div>&#xff0c;图片文件的请求地址&#xff0c;并且有传参id。web应用中像这种动…

第 3 讲:KAFKA生产者(Producer)详解

这是一篇既照顾入门也能给高级工程师提供落地经验的实战笔记。0. TL;DR&#xff08;先上结论&#xff09; 想稳&#xff1a;acksall 合理 retries&#xff1b;需要“分区内不重不丢”→ 再加 enable.idempotencetrue 且 max.in.flight<5。想快&#xff1a;适度增大 batch.s…

微信小程序截屏与录屏功能详解

微信小程序提供了丰富的API支持截屏和录屏功能&#xff0c;适用于多种场景&#xff0c;如教育类应用的课程录制、游戏类应用的精彩瞬间分享、电商类应用的商品展示等。以下将详细介绍实现方法和应用案例。 截屏功能实现 截屏功能通过调用wx.canvasToTempFilePath或wx.captureSc…

React 中的 HOC 和 Hooks

写在前面 在函数式组件主导的 React 项目中&#xff0c;高阶组件&#xff08;HOC&#xff09;并非首选推荐&#xff0c;更建议优先使用 Hooks来实现复用逻辑。核心原因是 HOC 存在固有的设计缺陷&#xff0c;而 Hooks 能更优雅、简洁地解决相同问题&#xff0c;同时避免 HOC 的…

【 苍穹外卖 | Day2】

1. 相关视频 Day2的全部视频集数 2. 学习记录 2.1 对象属性拷贝 当DTO与实体类或者VO对象之间的一个装换的时候&#xff0c;如果通过new创建对象&#xff0c;然后调用set方法进行属性赋值&#xff0c;不够方便&#xff0c;代码不够简洁。当属性过多时候&#xff0c;代码就会…

焊接自动化测试平台图像处理分析-模型训练推理

1、使用技术栈&#xff1a;jdk17/springboot/python/opencv/yolov8 2、JAVA环境搭建 JDK17下载安装&#xff1a;wget https://download.oracle.com/java/17/latest/jdk-17_linux-x64_bin.tar.gz 解压软件 tar -xf jdk-17.0.16_linux-x64_bin.tar.gz 配置全局变量 vim /etc/p…

【python实用小脚本-205】[HR揭秘]手工党逐行查Bug的终结者|Python版代码质量“CT机”加速器(建议收藏)

1. 场景故事 “作为HR&#xff0c;我曾用2小时逐行审阅50份Python简历项目&#xff0c;直到发现候选人的代码复杂度超标导致线上事故…” → 转折点&#xff1a;用麦凯布&#xff08;McCabe&#xff09;圈复杂度检测脚本&#xff0c;30秒扫描全仓库&#xff0c;现可100%拦截“高…

LeetCode - 1089. 复写零

题目 1089. 复写零 - 力扣&#xff08;LeetCode&#xff09; 思路 这道题我首先想到的是从前往后双指针&#xff0c;但是这样做会造成数据的覆盖&#xff0c;比如说下面的这个情况 所以解决的方法就是从后往前去复写&#xff0c;但是从后往前的话就要知道最后一个有效元素是…

c#中public类比博图

简单来说&#xff0c;**public 定义了“接口”或“引脚”**&#xff0c;就像你的FB块上的 Input, Output, InOut 管脚一样。它决定了外部的其他代码&#xff08;如另一个FB或OB1&#xff09;可以看到和操作这个块里的什么东西。让我用你最熟悉的博图概念来详细类比一下。---###…

K8s基于节点软亲和的高 CPU Pod 扩容与优先调度方案

场景与目标 集群节点&#xff1a;master&#xff08;4 核&#xff09;、node1&#xff08;16 核&#xff09;、node2&#xff08;16 核&#xff09;。目标&#xff1a;将一个高 CPU 消耗的工作负载横向扩展到 4 个实例&#xff0c;并通过**节点亲和性&#xff08;软亲和&#…

MySQL InnoDB 的锁机制

引言 锁是数据库管理并发访问的另一种核心机制&#xff0c;与 MVCC 相辅相成。本文将系统梳理 MySQL InnoDB 中锁的粒度、类型和工作原理&#xff0c;并深入探讨它如何与事务隔离级别配合&#xff0c;共同保障数据的一致性和完整性。 一、 锁的粒度&#xff1a;由粗到细 InnoD…

状态模式(State Pattern)——网络连接场景的 C++ 实战

一、为什么要用状态模式&#xff1f;在开发中&#xff0c;经常遇到“对象在不同状态下行为不同”的情况。最常见的写法是用一堆 if/else 或 switch 来判断状态&#xff0c;然后在不同分支里写逻辑。这样做有两个问题&#xff1a;状态增多后&#xff0c;条件分支会变得臃肿。修改…

使用csi-driver-nfs实现K8S动态供给

文章目录一、部署NFS二、k8s环境部署csi-nfs三、测试动态供给补充应用服务器IPnfs-server192.168.1.5k8s-master01192.168.1.1k8s-node01192.168.1.2k8s-node02192.168.1.3 一、部署NFS 1、在NFS服务端和k8s所有节点部署nfs-utils 因为客户端去挂载nfs服务端的共享目录时&…

【开题答辩全过程】以 基于ssm的房屋中介管理系统为例,包含答辩的问题和答案

个人简介一名14年经验的资深毕设内行人&#xff0c;语言擅长Java、php、微信小程序、Python、Golang、安卓Android等开发项目包括大数据、深度学习、网站、小程序、安卓、算法。平常会做一些项目定制化开发、代码讲解、答辩教学、文档编写、也懂一些降重方面的技巧。感谢大家的…

MySQL主从复制之进阶延时同步、GTID复制、半同步复制完整实验流程

1.主从同步1.1主从同步原理是指将主库的DDL和DML操作通过二进制日志(binlog)传到从库服务器&#xff0c;然后在从库上对这些日志进行重新执行&#xff0c;从而使从库和主库数据保持一致1.2环境设置库名ip地址操作系统mysql版本主库msyql-master192.168.31.228rhel7.9源码安装my…

织信低代码:用更聪明的方式,把想法变成现实!

你有没有过这样的时刻&#xff1f;想亲手做一个应用&#xff0c;却因为“不会编码”而迟迟没有开始&#xff1b;或曾无奈地目睹公司里一个看似简单的需求&#xff0c;硬是耗费数月、投入大量人力反复开发……现在&#xff0c;有一类工具正在改变这一切。它叫低代码。而今天我们…