首页 > 数据库 >Centos7下Prometheus+Grafana部署 redis 以及 mysql 监控

Centos7下Prometheus+Grafana部署 redis 以及 mysql 监控

时间:2024-05-14 15:10:03浏览次数:21  
标签:exporter -- mysql redis Grafana Centos7 Prometheus mysqld MySQL

Prometheus 部署mysql 监控

本篇文章部分内容与我前一篇文章衔接,看不明白的可以参考我前一篇文章

Centos7下搭建Prometheus+Grafana并部署基础监控

Redis 监控

对于 Redis 的监控,Prometheus 可以收集多种指标,包括但不限于:

  • 命令统计:如每个命令的调用次数、执行时间等。
  • 内存使用情况:包括已使用的内存量、内存碎片等。
  • 客户端连接数:当前连接到 Redis 服务器的客户端数量。
  • 键空间统计:如键的总数、过期键的数量等。

为了实现 Redis 的监控,通常需要使用 Redis 的 INFO 命令来获取这些指标,并通过一个 exporter(如 redis_exporter)将这些指标转换为 Prometheus 可以理解的格式。这个 exporter 会定期运行 INFO 命令并解析输出,然后将结果暴露给 Prometheus 服务器。

MySQL 监控

对于 MySQL 的监控,Prometheus 同样可以收集丰富的指标,包括:

  • 查询性能:如查询的响应时间、慢查询的数量等。
  • 连接统计:当前活动的连接数、尝试失败的连接数等。
  • 存储引擎状态:如 InnoDB 的缓冲区使用情况、锁的状态等。
  • 系统和进程信息:如 MySQL 服务器的 CPU 和内存使用情况。

为了监控 MySQL,通常会使用 mysql_exporter 这样的工具。这个 exporter 会连接到 MySQL 服务器,使用性能模式(Performance Schema)或其他机制来获取指标,并将它们暴露给 Prometheus 服务器。

配置和集成
在配置了 Redis 和 MySQL 的 exporter 之后,你需要在 Prometheus 的配置文件中添加对应的作业(job),以便 Prometheus 能够定期从这些 exporter 拉取指标。一旦配置完成并重启 Prometheus,它就会开始收集并存储这些指标,然后你可以使用 Prometheus 的查询语言(PromQL)来查询和分析这些指标,或者使用 Grafana 这样的工具来进行可视化。

准备

两台虚拟机

192.168.100.125  Prometheus端
192.168.100.126  node端

开放防火墙端口

更改防火墙

在两台机器执行
请运行以下命令以开放端口

firewall-cmd --zone=public --add-port=9104/tcp --permanent
firewall-cmd --zone=public --add-port=9121/tcp --permanent
firewall-cmd --zone=public --add-port=6379/tcp --permanent
firewall-cmd --reload

1、打开 SELinux 的配置文件

sudo vi /etc/selinux/config

2、在打开的配置文件中,找到SELINUX这一行。这一行可能设置为enforcing(强制模式)或permissive(宽容模式)。如果你想要将 SELinux 设置为宽容模式,确保这一行的值是permissive

SELINUX=permissive

3、保存并关闭文件。如果你使用的是 vi 编辑器,按Esc,然后输入:wq并按Enter来保存并退出。

4、为了并关闭文件。如果你使用的是 vi 编辑器,按Esc,然后输入:wq并按Enter来保存并退出。

sudo reboot

5、或者也可以尝试使用setenforce命令临时将 SELinux 设置为宽容模式,但这只是临时的,重启后 SELinux 会恢复到配置文件中的设置:

sudo setenforce 0

注意:node端(也就是被监控的)安装MySQL和redis

安装 mysql

1、下载 MySQL 安装包

yum install wget
wget http://repo.mysql.com/mysql57-community-release-el7-8.noarch.rpm

2、安装rpm 包
使用 rpm 命令安装下载的 rpm 包

rpm -ivh mysql57-community-release-el7-8.noarch.rpm

3、安装 MySQL 社区版
使用 yum 安装 MySQL 社区版

yum -y install mysql-community-server --nogpgcheck

这里使用--nogpgcheck参数忽略 gpg 检查。 4. 启动 MySQL 服务
使用 service 命令启动 MySQL 服务

service mysqld start

4、启动MySQL 服务
使用 service 命令启动 MySQL 服务

service mysqld start

5、查看

systemctl status mysqld

6、登录 MySQL 并修改密码
查看 MySQL 的临时密码

grep 'temporary password' /var/log/mysqld.log

登录 MySQL

mysql -uroot -p

输入临时密码
修改 MySQL 的 root 用户密码

ALTER USER 'root'@'localhost' IDENTIFIED BY '新密码';

注意,为了安全起见,新密码应该足够复杂并难以猜测。

安装 mysqld_exporter

以下在 node 端执行

1、下载安装 mysqld_exporter

wget https://github.com/prometheus/mysqld_exporter/releases/download/v0.14.0/mysqld_exporter-0.14.0.linux-amd64.tar.gz
tar -zvxf mysqld_exporter-0.14.0.linux-amd64.tar.gz  -C /usr/local/
cd /usr/local/
mv mysqld_exporter-0.14.0.linux-amd64 mysqld_exporter
cd /usr/local/mysqld_exporter

下载慢尝试

wget https://githubfast.com/prometheus/mysqld_exporter/releases/download/v0.14.0/mysqld_exporter-0.14.0.linux-amd64.tar.gz

2、mysqld_exporter 配置

进入数据库创建账号

CREATE USER 'exporter'@'%' IDENTIFIED BY 'password' WITH MAX_USER_CONNECTIONS 3;
GRANT PROCESS, REPLICATION CLIENT, SELECT ON _._ TO 'exporter'@'%';

使用环境变量方式配置一下数据库连接认证信息并启动 Exporter

export DATA_SOURCE_NAME='exporter:password@(localhost:3306)/'
cd /usr/local/mysqld_exporter
nohup ./mysqld_exporter &

使用配置文件,在当前机器~/.my.cnf 配置文件中增加配置信息,注意修改自己实际情况参数。注意这个.my.cnf 在 exporter 所在机器创建就行,和 mysql 实际自己的配置文件 my.cnf 没有一点关系

vi ~/.my.cnf
[client]
   host=127.0.0.1
   port=3306
   user=exporter
   password=password

3、使用 systemctl 管理 mysqld_exporter

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

写入

[Unit]
Description=mysqld_exporter for Prometheus monitoring
After=network.target

[Service]
Type=simple
User=root
WorkingDirectory=/usr/local/mysqld_exporter/
ExecStart=/usr/local/mysqld_exporter/./mysqld_exporter
Restart=always

[Install]
WantedBy=multi-user.target

mysqld_exporter 启动成功后,默认端口是 9104, 访问 ip:9104/metrics 即可查看 mysql 相关指标

以下在 Prometheus 端执行

4、修改 Prometheus 的配置文件 prometheus.yml 增加 mysql 相关 exporter job

vi  /usr/local/prometheus/prometheus.yml

在最后添加

  - job_name: 'mysql'
    static_configs:
     - targets: ['192.168.100.126:9104']
       labels:
          instance: mysql

5、重启Prometheus 和 grafana

systemctl restart prometheus
systemctl restart grafana-server

进入 prometheus 的 web 界面,再次选择 targets, 可以看到新加的 mysql 端点

 然后导入 mysql 的监控大盘

 

 

 

 

标签:exporter,--,mysql,redis,Grafana,Centos7,Prometheus,mysqld,MySQL
From: https://www.cnblogs.com/datacenter/p/18191306

相关文章

  • Centos7下搭建Prometheus+Grafana监控
    Prometheus监控Prometheus 监控系统的架构包括以下组件:PrometheusServer:Prometheus服务器是监控系统的核心组件,负责收集、存储和处理指标数据。它定期从各种数据源(如Exporter、Agent等)拉取指标数据,并将其存储在本地的时序数据库中。Prometheus服务器还提供了强大的查询......
  • 使用Redis执行多个命令
    单个命令执行packagemainimport("context""fmt""github.com/go-redis/redis/v8""time")funcmain(){//创建Redis客户端rdb:=redis.NewClient(&redis.Options{Addr:"localhos......
  • redis学习笔记3: redis常用命令
    redis学习笔记3:redis常用命令在此处输入redis命令字符串操作命令setkeyvalue设置指定key的值(类似于put)getkey获取指定key的值setexkeysecondsvalue设置带有过期时间的keysetnxkey......
  • redis学习笔记4: 在Java中操作Redis
    redis学习笔记4:在Java中操作RedisRedis的Java客户端Jedis[命令和原生Redis基本相同]Lettuce[性能高效]SpringDateRedis[可以在Spring项目中使用,简化操作]SpringDateRedis使用方式导入maven坐标<!--https://mvnrepository.com/artifact/org.springfra......
  • day4-1-Redis
    day4-1-Redis入门Redis介绍Redis是一个基于内存的key-value结构数据库基于内存存储,读写性能高适合存储热点数据(热点商品,咨询,新闻)(在特定时间有大量访问量)keyvalueid101name小智city北京redis中文网Redis安装Redis启动-服务端......
  • php + redis 实现秒杀
    一、概述秒杀这个问题在很多面试的时候都会提到,会有各个方面的调优,配置等等,本文在这里举个简单的例子来演示下秒杀的过程,供大家参考发散思维。 二、准备介绍thinkPHP6框架redis6.0php7.4redis操作包predisapache-jmeter-5.6 三、代码实现秒杀controller层的简易代......
  • prometheus+grafana 使用blackbox_exporte监控站点url
    1.1下载blackbox_exporte插件在https://github.com/prometheus/blackbox_exporter 上下载blackbox_exporte对应版本安装包,并上传到prometheus服务器 /usr/local 目录1.2安装blackbox_exporte[root@rancherlocal]#tarxvfblackbox_exporter-0.25.0.linux-amd64.tar.g......
  • PXE+Kickstart无人值守安装安装Centos7.9
    目录一、什么是PXE1、简介2、工作模式3、工作流程二、什么是Kickstart1、简介2、触发方式三、无人值守安装系统工作流程四、实验部署1、环境准备2、服务端:关闭防火墙和selinux3、添加一张仅主机的网卡4、配置仅主机的网卡4.1、修改网络连接名4.2、配IP地址4.3、重启网卡5、配置DHC......
  • centos7 编译gcc
    https://linuxhostsupport.com/blog/how-to-install-gcc-on-centos-7/ HowToInstallGCConCentOS7rial,wewilltakealookat howtoinstallGCConCentOS7.GCCorGNUCompilerCollectionisreleasedbytheFreeSoftwareFoundationandasthenamesugg......
  • 运维必备Linux学习day2(mysql,jdk,redis,docker安装)
    一.MySQL安装①Linux环境:1.虚拟机Centos7.6版本安装,2.准备类似版本 mysql-5.7.26-1.el7.x86_64.rpm-bundle.tar包1.新建文件夹/opt/mysql,并cd进去,首先:mkdir/opt/mysql2.运行 wgethttp://dev.mysql.com/get/mysql-5.7.26-1.el7.x86_64.rpm-bundle.tar,下载mysql安装包......