Centos7+Prometheus2.31.1监控Mysql8.0.27\Node\Grafana8.3.3(亲测有效)

3 篇文章 0 订阅
2 篇文章 0 订阅

1、安装mysql8.0.27
删除mariadb
yum -y remove mariadb*

删除mysql
yum -y remove mysql*

wget https://repo.mysql.com//mysql80-community-release-el7-1.noarch.rpm
rpm -ivh mysql80-community-release-el7-1.noarch.rpm
yum install mysql-server

如果在mysql安装过程中出现:
源 "MySQL 8.0 Community Server" 的 GPG 密钥已安装,但是不适用于此软件包。请检查源的公钥 URL 是否配置正确。
请执行一下命令:
rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022

启动
systemctl start mysqld.service 

查看mysql状态
systemctl status mysqld.service

查看mysql登录密码
grep 'temporary password' /var/log/mysqld.log

mysql -uroot -p(输入上一步出现的临时密码)

ALTER USER 'root'@'localhost' IDENTIFIED BY '你的密码(包含大小写、数字和特殊字符)';

创建用户和密码
CREATE USER 'root'@'%' IDENTIFIED BY '上面设置的密码';

更新root密码否则,远程登录会报错
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '你设置的密码';

权限赋给root用户,所有ip都能连接
GRANT ALL ON *.* TO 'root'@'%' WITH GRANT OPTION;

刷新:FLUSH PRIVILEGES;

加入3306端口
firewall-cmd --permanent --zone=public --add-port=3306/tcp
开启刷新防火墙
firewall-cmd --reload

开机自启动
systemctl enable mysqld
systemctl daemon-reload

2、下载 mysqld_exporter:

#https://github.com/prometheus/mysqld_exporter/releases/mysqld_exporter-0.13.0.linux-amd64.tar.gz 
#tar -xvf mysqld_exporter-0.13.0.linux-amd64.tar.gz
#mv mysqld_exporter-0.13.0.linux-amd64 /usr/local/prometheus/P_tools/mysqld_exporter

3、下载 node_exporter:

#https://github.com/prometheus/node_exporter/releases/node_exporter-1.3.1.linux-amd64.tar.gz
#tar zxvf node_exporter-1.3.1.linux-amd64.tar.gz
#mv node_exporter-1.3.1.linux-amd64 /usr/local/prometheus/P_tools/node_exporter

4、进入mysqld_exporter安装目录并运行node_exporter:

#cd /usr/local/prometheus/P_tools/node_exporter/
#./node_exporter &  

# 新增开机启动文件,
vim /lib/systemd/system/node_exporter.service
# 输入以下内容.注意下面那个路径要与实际文件一致性

[Unit]
Description=node_exporter
After=network.target
 
[Service]
Type=simple
ExecStart=/usr/local/prometheus/P_tools/node_exporter/node_exporter

[Install]
WantedBy=multi-user.target

保存文件后执行以下语句

#重新载入配置文件并设置为开机自启

#systemctl daemon-reload
#systemctl enable node_exporter.service

5、授权后进入mysqld_exporter安装目录创建.my.cnf配置文件,并运行mysqld_exporter
#cd /usr/local/prometheus/P_tools/mysqld_exporter/
vim .my.cnf

[client]
user=root
password=NewMysql55..

保存文件后执行以下语句
#./mysqld_exporter --config.my-cnf=.my.cnf &设置开机自启服务
vi /usr/lib/systemd/system/mysqld_exporter.service

[Unit]
Description=https://prometheus.io

[Service]
Restart=on-failure
ExecStart=/usr/local/prometheus/P_tools/mysqld_exporter/mysqld_exporter --config.my-cnf=/usr/local/prometheus/P_tools/mysqld_exporter/.my.cnf

[Install]
WantedBy=multi-user.target

保存
启动和开机自启

#systemctl daemon-reload
#systemctl start mysqld_exporter.service & systemctl enable mysqld_exporter

6、下面配置mysql监控:

#mysql -u root -p 
mysql> grant select on performance_schema.* to root@"localhost";

7、进入prometheus安装路径并修改配置文件
#cd /usr/local/prometheus
注:不能使用localhost,必须使用IP+端口号!编辑prometheus.yml文件,所有代码不可以粘贴或复制(原因是yml文件的语言严谨性非常高)
vim prometheus.yml

# my global config
global:
  scrape_interval:     15s # Set the scrape interval to every 15 seconds. Default is every 1 minute.
  evaluation_interval: 15s # Evaluate rules every 15 seconds. The default is every 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: ['192.168.159.131:9090']
  
  - job_name: 'node'
    static_configs:
    - targets: ['192.168.159.131:9100']

  - job_name: 'mysql'
    static_configs:
    - targets: ['192.168.159.131:9104']


保存文件
./prometheus --config.file=./prometheus.yml &
启动服务:systemctl start prometheus
重启服务:systemctl restart prometheus
查看端口:ss -anlt

(注:先启动Mysql再启动Node,最后启动Prometheus,都是进入目录后进行启动)

 8、Grafana8.3.3安装

#wget https://dl.grafana.com/enterprise/release/grafana-enterprise-8.3.3-1.x86_64.rpm
#sudo yum install grafana-enterprise-8.3.3-1.x86_64.rpm

启动服务
systemctl start grafana-server

设置开机启动
systemctl enable grafana-server

如果需要局域网访问就打开3000端口:firewall-cmd --add-port=3000/tcp --permanent
重启防火墙:systemctl restart firewalld.service
浏览器访问:IP:3000/login,账号密码都是admin,然后设置新密码

进入后选择右侧的菜单栏里的data source后再选择Prometheus,然后找到HTTP里的URL填写你的IP地址+端口号,最后点击下方的Save&test按钮,如出现“Data source is working”即可(这里是填入您Prometheus的IP地址+端口号)。

由于Dashboard是json文件所以我们直接去官网下载json模板文件,进入dashboards模板地址https://grafana.com/dashboards,进入后直接搜索Node Exporter Quickstart and Dashboard
,就出现了所有的关于Node的json模板,我这里选择的是Node Exporter Quickstart and Dashboard,进入页面后可以看见展示的样式,包含采集的所有数据项。我这里直接点击右侧的Download Json。

把刚才下载的json模板文件在Grafana平台里点击左侧菜单的Import导入按钮进行导入,也可以直接输入下载json模板文件的ID编号后点击load进行读取

成功导入json模板文件后,监控的各项模块相继的就展示出来了。

下面的是进入dashboards模板地址https://grafana.com/dashboards,进入后直接搜索MySQL Overview然后下载json模板文件,进行导入模板后的监控数据截图

 

至此Prometheus2.31.1监控Mysql8.0.27和Node的全部配置方法全部分享完,希望大家动动发财的小手给个赞。感谢~

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值