Prometheus-监控Mysql进阶用法(1)(安装配置)

阿丹:

        在开发和生产环境中有可能会出现慢mysql等问题,那么这里就需要我们优秀的程序员来进行监控和解决,那么如何借助云原生的监控系统来完成这个操作呢?

       环境描述:

       使用一台空白的阿里云服务器2核4G。

服务器基本安装配置-docker容器化

关闭防火墙

systemctl stop firewalld

安装流程按照我之前写的文章来进行,我这里直接附上文章链接

阿丹的服务配置文章专题

安装docker

配置Linux服务器华为云耀云服务器之docker安装,以及环境变量安装 java (虚拟机一样适用)_华为云安装docker-CSDN博客

安装Mysql5:7 

配置Linux服务器华为云耀云服务器之docker中Mysql5.7、redis安装 (虚拟机一样适用)_云耀云服务器开放3306-CSDN博客

 安装普罗米修斯并监控mysql

Prometheus安装挂载数据卷

Prometheus技术文档--基本安装-docker安装并挂载数据卷-《十分钟搭建》_一单成的博客-CSDN博客

 访问ip+9090出现以下页面完成安装

Grafana安装挂载数据卷

Grafana技术文档--基本安装-docker安装并挂载数据卷-《十分钟搭建》-附带监控服务器_一单成的博客-CSDN博客

 访问ip+3000,出现页面完成Grafana安装

 在这一步的时候使用Grafana,在上面搜索框直接搜索Data sources将普罗米修斯设置为数据源,因为上面链接中有这里就不过多的说了。

docker中拉取mysql的探针

docker pull prom/mysqld-exporter

运行探针

首先创建一个专门用来监控的用户并授权

进入docker的mysql容器

docker exec -it 容器的id bash

 登录root用户

mysql -u root -p

输入密码后执行下面的指令 

CREATE USER 'mysql_monitor'@'%' IDENTIFIED BY 'adn666' WITH MAX_USER_CONNECTIONS 3;
GRANT PROCESS, REPLICATION CLIENT, SELECT ON *.* TO 'mysql_monitor'@'%';
FLUSH PRIVILEGES;
EXIT

 这段SQL语句用于在MySQL数据库中创建一个名为'mysql_monitor'的用户,并给予该用户一些权限。让我逐行解释一下:

  1. CREATE USER 'mysql_monitor'@'%' IDENTIFIED BY 'adn666' WITH MAX_USER_CONNECTIONS 3;

    • 这行代码创建一个名为'mysql_monitor'的用户,并且定义了用户的身份验证方式(密码)为'adn666'。
    • 'localhost'指定了该用户只能从本地主机连接到MySQL服务器。
    • WITH MAX_USER_CONNECTIONS 3限制了该用户可以同时建立的最大连接数为3个。
  2. GRANT PROCESS, REPLICATION CLIENT, SELECT ON *.* TO 'mysql_monitor'@'localhost';

    • 这行代码将一些权限授予'mysql_monitor'用户。
    • PROCESS权限允许该用户查看当前正在运行的MySQL进程。
    • REPLICATION CLIENT权限允许该用户连接到MySQL复制服务器以获取复制相关的信息。
    • SELECT权限允许该用户在所有的数据库和表上执行SELECT查询语句。
  3. FLUSH PRIVILEGES;

    • 这行代码用于刷新MySQL权限表,以使新的用户和权限设置生效。
  4. EXIT

    • 这行代码用于退出MySQL命令行终端。

这些语句的目的是创建一个具有特定权限的MySQL用户,并确保这些权限生效。你可以根据自己的需求修改用户名、密码和授权的权限。

使用我们创建好的用户来启动探针

docker直接运行探针(出现问题)

GitHub - percona/mysqld_exporter: Exporter for MySQL server metrics

 下面的这个就是官网提供的但是阿丹运行报错

docker network create my-mysql-network
docker pull prom/mysqld-exporterdocker run -d \-p 9104:9104 \--network my-mysql-network  \-e DATA_SOURCE_NAME="user:password@(hostname:3306)/" \prom/mysqld-exporter

 根据实践总是出现有这个.my.cnf的配置文件找不到。在这里留个坑希望有大神可以解答一下。

使用从官网上下拉代码

 wget https://github.com/prometheus/mysqld_exporter/releases/download/v0.12.1/mysqld_exporter-0.12.1.linux-amd64.tar.gz

解压

tar xf mysqld_exporter-0.12.1.linux-amd64.tar.gz -C /usr/local/

移动

ln -sv /usr/local/mysqld_exporter-0.12.1.linux-amd64/ /usr/local/prometheus_mysqld

编写配置文件,根据刚才我们新建的用户来完成配置

#编辑配置文件
vim /usr/local/prometheus_mysqld/.my.cnf #配置文件中内容
[client]
user=mysql_monitor #刚才新建的用户
password=adn666 #密码
port=3306 #端口号,如果不写ip地址(host)的话默认就是本机

配置systemd启动mysqld_exporter

vim /lib/systemd/system/mysqld_exporter.service

 下面为配置文件

[Unit]
Description=Mysqld_exporter
After=network.target
[Service]
ExecStart=/usr/local/prometheus_mysqld/mysqld_exporter --config.my-cnf=/usr/local/prometheus_mysqld/.my.cnf
[Install]
WantedBy=multi-user.target

 加入并启动,系统

systemctl daemon-reload
systemctl start mysqld_exporter
systemctl enable mysqld_exporter

 检查是否正常运行

ss -lnpt|grep 9104

 出现如下项目没有问题

使用ip地址+9104出现以下页面

 确认监控指标正常

curl http://localhost:9104/metrics|grep mysql_up

 那么我们下面就是在我们普罗米修斯中配置这个任务

在普罗米修斯中配置文件

修改这个配置 

  - job_name: 'mysql_db'static_configs:- targets: ['mysqlIP:9104']labels:group: mysql_db

 修改配置之后重启普罗米修斯的docker容器

访问ip+9090//targets查看

出现如上页面就是可以了! 

开始配置Grafana的主题-使用导入json的形式

阿丹:

        我这里准备了一个别人整理好的,我这里就直接拿过来使用了。

这个json文件我放在本文章的资源中了。直接拿取就可以,然后我们就使用上就可以了跟着我的步骤来。

注意:

        有两个方式来发现,一种是图表的形式来使用的,另外一种是使用配置预警规则来警告的。这里我们使用是监控图表的方式。(第二种方式阿丹后期会更新的)

我们可以直接在上面搜索这里直接搜索import

 直接将本文章中的json文件拖入就可以了,(前提是在安装的时候已经将数据来源设置为了我们安装好的普罗米修斯)

这里就是配置好了出现的面板

其中我们要使用到的就是这里!! 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/90056.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

泛函分析(一)

目录 1.数学基本概念 2.泛函概念和应用 2.1常用知识点 2.2泛函数解决的问题 2.3核函数 3.应用 参考文献 1.数学基本概念 2.泛函概念和应用 2.1常用知识点 算子:无限维空间到无限维空间的变换称为。泛函数:就是函数的函数,即一般函数自…

掌握Go的运行时:从编译到执行

目录 一、Go运行编译简介Go语言的目标和设计哲学运行时环境编译过程小结 二、执行环境操作系统与硬件层系统调用(Syscalls)虚拟内存 Go运行时(Runtime)Goroutine调度器内存管理和垃圾收集网络I/O代码示例:Go运行时调度…

【Git】轻松学会 Git(一):掌握 Git 的基本操作

文章目录 前言一、创建 Git 本地仓库1.1 什么是仓库1.2 创建本地仓库1.3 .git 目录结构 二、配置 Git三、认识 Git 的工作区、暂存区和版本库3.1 什么是 Git 的工作区、暂存区和版本库3.2 工作区、暂存区和版本库之间的关系 四、添加文件4.1 添加文件到暂存区和版本库中的命令4…

PHP 变动:用于创建常量数组的 define() 与 const

文章目录 参考环境常量数组不可变性版本限制 constdefine()构造大小写不敏感的常量$case_insensitive 参数PHP7.3PHP8 若 define() 在不支持常量数组的版本中运行 参考 项目描述搜索引擎Bing、GoogleAI 大模型文心一言、通义千问、讯飞星火认知大模型、ChatGPTPHP 手册PHP Man…

VS2022创建控制台应用程序后没有Main了,如何显示Main?

文章目录 问题描述原因解决方案简单的顶级语句试用计算器 其他文章 问题描述 用VS2022创建一个控制台应用后,没有名称空间和Main函数了,只有一个WriteLine,如下所示。 // See https://aka.ms/new-console-template for more information Co…

使用cpolar端口映射的方法轻松实现在Linux环境下SVN服务器的搭建与公网访问

文章目录 前言1. Ubuntu安装SVN服务2. 修改配置文件2.1 修改svnserve.conf文件2.2 修改passwd文件2.3 修改authz文件 3. 启动svn服务4. 内网穿透4.1 安装cpolar内网穿透4.2 创建隧道映射本地端口 5. 测试公网访问6. 配置固定公网TCP端口地址6.1 保留一个固定的公网TCP端口地址6…

家居服务小程序发展指南

随着互联网的快速发展,越来越多的企业开始关注并投资于线上平台的建设,以满足用户的多样化需求。家居服务行业也不例外,通过打造小程序平台,可以更好地服务用户,提供更便捷的家居服务体验。 首先,我们可以选…

部署和使用dinky问题总结

flink1.16 dinky(dlink)0.7.4 官方部署文档:http://www.dlink.top/docs/0.7/deploy_guide/build/ github部署文档:https://github.com/DataLinkDC/dinky/blob/v0.7.4/docs/docs/deploy_guide/deploy.md github issues:…

基于SpringBoot+Bootstrap的旅游管理系统的设计与实现

目录 前言 一、技术栈 二、系统功能介绍 登录模块的实现 景点信息管理界面 订票信息管理界面 用户评价管理界面 用户管理界面 景点资讯界面 系统主界面 用户注册界面 景点信息详情界面 订票信息界面 三、核心代码 1、登录模块 2、文件上传模块 3、代码封装 前言…

【pytest】 allure 生成报告

1. 下载地址 官方文档; Allure Framework 参考文档: 最全的PytestAllure使用教程,建议收藏 - 知乎 https://github.com/allure-framework 1.2安装Python依赖 windows:pip install allure-pytest 2. 脚本 用例 import pytest class …

Socks5代理、IP代理与其在爬虫开发中的应用

在当今数字化时代,网络安全和数据获取变得愈发重要。代理服务器作为一种关键的技术手段,为网络工程师和爬虫开发人员提供了有力的工具。本文将深入探讨Socks5代理、IP代理以及它们在网络安全和爬虫应用中的角色与意义。 1. 代理服务器简介 代理服务器是…

PHP开发框架及特点

PHP有许多开发框架,每个框架都有其独特的特点和用途。以下是一些常见的PHP开发框架以及它们的特点,希望对大家有所帮助。北京木奇移动技术有限公司,专业的软件外包开发公司,欢迎交流合作。 1.Laravel Laravel是一个流行的PHP框架…

XML文件反序列化读取

原始XML文件 <?xml version"1.0" encoding"utf-8" ?> <School headmaster"王校长"><Grade grade"12" teacher"张老师"><Student name"小米" age"18"/><Student name&quo…

【Spatial-Temporal Action Localization(六)】论文阅读2021年

文章目录 1. MultiSports: A Multi-Person Video Dataset of Spatio-Temporally Localized Sports Actions摘要和结论引言&#xff1a;针对痛点和贡献数据特点 2. Actor-Context-Actor Relation Network for Spatio-Temporal Action Localization摘要和结论引言&#xff1a;针对…

视频监控平台客户端开发记录

效果图 所用到的核心技术 QT信号槽机制;布局器;QStylesheet;QStackedWidget;QTreeView;QTableView;QNetworkAccessManager;Tr();QT信号槽机制 信号槽机制是QT的精华,主要解决UI界面中事件与事件响应的关联关系。QT将界面的操作(如点击按钮、拖动窗口等)定义为信号,…

语音助手开发小记(2023.9.25)

通道问题 在使用函数swr_alloc_set_opts给SwrContext传递输入输出的音频参数时&#xff0c;需要设置通道&#xff0c;这里通道为2&#xff0c;但是通道布局不能传递2.比如AV_CH_LAYOUT_STEREO 实际值为3 如果要计算通道布局的通道数使用函数av_get_channel_layout_nb_channels…

如何管理好公司的公海客户呢?

销售周期比较长&#xff0c;线索处理比较繁琐&#xff0c;想知道用哪些系统可解决这一问题&#xff1f; 很简单&#xff0c;针对客户管理繁杂&#xff0c;线索复杂的问题&#xff0c;crm系统中的公海池就可以轻松解决。 接下来我将以简道云为例为大家进行详细的公海池介绍 ht…

深度学习-Python调用ONNX模型

目录 ONNX模型使用流程 获取ONNX模型方法 使用ONNX模型 手动编写ONNX模型 Python调用ONNX模型 常见错误 错误raise ValueError...&#xff1a; 错误&#xff1a;Load model model.onnx failed 错误&#xff1a;CUDAExecutionProvider is not in available provider 错…

TouchGFX界面开发 | 项目代码结构分析

项目代码结构分析 本文介绍TouchGFX项目中TouchGFX Designer自动生成的代码&#xff0c;以及需要用户编写的扩展代码。 一、生成的代码和用户代码 TouchGFX Designer生成的代码将与用户编写的代码完全分离。 事实上&#xff0c;自动生成的代码位于generated/gui_generated文…

美国零售电商平台Target,值得入驻吗?如何入驻?

Target 是美国最大的零售商之一&#xff0c;在品牌出海为大势所趋的背景下&#xff0c;它在北美电商中的地位节节攀升。Target 商店在众多垂直领域提供各种价格实惠的自有品牌&#xff0c;吸引越来越多的跨境商家入驻&#xff0c;如美妆、家居、鞋服、日用百货等&#xff0c;随…