【企业级监控】Zabbix监控MySQL主从复制

news2024/11/27 1:46:19

Zabbix自定义监控项与触发器

文章目录

  • Zabbix自定义监控项与触发器
    • 资源列表
    • 基础环境
    • 前言
    • 四、监控MySQL主从复制
      • 4.1、部署mysql主从复制
        • 4.1.1、在两台主机(102和103上安装)
        • 4.1.2、主机102当master
        • 4.1.3、主机103当slave
      • 4.2、MySQL-slave端开启自定义Key值并设置
      • 4.3、编写脚本获取数据
      • 4.4、Zabbix_get测试
      • 4.5、添加监控模板
      • 4.6、为模板添加监控项
      • 4.7、为主机关联模板
      • 4.8、为模板添加触发器
      • 4.9、添加告警动作和操作
      • 4.10、测试

资源列表

操作系统配置主机名IP
CentOS 7.92C4Gzbx192.168.93.101
CentOS 7.92C4Gserver01192.168.93.102
CentOS 7.92C4Gserver02192.168.93.103

基础环境

  • 关闭防火墙
systemctl stop firewalld
systemctl disable firewalld
  • 关闭内核安全机制
setenforce 0
sed -i "s/^SELINUX=.*/SELINUX=disabled/g" /etc/selinux/config

前言

  • 当我们需要获取某台主机上的数据时,直接利用zabbix提供的模板可以很方便的获得需要的数据,但是有些特别的数据,利用这些现有模板或监控项是无法实现的,例如网站状态信息的监控、mysql数据库主从状态等信息 。这时就需要自己定义键值和监控项,以满足企业对检测数据的需要。

四、监控MySQL主从复制

4.1、部署mysql主从复制

4.1.1、在两台主机(102和103上安装)
yum -y install mariadb-server mysql
4.1.2、主机102当master
[root@server01 ~]# vim /etc/my.cnf
[mysqld]
server-id=11
log-bin=master-bin
[root@server01 ~]# systemctl start mariadb.service
[root@server01 ~]# systemctl enable mariadb.service
[root@server01 ~]# mysqladmin -uroot password 'pwd123'
[root@server01 ~]# mysql -u root -ppwd123
MariaDB [(none)]> grant replication slave on *.* to root@'%' identified by 'pwd123';
MariaDB [(none)]> show master status;
+-------------------+----------+--------------+------------------+
| File              | Position | Binlog_Do_DB | Binlog_Ignore_DB |
+-------------------+----------+--------------+------------------+
| master-bin.000003 |      523 |              |                  |
+-------------------+----------+--------------+------------------+
4.1.3、主机103当slave
[root@server02 ~]# vim /etc/my.cnf
[mysqld]
server-id=22
[root@server02 ~]# systemctl start mariadb.service 
[root@server02 ~]# systemctl enable mariadb.service
[root@server02 ~]# mysqladmin -uroot password 'pwd123'
# IP和偏移量改为自己在master节点查到的
[root@server02 ~]# mysql -u root -ppwd123
MariaDB [(none)]> change master to master_host='192.168.93.102',master_user='root',master_password='pwd123',master_log_file='master-bin.000003',master_log_pos=523;
MariaDB [(none)]> start slave;
MariaDB [(none)]> show slave status\G
*************************** 1. row ***************************
               Slave_IO_State: Waiting for master to send event
                  Master_Host: 192.168.93.102
                  Master_User: root
                  Master_Port: 3306
                Connect_Retry: 60
              Master_Log_File: master-bin.000003
          Read_Master_Log_Pos: 523
               Relay_Log_File: mariadb-relay-bin.000002
                Relay_Log_Pos: 530
        Relay_Master_Log_File: master-bin.000003
#####################################################################
             Slave_IO_Running: Yes
            Slave_SQL_Running: Yes
#####################################################################
              Replicate_Do_DB: 
          Replicate_Ignore_DB: 
           Replicate_Do_Table: 
       Replicate_Ignore_Table: 
      Replicate_Wild_Do_Table: 
  Replicate_Wild_Ignore_Table: 
                   Last_Errno: 0
                   Last_Error: 
                 Skip_Counter: 0
          Exec_Master_Log_Pos: 523
              Relay_Log_Space: 826
              Until_Condition: None
               Until_Log_File: 
                Until_Log_Pos: 0
           Master_SSL_Allowed: No
           Master_SSL_CA_File: 
           Master_SSL_CA_Path: 
              Master_SSL_Cert: 
            Master_SSL_Cipher: 
               Master_SSL_Key: 
        Seconds_Behind_Master: 0
Master_SSL_Verify_Server_Cert: No
                Last_IO_Errno: 0
                Last_IO_Error: 
               Last_SQL_Errno: 0
               Last_SQL_Error: 
  Replicate_Ignore_Server_Ids: 
             Master_Server_Id: 11
1 row in set (0.00 sec)

4.2、MySQL-slave端开启自定义Key值并设置

[root@server02 ~]# vim /etc/zabbix/zabbix_agentd.conf 
# 默认352行,进行修改
UnsafeUserParameters=0
# 默认361行,取消注释进行修改
UserParameter=mysql.slave[*],/etc/zabbix/mysql-slave.sh
# 备注
UnsafeUserParameters=1:启用自定义Key功能
UserParameter:指定脚本
mysql.slave:为Key值名称。[*]里面写脚本参数,没有可以不写。/etc/zabbix/mysql-slave.sh路径为脚本所在路径。

4.3、编写脚本获取数据

[root@server02 ~]# vim /etc/zabbix/mysql-slave.sh
#!/bin/bash 
/usr/bin/mysql -uroot -ppwd123 -e 'show slave status\G' |grep -E "Slave_IO_Running|Slave_SQL_Running"|awk '{print $2}'|grep -c Yes
[root@server02 ~]# chmod +x /etc/zabbix/mysql-slave.sh 
[root@server02 ~]# systemctl restart zabbix-agent.service

4.4、Zabbix_get测试

[root@zbx ~]# zabbix_get -s 192.168.93.103 -k mysql.slave[*]
2

# 回显结果解释
Slave_IO_Runningt 和 Slave_SQL_Running返回的yes值加一起就为2了

4.5、添加监控模板

  • “数据采集”——>“模板”,再点击“创建模板”按钮,进行创建模板操作
    在这里插入图片描述

4.6、为模板添加监控项

  • “数据采集”——>“模板”,点击刚才创建的模板,为此模板添加“监控项”信息,名称输入“mysql-slave”,键值输入“”,然后点击”添加按钮“
    在这里插入图片描述

4.7、为主机关联模板

  • 为server02主机关联刚才创建的监控模板
    在这里插入图片描述

4.8、为模板添加触发器

  • ”数据采集“——>”模板“,找到刚才创建的模板mysql-slave,点击”触发器“,再点击”创建触发器“。
  • 在监控项中点击”选择“按钮,选择前面创建的mysql-slave监控项,在功能处点击下拉菜单,选择”last-最后(最近)的 T 值“,结果为<N下面N中输入2,然后点击”插入“按钮
    在这里插入图片描述

4.9、添加告警动作和操作

  • ”告警“——>”动作“——>”触发器动作“

  • 条件选项触发器,并指定上一步中创建的触发器
    在这里插入图片描述

在这里插入图片描述

4.10、测试

  • 关闭mysql从节点的slave进程
[root@server02 ~]# mysql -u root -ppwd123
MariaDB [(none)]> stop slave;
  • 观察报警信息
    在这里插入图片描述

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

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

相关文章

JMeter案例分享:通过数据验证的错误,说说CSV数据文件设置中的线程共享模式

前言 用过JMeter参数化的小伙伴&#xff0c;想必对CSV Data Set Config非常熟悉。大家平时更关注变量名称&#xff0c;是否忽略首行等参数&#xff0c;其余的一般都使用默认值。然而我最近遇到一个未按照我的预想读取数据的案例&#xff0c;原因就出在最后一个参数“线程共享模…

摄像头 RN6752v1 视频采集卡

摄像头 AHD倒车摄像头比较好&#xff0c;AHD英文全名Analog High Definition&#xff0c;即模拟高清&#xff0c;拥有比较好的分辨率与画面质感。 RN6752v1 GQW AKKY2 usb 采集卡 FHD&#xff08;1080p&#xff09;、HD&#xff08;720p&#xff09;和D1&#xff08;480i&am…

开始Linux之路

人生得一知己足矣&#xff0c;斯世当以同怀视之。——鲁迅 Linux操作系统简单操作指令 1、ls指令2、pwd命令3、cd指令4、mkdir指令(重要)5、whoami命令6、创建一个普通用户7、重新认识指令8、which指令9、alias命令10、touch指令11、rmdir指令 及 rm指令(重要)12、man指令(重要…

C# Winform的三态CheckBox,以及批量修改Panel中的控件

在C# WinForms中&#xff0c;如果你想批量修改一个Panel容器内的所有CheckBox控件的状态&#xff0c;你可以使用foreach循环来遍历Panel的Controls集合。下面是一个示例&#xff0c;展示了如何将一个Panel内所有的CheckBox控件设为选中状态&#xff08;Checked true&#xff0…

借助 Aspose.Words,在 C# 中将 Word 转换为 JPG

有时我们需要将 Word 文档转换为图片&#xff0c;因为 DOC 或 DOCX 文件在不同设备上的显示可能会有所不同&#xff0c;但图像&#xff08;例如 JPG 格式&#xff09;在任何地方看起来都一样。 Aspose.Words 是一种高级Word文档处理API&#xff0c;用于执行各种文档管理和操作…

超声波眼镜清洗机哪个牌子好?2024年超全热门眼镜清洗机推荐

夏天来了&#xff0c;在户外活动不到几分钟就已经大汗淋漓&#xff01;特别是汗珠一滴滴的挂在眼皮上往下坠落简直让戴眼镜的人苦不堪言&#xff01;虽说戴眼镜在现如今来看是非常普遍的一件事情&#xff0c;但是人们一直深受眼镜清洗的困扰&#xff01;很多朋友看到这里可能会…

C++学习日记 | Lecture 9 类基础

资料来源&#xff1a;南科大 余仕琪 C/C Program Design LINK&#xff1a; CPP/week09 at main ShiqiYu/CPP GitHub9.1-classes-and-objects_哔哩哔哩_bilibili9.2-constructors-and-destructors_哔哩哔哩_bilibili9.3-this-pointer_哔哩哔哩_bilibili9.4-const-and-static…

好用的《身份证工具》插件,解锁6大实用功能

在数据处理领域&#xff0c;超级处理器插件凭借其强大的功能和高效的性能&#xff0c;一直是Excel和WPS用户的心头好。而今&#xff0c;这一优秀插件再次迎来革新——身份证工具功能现已支持单独安装使用&#xff0c;为用户带来前所未有的便利与灵活性。 超级处理器下载与安装…

matlab入门学习

一、什么是matlab MATLAB&#xff08;matrix laboratory矩阵实验室&#xff09;是一款商用数学软件&#xff0c;主要面对科学计算、可视化以及交互式程序设计的高科技计算环境。可用于数据分析、深度学习、图像处理与计算机视觉、量化金融与风险管理等领域。 二、matlab和pyt…

快速在springboot项目中应用EasyExcel

目录 ​编辑一、介绍 二、准备工作 三、初始化项目 3.1 创建项目 3.2 引入依赖 3.3 创建数据库和数据表 3.4 编写application.properties文件 四、开始编写 4.1 目录结构 4.2 MyBatis配置类 4.3 用户实体类 4.4 mapper接口 4.5 编写数据操作文件 4.6 编写Service 业…

静态链接——编译和链接

一、编译和链接的过程 1、GCC生成可执行文件的总体过程 在日常的开发过程中&#xff0c;IDE总是会帮我们将编译和链接合并&#xff0c;一键式的执行,即使在liunx中&#xff0c;使用命令行来编译一个源文件也只是简单的一句"gcc hello.c"。我们并没有过多的关注编译和…

linux的学习(五):shell编程中的变量,运算符,条件判断

简介&#xff1a; shell编程的基本概念&#xff0c;定义变量&#xff0c;运算符&#xff0c;条件判断的基本使用 shell编程 把多个命令写到一个文件里&#xff0c;这个文件就是脚本&#xff0c;里面还有很多的流程控制 基本概念 脚本的后缀名是.sh 脚本的执行&#xff1a;…

全面理解Spring6框架到熟悉与掌握

个人笔记梳理&#xff0c;仅供参考 Spring是一款主流的JavaEE轻量级开源框架 Spring的狭义和广义 广义的Spring&#xff1a;Spring技术栈 泛指以Spring Framework为核心的Spring技术栈 经过十多年的发展&#xff0c;Spring已经不再是一个单纯的应用框架&#xff0c;而是逐…

EasyAnimate-v3版本支持I2V及超长视频生成

阿里云人工智能平台&#xff08;PAI&#xff09;自研开源的视频生成项目EasyAnimate正式发布v3版本&#xff1a; 支持 图片&#xff08;可配合文字&#xff09; 生成视频 支持 上传两张图片作为起止画面 生成视频 最大支持720p&#xff08;960*960分辨率&#xff09; 144帧视…

量化投资基础(一)之均值方差模型一

点赞、关注&#xff0c;养成良好习惯 Life is short, U need Python 量化投资基础系列&#xff0c;不断更新中 1. 投资组合收益率与风险 假设市场有 N N N 个资产&#xff0c;其随机收益率分别为 R 1 , R 2 , … , R N R_1,R_2,\dots,R_N R1​,R2​,…,RN​ &#xff0c;对应…

蓝桥 双周赛算法赛【小白场】

博客主页&#xff1a;誓则盟约系列专栏&#xff1a;IT竞赛 专栏关注博主&#xff0c;后期持续更新系列文章如果有错误感谢请大家批评指出&#xff0c;及时修改感谢大家点赞&#x1f44d;收藏⭐评论✍ 蓝桥第14场小白入门赛T1/T2/T3 题目&#xff1a; T1照常还是送分题无需多…

【Git的基本操作】版本回退 | 撤销修改的三种情况 | 删除文件

目录 5.版本回退 5.1选项hard&后悔药 5.2后悔药&commit id 5.3版本回退的原理 6.撤销修改 6.1情况一 6.2情况二 6.3情况三 ​7.删除文件 Git重要能力之一马&#xff0c;版本回退功能。Git是版本控制系统&#xff0c;能够管理文件历史版本。本篇以ReadMe文件为…

STM32智能楼宇照明系统教程

目录 引言环境准备智能楼宇照明系统基础代码实现&#xff1a;实现智能楼宇照明系统 4.1 数据采集模块 4.2 数据处理与控制模块 4.3 通信与网络系统实现 4.4 用户界面与数据可视化应用场景&#xff1a;楼宇照明管理与优化问题解决方案与优化收尾与总结 1. 引言 智能楼宇照明系…

Vue3新特性:Teleport、Suspense玩转起来!

Vue3新特性&#xff1a;Teleport、Suspense玩转起来&#xff01; 嘿&#xff0c;各位前端小伙伴们&#xff01;今天咱们来聊聊Vue3中的两个新特性&#xff1a;Teleport和Suspense。这两个功能听起来像是从科幻电影里跑出来的&#xff0c;但实际上它们可是能让我们的代码更加优…

Leetcode - 周赛405

目录 一&#xff0c;3210. 找出加密后的字符串 二&#xff0c;3211. 生成不含相邻零的二进制字符串 三&#xff0c;3212. 统计 X 和 Y 频数相等的子矩阵数量 一&#xff0c;3210. 找出加密后的字符串 本题是一道模拟题&#xff0c;代码如下&#xff1a; class Solution {pu…