首页 > 系统相关 >搭建基于Grafana+Prometheus+Node_exporter的性能监控与分析平台(Linux版)

搭建基于Grafana+Prometheus+Node_exporter的性能监控与分析平台(Linux版)

时间:2024-09-12 17:04:02浏览次数:9  
标签:Node exporter prometheus grafana Prometheus Grafana

搭建基于Grafana+Prometheus+Node_exporter的性能监控与分析平台(Linux版)

在现代IT环境中,系统监控与分析是确保应用稳定性和高效性的关键。Prometheus与Grafana的结合,为我们提供了一个强大而灵活的监控解决方案,能够实时地收集、处理并展示系统性能指标。本文将详细介绍如何在Linux环境下搭建基于Grafana、Prometheus和Node_exporter的性能监控与分析平台。

一、平台组件概述

1.Node_exporter

Node_exporter是一个轻量级的数据采集器,专门用于Linux系统,收集CPU、内存、磁盘、网络等硬件和操作系统级别的性能指标。它通过HTTP服务以Prometheus可理解的格式提供这些数据,是Prometheus监控生态系统中的重要一环。

2.Prometheus

Prometheus是一个开源的监控和警报工具,负责从配置的目标(如Node_exporter)中抓取度量指标数据,并将其存储在自己的时间序列数据库中。在性能监控平台中,Prometheus作为数据收集、存储和查询的中心,与Grafana等可视化工具协同工作,提供全面的系统监控能力。

3.Grafana

Grafana是一个开源的监控和数据分析平台,支持多种数据源,并提供了丰富的图表和可视化选项。通过Grafana,我们可以轻松地将InfluxDB中的性能测试数据以图表形式展示出来,实现实时监控和数据分析。

二、平台搭建步骤

1. 安装并启动Node_exporter

Node_exporter官网下载地址:https://prometheus.io/download/#node_exporter
选择Linux版本进行下载
image

# 进入创建的文件夹
cd /opt/performance

# 下载 influxdb
wget https://github.com/prometheus/node_exporter/releases/download/v1.8.2/node_exporter-1.8.2.linux-amd64.tar.gz

# 解压
tar xvfz node_exporter-1.8.2.linux-amd64.tar.gz

# 进入到启动脚本位置
cd node_exporter-1.8.2.linux-amd64/

# node_exporter服务默认运行端口为9100
nohup ./node_exporter &

# 若9100端口被占用,使用以下命令指定端口运行服务
nohup ./node_exporter --web.listen-address=:9101 &

我们浏览器访问被监控服务器的9101端口,出现该页面,说明成功
image

如果浏览器无法访问该端口,可能是该端口的防火墙未开放

# 使用firewalld关闭防火墙

# 永久允许访问9100端口
sudo firewall-cmd --permanent --zone=public --add-port=9100/tcp

# 重新加载防火墙配置
sudo firewall-cmd --reload

2. 安装和配置Prometheus

Prometheus官网下载地址:https://prometheus.io/download/#/prometheus
image

# 进入创建的文件夹
cd /opt/performance

# 下载 Prometheus
wget https://github.com/prometheus/prometheus/releases/download/v3.0.0-beta.0/prometheus-3.0.0-beta.0.linux-amd64.tar.gz

# 解压
tar -zxvf prometheus-3.0.0-beta.0.linux-amd64.tar.gz

# 进入文件夹
cd prometheus-3.0.0-beta.0.linux-amd64/

# 启动prometheus
nohup ./prometheus --config.file=prometheus.yml &

我们浏览器访问9090端口,出现该页面,说明安装成功
image

将Node_exporter输出配置到Prometheus中

vim prometheus.yml
  • job_name: 任意字符串,可以理解为一个标识符
  • targets: node_exporter服务列表(ip + 端口号),可以多个

image

重启Prometheus服务

# 查找 Prometheus 进程ID
ps aux | grep prometheus

# 强制停止Prometheus进程
kill -9 [PID]

# 重新启动Prometheus服务
nohup ./prometheus --config.file=prometheus.yml &

我们浏览器再次访问9090端口,并如下图点击目录,该页面中出现我们配置好的node_exporter,说明配置成功
image

3. 安装和配置Grafana

Grafana 官网下载地址:https://grafana.com/grafana/download
image

# 进入创建的文件夹
cd /opt/performance

# 下载 grafana
wget https://dl.grafana.com/enterprise/release/grafana-enterprise-11.1.3.linux-amd64.tar.gz

# 解压
tar -zxvf grafana-enterprise-11.1.3.linux-amd64.tar.gz

# 进入文件夹
cd grafana-v11.1.3

# 修改配置文件,如下图修改启用端口为8990
vim conf/defaults.ini

image

# 启动服务
./bin/grafana-server &

访问页面,成功显示。用户名 & 密码 均为 admin
image

4. 创建仪表板和分析视图

I. 添加数据源
点击 Configuration -> Data sources 进入数据源界面,再点击 Add data source 进入新增数据源界面。
image

点击 Prometheus,创建Prometheus数据源。

image

根据下面的图片提示,填写表单:
image

点击 Save & test
image

II. 创建仪表盘
点击 Dashboards -> Browse 进入仪表盘界面,再点击 New - > import 进入导入仪表盘界面。

image

仪表盘模板大全:https://grafana.com/grafana/dashboards/
可根据关键字查询想要的一些模板

image

点击详情可获取id或获取json文件,若配置环境无网络情况下选择json文件。

image

我这里输入仪表盘ID:12633,点击导入仪表盘。

image

选择刚刚配置好的数据源,点击 Import 导入仪表盘。

image

点击 Import 后,展示如下页面。
image

后续可以在 Dashboards 页面中点击查看该仪表盘。
image

三、平台应用与优势

  • 应用场景
    • 实时监控:通过Grafana的仪表板,可以实时监控应用的性能指标,及时发现潜在的性能问题。
    • 历史数据分析:利用Prometheus存储的历史数据,可以进行更深入的性能分析,找出性能瓶颈和趋势。
    • 性能调优:基于监控和分析结果,对应用进行性能调优,提升用户体验。
  • 优势
    • 开源免费:Node_exporter、Prometheus和Grafana都是开源软件,可以免费使用,降低了成本。
    • 灵活可扩展:平台支持自定义测试脚本和查询语句,可以根据实际需求进行灵活配置和扩展。
    • 可视化效果好:Grafana提供了丰富的图表和可视化选项,能够直观地展示性能测试数据。

注:安装方法不唯一,且各个教程安装版本也不相同

标签:Node,exporter,prometheus,grafana,Prometheus,Grafana
From: https://www.cnblogs.com/test-gang/p/18410255

相关文章

  • 基于Node.js+vue中心医院药品管理系统的设计与实现(开题+程序+论文) 计算机毕业设计
    本系统(程序+源码+数据库+调试部署+开发环境)带文档lw万字以上,文末可获取源码系统程序文件列表开题报告内容研究背景随着医疗技术的不断进步和人们对健康需求的日益增长,中心医院作为医疗服务的重要载体,其运营效率和管理水平直接影响到患者的治疗效果与满意度。药品作为医疗......
  • 基于Node.js+vue基于springboot的影视资讯管理系统(开题+程序+论文) 计算机毕业设计
    本系统(程序+源码+数据库+调试部署+开发环境)带文档lw万字以上,文末可获取源码系统程序文件列表开题报告内容研究背景随着互联网的飞速发展,影视行业迎来了前所未有的繁荣期。海量影视资源的涌现,使得用户对于高效、便捷地获取影视资讯的需求日益增长。传统的影视资讯管理方式......
  • 基于Node.js+vue在线新闻网站系统的设计与实现(开题+程序+论文) 计算机毕业设计
    本系统(程序+源码+数据库+调试部署+开发环境)带文档lw万字以上,文末可获取源码系统程序文件列表开题报告内容研究背景在信息爆炸的时代,新闻资讯的获取与传播速度成为了衡量一个社会信息化水平的重要指标。随着互联网技术的飞速发展,传统新闻媒体逐渐向数字化、网络化转型,在线......
  • Express和Node中使用Fetch POST数据到服务器时遇到405错误
    和Node中使用FetchPOST数据到服务器时遇到405错误一、问题描述(一)错误现象在Express和Node中使用Fetch发送POST请求时,服务器返回了405错误。具体表现为,客户端向服务器发送POST请求后,服务器没有正确处理请求,而是返回了405错误代码,表示方法不被允许。这种错误通......
  • Prometheus(普罗米修斯)监控系统 - 4、服务器硬件信息监控(ipmi-exporter)
    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录前言一、下载ipmi_exporter二、dockerimage制作三、测试四、加入监控四、监控进阶总结前言IPMI监控基于IPMI协议,允许对物理服务器的硬件进行低级别管理。IPMIExporter通过与BMC(BaseboardM......
  • Node.js 实现流式渲染
    什么是流式渲染?流式渲染的核心理念是将HTML文档分割成小块(chunk),并逐步地发送给客户端,而非等待整个页面完整生成后再进行传输。这种方式能够极大地提升用户的初始加载体验,特别是在网络条件不佳或者页面内容复杂的情况下。流式渲染并非新兴技术,早在90年代,网页浏览器就已开......
  • 【Node.js】常见命令
    原创新生代码农新生代码农Node.js是一种流行的JavaScript运行时环境,用于构建高性能的网络应用程序。在日常开发中,掌握一些常用的Node.js命令可以提高开发效率和便捷性。让我们一起来探索一些常见的Node.js命令。nodenode命令用于执行JavaScript文件,是Node.js的主要命令......
  • prometheus学习笔记之基于三方exporter实现监控
    一、redis_exporter通过redis_exporter监控redis服务状态git地址:https://github.com/oliver006/redis_exporterdocker地址:https://hub.docker.com/r/oliver006/redis_exporter实验环境:redisk8部署prometheus二进制部署1.redis_exporter使用简解二进制部署prometheus......
  • Prometheus(普罗米修斯)监控系统 - 3、操作系统信息监控(node-exporter)
    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录前言一、部署node-exporter二、测试三、加入监控四、监控进阶1、Daemonset2、Prometheus.rules3、测试其他前言下面就以Ubuntu系统为例子,部署node-exporter并进行监控。一、部署nod......
  • node安装与使用
    nvm安装使用yum安装node,最新只能安装到0.12.X版本,而自定义安装二进制的又有点麻烦,所以用nvm安装(如果命令下载不下来可以手动下载到服务器上执行)。nvm是一款运行在linxu系统上的node版本管理平台(以下为linux版本不过目前也出了windows版本,具体自己查),安装完成后,记得重新打......