【实战】CentOS7 Prometheus+Grafana面板搭建+监控node_exporter+监控mysqld_exporter

本文涉及的产品
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
可观测可视化 Grafana 版,10个用户账号 1个月
简介: 有3台主机(CentOS7): 192.168.188.100 服务端 192.168.188.101 客户端 192.168.188.102 客户端100部署Prometheus(9090)+Grafana(3000)101部署node_exporter(39100)模块,监控该服务器所用资源情况102部署mysqld_exporter(39200)模块,监控该服务器上的数据库使用情况

1、下载所需资源:

下载go的tar包:

https://go.dev/dl/go1.20.6.linux-amd64.tar.gz

下载prometheus的tar包:

https://github.com/prometheus/prometheus/releases/download/v2.46.0-rc.0/prometheus-2.46.0-rc.0.linux-amd64.tar.gz

下载适用于CentOS7系统的grafana面板的rpm包:

https://dl.grafana.com/enterprise/release/grafana-enterprise-10.0.2-1.x86_64.rpm

下载node_exporter模块的tar包:

https://github.com/prometheus/node_exporter/releases/download/v1.6.1/node_exporter-1.6.1.linux-amd64.tar.gz

下载mysqld_exporter模块的tar包:

https://github.com/prometheus/mysqld_exporter/releases/download/v0.15.0/mysqld_exporter-0.15.0.linux-amd64.tar.gz


2、3台主机上都需要部署的服务:

关闭防火墙(不关闭防火墙要放行服务+服务所使用的端口):

systenctl stop firewalld.service #暂停防火墙

systenctl disable firewalld.service #关闭防火墙

systenctl status firewalld.service #查询防火墙状态


允许防火墙放行服务+端口号:

firewall-cmd --permanent --add-service=node_exporter #允许node_exporter服务 通过防火墙(永久)

firewall-cmd --permanent --add-port=8074/tcp #允许node_exporter服务所使用的端口 通过防火墙(永久) 端口可以指定

firewall-cmd --reload #重新加载防火墙使防火墙配置生效


关闭SELINUX:

setenforce 0 #临时关闭selinux

vi /etc/selinux/config  #永久关闭selinux服务

                 SELINUX=disabled

           sestatus #查看selinux状态


部署go:

将go的tar包上传到100服务器的/home/Prometheus目录下

解压tar包:

tar -zxvf go1.20.6.linux-amd64.tar.gz

将go下的bin添加到环境变量中:

vi /etc/profile

#最后1行添加
export PATH=$PATH:/home/Prometheus/go/bin
#保存退出
source /etc/profile #source该文件,使刚才的配置生效

验证:

go version #出现go version go1.20.6 linux/amd64 说明生效


3、100服务端 服务器部署Prometheus+grafana面板:

prometheus-2.46.0-rc.0.linux-amd64.tar.gz包上传到/home/Prometheus目录下

grafana-enterprise-10.0.2-1.x86_64.rpm包上传到/home/Prometheus目录下


解压prometheus-2.46.0-rc.0.linux-amd64.tar.gz包:

tar -zxvf prometheus-2.46.0-rc.0.linux-amd64.tar.gz


修改prometheus-2.46.0-rc.0.linux-amd64目录名为prometheus

mv prometheus-2.46.0-rc.0.linux-amd64prometheus


查看prometheus服务的版本号:

cd /home/Prometheus/premetheus/

./prometheus --version #执行当前目录下的prometheus 查看其版本号 显示说明服务能正常运行


配置prometheus.yml文件:

vi /home/Prometheus/premetheus/prometheus.yml

# job名称会增加到拉取到的所有采样点上,同时还有一个instance目标服务的host:port标签也会增加到采样点上
  - job_name: 'prometheus'
    # 覆盖global的采样点,拉取时间间隔5s
    scrape_interval: 5s
    static_configs:
    - targets: ['localhost:9090']


编辑prometheus.service文件:

vi /usr/lib/systemd/system/prometheus.service

[Unit]
  Description=https://prometheus.io
  [Service]
  Restart=on-failure
  ExecStart=/home/Prometheus/premetheus/prometheus --config.file=/home/Prometheus/premetheus/prometheus.yml --web.listen-address=:9090
            #prometheus目录中prometheus的文件         prometheus目录中prometheus.yml文件 指定监听端口为9090  端口可以改
  [Install]                      
  WantedBy=multi-user.target


刷新system文件,启动

systemctl daemon-reload               #加载服务

systemctl start prometheus            #启动服务 重启restart

systemctl enable prometheus         #设置开机自启

systemctl status prometheus          #查看服务状态


浏览器访问测试:

服务端IP:端口

192.168.188.100:9090


部署grafana面板:

yum -y install grafana-enterprise-10.0.2-1.x86_64.rpm


启动grafana服务:

service grafana-server start  #启动

service grafana-server status #查看状态

systemctl enable grafana-server.service #设置开机自启


浏览器访问:

192.168.188.100:3000

#服务默认使用的3000端口


初始用户名+密码:

用户名:admin

密码:admin


#如果防火墙开着要放行服务和端口(只放行端口也行)

firewall-cmd --permanent --add-port=3000/tcp

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


grafana面板配置成中文:

在服务端搜defaults.ini文件,修改defaults.ini文件文件中的配置

find /  -name defaults.ini  #找到后修改文件


vi defaults.ini

注销#default_language = en-US
default_language = zh-Hans #添加

保存后重启服务即可

service grafana-server restart  #重启服务


4、101客户端服务器部署node_exporter模块:

node_exporter-1.6.1.linux-amd64.tar.gz tar包上传到/home/Prometheus目录下(没有就创建)


解压node_exporter-1.6.1.linux-amd64.tar.gz tar包:

tar -zxvf node_exporter-1.6.1.linux-amd64.tar.gz


修改node_exporter-1.6.1.linux-amd64目录名为node_exporter

mv node_exporter-1.6.1.linux-amd64node_exporter


创建node_exporter.service文件 指定使用的端口为39100:

vi /usr/lib/systemd/system/node_exporter.service

[Unit]
Description=node_exporter
After=network.target 
#这里的node_exporter是文件,路径要指对 这里指定的哪个端口服务起来后用的就是哪个端口
[Service]
ExecStart=/home/Prometheus/node_exporter/node_exporter  --web.listen-address=192.168.188.100:39100 
Restart=on-failure
[Install]
WantedBy=multi-user.target

启动node_exporter服务:

systemctl daemon-reload                #加载服务

systemctl start node_exporter         #启动服务 重启restart

systemctl enable node_exporter      #设置开机自启

systemctl status  node_exporter      #查看服务状态


验证:

ps -ef | grep mysqld_exporter #根据查到的PID查询端口是否正常工作

ss -lntp |grep pid


允许防火墙放行node_exporter服务+端口号:

firewall-cmd --permanent --add-service=node_exporter #允许node_exporter服务 通过防火墙(永久) 报错也可只放行端口,服务名忽略

firewall-cmd --permanent --add-port=39100/tcp #允许node_exporter服务所使用的端口 通过防火墙(永久) 端口可以指定

firewall-cmd --reload #重新加载防火墙使防火墙配置生效


进入100服务端 服务器配置prometheus.yml文件,把node_exporter客户端的IP:端口加入文件中:

vi /home/Prometheus/premetheus/prometheus.yml

#添加node_exporter模块
- job_name: 'node_exporter'
    static_configs:
      - targets: ['192.168.188.101:39100']

重启premetheus,使服务生效:

systemctl restart prometheus  #重启服务


浏览器192.168.188.100:9090看到服务连上后在grafana面板添加对应可视化仪表盘即可


5、102客户端添加mysqld_exporter模块:

mysqld_exporter-0.15.0.linux-amd64.tar.gz tar包上传到/home/Prometheus目录下(没有就创建)


解压mysqld_exporter-0.15.0.linux-amd64.tar.gz tar包:

tar -zxvf mysqld_exporter-0.15.0.linux-amd64.tar.gz


修改mysqld_exporter-0.15.0.linux-amd64目录为mysqld_exporter:

mv mysqld_exporter-0.15.0.linux-amd64mysqld_exporter


创建隐藏文件.my.cnf

vi /home/Prometheus/mysqld_exporter/.my.cnf

[client]
host=192.168.188.102  #mysql数据库所在服务器的IP地址
user=root             #mysql数据库的名
password=root         #mysql数据库的密码
port=3306             #mysql数据库的端口

启动mysqld_exporter模块:

cd /home/Prometheus/mysqld_exporter

#在后台启动mysqld_exporter,监听39200端口,使用指定的配置文件连接MySQL数据库,并导出指标给Prometheus
nohup ./mysqld_exporter  --web.listen-address=:39200  --config.my-cnf="/home/mysqld_exporter/.my.cnf" &

验证:

ps -ef | grep mysqld_exporter #根据查到的PID查询端口是否正常工作

ss -lntp |grep pid


允许防火墙放行mysqld_exporter服务+端口号:

firewall-cmd --permanent --add-service=mysqld_exporter #允许mysqld_exporter服务 通过防火墙(永久) 报错也可只放行端口,服务名忽略

firewall-cmd --permanent --add-port=39200/tcp #允许node_exporter服务所使用的端口 通过防火墙(永久) 端口可以指定 我指定的端口是39200

firewall-cmd --reload #重新加载防火墙使防火墙配置生效


进入100服务端 服务器配置prometheus.yml文件,把mysqld_exporter客户端的IP:端口加入文件中:

vi /home/Prometheus/premetheus/prometheus.yml

#添加mysqld_exporter模块
- job_name: 'mysqld_exporter'
    static_configs:
      - targets: ['192.168.188.102:39200']

重启premetheus,使服务生效:

systemctl restart prometheus  #重启服务


浏览器192.168.188.100:9090看到服务连上后在grafana面板添加对应可视化仪表盘即可


grafana下载可视化面板地址:

https://grafana.com/grafana/dashboards/10242-node-exporter-full





目录
打赏
0
0
0
1
23
分享
相关文章
智能运维实战:Prometheus与Grafana的监控与告警体系
【10月更文挑战第26天】Prometheus与Grafana是智能运维中的强大组合,前者是开源的系统监控和警报工具,后者是数据可视化平台。Prometheus具备时间序列数据库、多维数据模型、PromQL查询语言等特性,而Grafana支持多数据源、丰富的可视化选项和告警功能。两者结合可实现实时监控、灵活告警和高度定制化的仪表板,广泛应用于服务器、应用和数据库的监控。
458 3
Grafana Prometheus Altermanager 监控系统
Grafana、Prometheus 和 Alertmanager 是一套强大的开源监控系统组合。Prometheus 负责数据采集与存储,Alertmanager 处理告警通知,Grafana 提供可视化界面。本文简要介绍了这套系统的安装配置流程,包括各组件的下载、安装、服务配置及开机自启设置,并提供了访问地址和重启命令。适用于希望快速搭建高效监控平台的用户。
169 20
Prometheus+Grafana监控Linux主机
通过本文的步骤,我们成功地在 Linux 主机上使用 Prometheus 和 Grafana 进行了监控配置。具体包括安装 Prometheus 和 Node Exporter,配置 Grafana 数据源,并导入预设的仪表盘来展示监控数据。通过这种方式,可以轻松实现对 Linux 主机的系统指标监控,帮助及时发现和处理潜在问题。
225 7
Prometheus+Grafana+NodeExporter:构建出色的Linux监控解决方案,让你的运维更轻松
本文介绍如何使用 Prometheus + Grafana + Node Exporter 搭建 Linux 主机监控系统。Prometheus 负责收集和存储指标数据,Grafana 用于可视化展示,Node Exporter 则采集主机的性能数据。通过 Docker 容器化部署,简化安装配置过程。完成安装后,配置 Prometheus 抓取节点数据,并在 Grafana 中添加数据源及导入仪表盘模板,实现对 Linux 主机的全面监控。整个过程简单易行,帮助运维人员轻松掌握系统状态。
310 3
Grafana 安装配置教程,让你的 Prometheus 监控数据变得更美观
《Grafana安装配置教程,让你的Prometheus监控数据变得更美观》简介: Grafana是一个开源的度量分析与可视化工具,支持多种数据源(如Prometheus),提供丰富的可视化功能和警报机制。本文详细介绍了Grafana的安装、汉化方法及模板使用,帮助用户轻松创建美观、灵活的数据面板,并实现数据的协作与共享。通过Docker镜像、配置文件修改或替换前端页面等方式实现汉化,让用户更便捷地使用中文界面。此外,还提供了导入JSON格式模板的具体步骤,方便快速搭建仪表盘。
109 2
Prometheus+Grafana新手友好教程:从零开始搭建轻松掌握强大的警报系统
本文介绍了使用 Prometheus 和 Grafana 实现邮件报警的方案,包括三种主要方法:1) 使用 Prometheus 的 Alertmanager 组件;2) 使用 Grafana 的内置告警通知功能;3) 使用第三方告警组件如 OneAlert。同时,详细描述了环境准备、Grafana 安装配置及预警设置的步骤,确保用户能够成功搭建并测试邮件报警功能。通过这些配置,用户可以在系统或应用出现异常时及时收到邮件通知,保障系统的稳定运行。
190 1
监控堆外第三方监控工具Grafana
监控堆外第三方监控工具Grafana
103 5
智能运维实战:Prometheus与Grafana的监控与告警体系
【10月更文挑战第27天】在智能运维中,Prometheus和Grafana的组合已成为监控和告警体系的事实标准。Prometheus负责数据收集和存储,支持灵活的查询语言PromQL;Grafana提供数据的可视化展示和告警功能。本文介绍如何配置Prometheus监控目标、Grafana数据源及告警规则,帮助运维团队实时监控系统状态,确保稳定性和可靠性。
432 0
无痛入门Prometheus:一个强大的开源监控和告警系统,如何快速安装和使用?
Prometheus 是一个完全开源的系统监控和告警工具包,受 Google 内部 BorgMon 系统启发,自2012年由前 Google 工程师在 SoundCloud 开发以来,已被众多公司采用。它拥有活跃的开发者和用户社区,现为独立开源项目,并于2016年加入云原生计算基金会(CNCF)。Prometheus 的主要特点包括多维数据模型、灵活的查询语言 PromQL、不依赖分布式存储、通过 HTTP 拉取时间序列数据等。其架构简单且功能强大,支持多种图形和仪表盘展示模式。安装和使用 Prometheus 非常简便,可以通过 Docker 快速部署,并与 Grafana 等可
587 2

热门文章

最新文章

AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等