【Prometheus】mysqld_exporter+Grafana+AlertManager预警

news/2024/5/18 22:43:47 标签: mysql, prometheus, 数据库

简介

mysql_exporter是用来收集MysQL或者Mariadb数据库相关指标的,mysql_exporter需要连接到数据库并有相关权限。既可以用二进制安装部署,也可以通过容器形式部署,但为了数据收集的准确性,推荐二进制安装。

一,下载安装包并解压

安装包下载地址: https://github.com/prometheus/mysqld_exporter/releases

同样物理机上下载,然后上传到服务器,本次安装使用的版本为:mysqld_exporter-0.14.0.linux-amd64


1,根据服务器情况选择安装目录,上传安装包。

mkdir /mysqld_exporter
cd /mysqld_exporter/

[root@jd-mysql mysqld_exporter]# ls
mysqld_exporter-0.14.0.linux-amd64.tar.gz
#解压
[root@jd-mysql mysqld_exporter]# tar -xvzf mysqld_exporter-0.14.0.linux-amd64.tar.gz
[root@jd-mysql mysqld_exporter]# cp mysqld_exporter-0.14.0.linux-amd64/* .
[root@jd-mysql mysqld_exporter]# rm -rf mysqld_exporter-0.14.0.linux-amd64
[root@jd-mysql mysqld_exporter]# ls
LICENSE  mysqld_exporter  mysqld_exporter-0.14.0.linux-amd64.tar.gz  NOTICE

在这里插入图片描述

二,创建配置文件

  • 创建配置文件.my.cnf ,填入如下内容后保存:wq
[root@jd-mysql mysqld_exporter]# cat .my.cnf 
[client]
user = exporter
password = Jd123456
host = 192.168.1.150
port = 3306

  • mysql创建用户并授权,注意服务ip不要填错
[root@jd-mysql mysqld_exporter]# mysql -uroot -pJiangda123#
mysql: [Warning] Using a password on the command line interface can be insecure.
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 7
Server version: 5.7.40-log MySQL Community Server (GPL)

Copyright (c) 2000, 2022, Oracle and/or its affiliates.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

root@(none) 11:06  mysql>create user 'exporter'@'%' identified by 'Jd123456';
Query OK, 0 rows affected (1.02 sec)

root@(none) 11:07  mysql>GRANT PROCESS, REPLICATION CLIENT, SELECT ON *.* TO 'exporter'@'%'  WITH MAX_USER_CONNECTIONS 3;
Query OK, 0 rows affected, 1 warning (0.00 sec)

root@(none) 11:07  mysql>flush privileges;
Query OK, 0 rows affected (0.00 sec)

root@(none) 11:07  mysql>exit
Bye


三,进行系统service编写

  • 创建mysqld_exporter.service配置文件
cd /usr/lib/systemd/system
vim mysqld_exporter.service

  • mysqld_exporter.service 文件填入如下内容后保存:wq
[Unit]
Description=https://prometheus.io

[Service]
Restart=on-failure
ExecStart=/mysqld_exporter/mysqld_exporter --config.my-cnf=/mysqld_exporter/.my.cnf --web.listen-address=:9104

[Install]
WantedBy=multi-user.target


  • 查看配置文件
cat mysqld_exporter.service 

在这里插入图片描述

  • 刷新服务配置并启动服务
systemctl daemon-reload
systemctl start mysqld_exporter.service

  • 查看服务运行状态
systemctl status mysqld_exporter.service

在这里插入图片描述

  • 设置开机自启动
systemctl enable mysqld_exporter.service

  • 测试服务返回
curl localhost:9104/metrics

在这里插入图片描述

Docker部署

  • 在Docker部署之前,首先要确保拥有Docker环境

  • 拉取mysqld-exporter最新镜像

docker pull prom/mysqld-exporter

  • 创建mysql监听用户并授权,注意服务ip不要填错
CREATE USER 'exporter'@'<安装Prometheus的主机IP>' IDENTIFIED BY '<your password>';
GRANT PROCESS, REPLICATION CLIENT, SELECT ON *.* TO 'exporter'@'<安装Prometheus的主机IP>';
flush privileges;

  1. 启动容器
    注意:⚠️ 若二进制章节部署后,需要执行systemctl stop mysqld_exporter.service关闭服务,否则会造成端口冲突,或者docker的端口映射改为-p 9194:9104也可。注意环境变量DATA_SOURCE_NAMEmysql帐号密码与地址无误
docker run -d  --restart=always  --name mysqld-exporter -p 9104:9104 -e DATA_SOURCE_NAME="exporter:<pass>(11x.xx.xx.7:13306)/"  prom/mysqld-exporter

  1. 测试服务返回
curl localhost:9104/metrics

prometheus_185">对接prometheus

  • 打开prometheus.yml添加以下内容,并执行:wq,点击回车保存
   
 - job_name: "mysql"
   static_configs:
     - targets: ["192.168.1.150:9104"]
       labels:
         instance: mysqld-exporter

在这里插入图片描述

curl -XPOST localhost:9090/-/reload

  • 打开prometheus,搜索mysql,可以看到出现了很多的参数指标

  • 在这里插入图片描述

  • 打开targets,可以看到节点状态已经UP
    在这里插入图片描述

  • 至此mysqld-exporter插件安装完毕

用Grafana出图

[root@nfs yum.repos.d]# mkdir /grafana
[root@nfs yum.repos.d]# cd /grafana/
[root@nfs grafana]# ls
grafana-enterprise-9.1.2-1.x86_64.rpm
[root@nfs grafana]# yum install grafana-enterprise-9.1.2-1.x86_64.rpm -y

安装好后

[root@nfs grafana]# service grafana-server start
Starting grafana-server (via systemctl):                   [  确定  ]
[root@nfs grafana]# systemctl enable grafana-server  
Created symlink from /etc/systemd/system/multi-user.target.wants/grafana-server.service to /usr/lib/systemd/system/grafana-server.service.
[root@nfs grafana]# netstat -anplut|grep grafana
tcp        0      0 192.168.1.130:56948     34.120.177.193:443      ESTABLISHED 8775/grafana-server 
tcp        0      0 192.168.1.130:48842     185.199.110.133:443     ESTABLISHED 8775/grafana-server 
tcp6       0      0 :::3000                 :::*                    LISTEN      8775/grafana-server 

访问http://192.168.1.130:3000/
在这里插入图片描述
默认的用户名和密码是
用户名admin
密码admin

配置数据源
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
成功效果:
在这里插入图片描述


http://www.niftyadmin.cn/n/418122.html

相关文章

springboot+vue企业设备管理系统

解决的思路&#xff1a; &#xff08;1&#xff09;通过进行需求分析&#xff0c;建立用例模型&#xff0c;上网查找资料&#xff0c;摸清业务流程。 &#xff08;2&#xff09;通过运用vue 技术进行界面的设计&#xff0c;上网搜集符合所做管理系统的相关图片&#xff0c;使用…

ASP.NET Core Web API入门之二:Swagger详细使用

ASP.NET Core Web API入门之二&#xff1a;Swagger详细使用 一、引言二、Swagger的作用以及优点2.1 作用2.2 优点 三、API接口添加注释3.1 编辑项目文件3.2 修改 Startup.cs 文件的 ConfigureServices 方法3.3 修改浏览器的网页标题3.4 接口添加注释 四、运行后效果 一、引言 …

【图书推荐 | 13】后端系列

【赠书活动第十二期 】 图书推荐 本期书籍&#xff1a;后端系列 图书列表 本期图书列表&#xff1a; Spring Cloud 微服务快速上手项目驱动零起点学JavaNode.js 从基础到项目实战Diango Web 开发实例精解Flask Web 全栈开发实战精通Hadoopsmysql 数据库基础与实战应用Neo4j 图谱…

简单使用gateway,以及gateway所需要的依赖

先声明&#xff0c;使用gateway需要有一定的SpringCloud的基础&#xff0c;再来使用时会看的很明白&#xff0c;使用前需要先开nacos服务&#xff0c;&#xff0c;确定无误。 下面直接开始 首先我们需要两个原来通信的模块&#xff0c;这里分别是service-const与service-provid…

数据库范式化原则

数据库范式化原则 1.第一范式&#xff08;1NF&#xff09;2.第二范式&#xff08;2NF&#xff09;3.第三范式&#xff08;3NF&#xff09; 数据库范式化原则是一组设计规范&#xff0c;旨在帮助确保数据库结构的规范性、一致性和有效性。 1.第一范式&#xff08;1NF&#xff09…

如何使用Python生成跑马灯视频

在这篇博客中&#xff0c;我将向您展示如何使用Python语言生成一个简单的跑马灯视频。我们将使用OpenCV和Pillow两个库来实现这个功能。 安装依赖库 首先&#xff0c;我们需要安装opencv-python和Pillow两个库。您可以使用以下命令来安装它们&#xff1a; pip install opencv…

Linux: 进程标准输入输出设备描述符

Linux: 进程标准输入输出设备描述符 说明标准输入输出文件C库中标准输出设备init进程创建shell并打开标准输入输出文件执行可执行程序时标准输入输出继承关系telnet/ssh以及其他终端标准输入输出dup/dup2补充 说明 C库&#xff1a;musl 1.2.4 busybox&#xff1a;1.36.0 Linux…

nodejs+vue+Express论坛网站34t91

本论坛网站有管理员&#xff0c;用户&#xff0c;普通管理员。管理员功能有个人中心&#xff0c;用户管理&#xff0c;普通管理员管理&#xff0c;论坛类别管理&#xff0c;交流论坛管理&#xff0c;系统管理等。用户功能有个人中心&#xff0c;交流论坛管理&#xff0c;我的收…