• 【RuoYi-Vue-Plus】扩展笔记 07 - CentOS 7 集成 Prometheus + Grafana 监控初体验


    前言

    微服务框架【RuoYi-Cloud-Plus】上,狮子大佬 新集成了 Prometheus(普罗米修斯)和 Grafana 监控模块(目前在 dev 分支 上可以尝鲜),因为一般情况下很少接触这一类的功能,出于学习的目的就尝试着自己在 Vue 框架上集成了一下,本文只是记录一下集成的过程。

    同类型的教程非常多,本文只是在此基础上结合了一下【RuoYi-Vue-Plus】框架进行集成,其他框架可以自行尝试。

    注,通常情况下单体服务不需要用到这一类型的监控功能,本文的主要目的是学习。

    参考目录

    官方文档

    博客参考

    相关书目

    操作步骤

    1、Prometheus

    1.1、安装 Prometheus

    本文使用的版本是 LTS 版本 V2.37.2。(传送门

    在这里插入图片描述

    安装方式有多种,可以使用 wget 直接下载,因为网速问题,这里演示下载安装包上传的方式。步骤如下:

    首先,官网下载安装包 prometheus-2.37.2.linux-amd64.tar.gz

    接着,使用 ftp 工具上传到虚拟机(CentOS 7)目录 /usr/local ,解压并重命名文件。

    # 进入目录
    cd /usr/local/
    # 解压
    tar -zxvf prometheus-2.37.2.linux-amd64.tar.gz
    # 重命名文件
    mv prometheus-2.37.2.linux-amd64 prometheus
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    创建 systemd 服务启动 Prometheus(可选步骤,此处是方便开机启动服务)

    # 创建并编辑文件
    vim /etc/systemd/system/prometheus.service
    
    • 1
    • 2

    文件内容:

    [Unit]
    Description=Prometheus
    Documentation=https://prometheus.io/
    After=network.target
    [Service]
    Type=simple
    User=root
    ExecStart=/usr/local/prometheus/prometheus --config.file=/usr/local/prometheus/prometheus.yml 
    Restart=on-failure
    [Install]
    WantedBy=multi-user.target
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11

    启动服务:

    systemctl start prometheus
    
    • 1

    查看服务状态:

    systemctl status prometheus
    
    • 1

    设置开机启动:

    systemctl enable prometheus
    
    • 1

    在这里插入图片描述

    Prometheus 默认端口是 9090,因为虚拟机开启了防火墙,所以此处需要开放防火墙端口 9090(可选步骤,如果没有开启防火墙可以直接忽略)

    查看防火墙状态:

    firewall-cmd --state
    
    • 1

    开放端口并重启:

    # 开放端口
    firewall-cmd --zone=public --add-port=9090/tcp --permanent
    
    # 重启防火墙
    systemctl restart firewalld.service
    
    • 1
    • 2
    • 3
    • 4
    • 5

    在这里插入图片描述

    1.2、配置 Prometheus

    因为框架中原本就集成了 Spring Boot Admin 监控,所以只需要增加 Prometheus 相关的配置即可。

    pom 文件加入依赖:
    ruoyi-framework/pom.xml
    在这里插入图片描述

    application.yml
    在这里插入图片描述

    回到虚拟机中,编辑 Prometheus 配置文件:

    vim /usr/local/prometheus/prometheus.yml
    
    • 1

    添加节点信息:(IP 根据实际自行设置即可,也可以参照官方文档进行配置)

    - job_name: "ruoyi-vue-plus"
      metrics_path: '/actuator/prometheus'
      static_configs:
         - targets: ['192.168.2.79:9595']
    
    • 1
    • 2
    • 3
    • 4

    在这里插入图片描述

    重启 Prometheus:

    systemctl restart prometheus
    
    • 1

    1.3、访问控制台

    访问控制台:http://192.168.10.127:9090/

    这里的 IP 192.168.10.127 是虚拟机的 IP,根据实际情况设置即可。

    菜单选择:Status > Targets

    在这里插入图片描述

    2、Grafana

    2.1、安装 Grafana

    官网安装教程传送门

    这里没有选择最新版本下载,选了 V9.2.0。因为网速问题,所以去阿里云镜像站下载的 rpm 安装包。(传送门

    在这里插入图片描述

    使用 ftp 工具将安装包上传到虚拟机(CentOS 7)目录 /usr/local ,使用 yum 命令安装:

    yum -y install grafana-9.2.0-1.x86_64.rpm
    
    • 1

    在这里插入图片描述
    因为是使用安装包,不需要再设置 systemd ,直接重新加载即可:

    systemctl daemon-reload
    
    • 1

    启动服务:

    systemctl start grafana-server
    
    • 1

    查看服务状态:

    systemctl status grafana-server
    
    • 1

    设置开机启动:

    systemctl enable grafana-server
    
    • 1

    在这里插入图片描述

    Grafana 默认端口是 3000,所以此处需要开放防火墙端口 3000(可选步骤,如果没有开启防火墙可以直接忽略)

    开放端口并重启:

    # 开放端口
    firewall-cmd --zone=public --add-port=3000/tcp --permanent
    
    # 重启防火墙
    systemctl restart firewalld.service
    
    • 1
    • 2
    • 3
    • 4
    • 5

    在这里插入图片描述

    2.2、访问控制台

    访问控制台:http://192.168.10.127:3000/

    这里的 IP 192.168.10.127 是虚拟机的 IP,根据实际情况设置即可。

    在这里插入图片描述

    默认账号密码 admin/admin

    第一次访问会要求修改密码,也可以选择跳过。

    在这里插入图片描述

    主页:

    在这里插入图片描述

    3、Grafana 大屏配置

    Grafana 有丰富的大屏组件可以提供下载(传送门),这里介绍简单的几种。

    3.1、添加 Prometheus 数据源

    添加数据源入口:
    在这里插入图片描述

    选择 Prometheus:
    在这里插入图片描述

    填写地址并保存:
    在这里插入图片描述
    在这里插入图片描述

    3.2、导入 dashboards 仪表板

    在这里插入图片描述

    方式有两种:上传 json 文件或者是直接输入 ID。
    在这里插入图片描述

    在这里插入图片描述

    输入 ID,点击 Load:
    在这里插入图片描述

    点击导入即可查看大屏数据:
    在这里插入图片描述

    几个推荐的大屏:

    1 SLS JVM监控大盘 ID: 12856
    在这里插入图片描述

    Spring Boot HikariCP / JDBC ID: 6083
    在这里插入图片描述

    3.3、配置 node_exporter 监控主机数据

    需要在 Prometheus 官网下载相应的文件:
    在这里插入图片描述
    下载好文件之后使用 ftp 工具上传到虚拟机(CentOS 7)目录 /usr/local ,解压并重命名文件。

    # 进入目录
    cd /usr/local/
    # 解压
    tar -zxvf node_exporter-1.4.0.linux-amd64.tar.gz
    # 重命名文件
    mv node_exporter-1.4.0.linux-amd64 node_exporter
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    在这里插入图片描述
    可以参考 Prometheus 配置 systemd 并设置开机启动,这里使用 nohup 后台启动。

    因为默认端口是 9100,和框架 xxl-job 端口有冲突,所以可以指定端口 9190 启动:

    cd /usr/local/node_exporter/
    
    nohup ./node_exporter --web.listen-address=:9190 &
    
    • 1
    • 2
    • 3

    修改 Prometheus 配置文件,增加相关信息:
    在这里插入图片描述

    重启 Prometheus,查看控制台:
    在这里插入图片描述

    导入 Grafana Dashboard ID: 9276
    在这里插入图片描述

    安装包懒人包

    Prometheus+Grafana懒人包(Linux)

    (完)

  • 相关阅读:
    特斯拉2年内实现全自动驾驶,无人驾驶时代还远吗?丨曼孚科技
    Apache Paimon系列之:主键表
    异地监控如何实现远程访问?贝锐蒲公英无需公网IP即可实现
    linux 线程同步
    ERP软件定价策略与模型设计
    AUTOSAR知识点 之 Dem (二):SPEC规范解读
    10个艰难的Java面试题与答案
    pycharm里得各种小细节你都知道嘛?超多快捷键等你来领~
    关于YAML配置
    golang如何判断一个字符串中是否包含另一个字符串
  • 原文地址:https://blog.csdn.net/Michelle_Zhong/article/details/127861378