IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 系统运维 -> zabbix监控数据库主从 -> 正文阅读

[系统运维]zabbix监控数据库主从

作者:recommend-item-box type_blog clearfix

zabbix监控mysql主从

更改server、agent1、master、slave主机的/etc/hosts文件

192.168.159.139 server-139
192.168.159.100 agent-100
192.168.159.200 master-200
192.168.159.201 slave-201

master和slave主机安装mariadb

[root@slave-201 ~]# yum -y install mariadb mariadb-server
[root@slave-201 ~]# systemctl restart mariadb
[root@slave-201 ~]# systemctl enable mariadb
Created symlink /etc/systemd/system/mysql.service → /usr/lib/systemd/system/mariadb.service.
Created symlink /etc/systemd/system/mysqld.service → /usr/lib/systemd/system/mariadb.service.
Created symlink /etc/systemd/system/multi-user.target.wants/mariadb.service → /usr/lib/systemd/system/mariadb.service.

初始化mariadb

[root@slave-201 ~]# mysql_secure_installation

修改master配置文件

[root@master-200 ~]# vim /etc/my.cnf.d/mariadb-server.cnf
[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
log-error=/var/log/mariadb/mariadb.log
pid-file=/run/mariadb/mariadb.pid
log_bin=mysql-bin
server_id=20
[root@master-200 ~]# systemctl restart mariadb

修改slave配置文件

[root@slave-201 ~]# vim /etc/my.cnf.d/mariadb-server.cnf
[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
log-error=/var/log/mariadb/mariadb.log
pid-file=/run/mariadb/mariadb.pid
log_bin=mysql-bin
server_id=30
[root@slave-201 ~]# systemctl restart mariadb

配置主从
master

[root@master-200 ~]# mysql -uroot -p123456
MariaDB [(none)]> grant all privileges  on *.* to root@'%' identified by "123456";
Query OK, 0 rows affected (0.000 sec)

MariaDB [(none)]> grant replication slave on *.* to 'user'@'slave' identified by '123456';
Query OK, 0 rows affected (0.000 sec)

slave

[root@slave-201 ~]# mysql -uroot -p123456
MariaDB [(none)]> grant all privileges  on *.* to root@'%' identified by "123456";
Query OK, 0 rows affected (0.000 sec)

MariaDB [(none)]> change master to master_host='master-200',master_user='user',master_password='123456';
Query OK, 0 rows affected (0.015 sec)

MariaDB [(none)]> start slave;
Query OK, 0 rows affected (0.001 sec)

MariaDB [(none)]> show slave status\G
*************************** 1. row ***************************
                Slave_IO_State: Connecting to master
                   Master_Host: master-200
                   Master_User: user
                   Master_Port: 3306
                 Connect_Retry: 60
               Master_Log_File:
           Read_Master_Log_Pos: 4
                Relay_Log_File: mariadb-relay-bin.000001
                 Relay_Log_Pos: 4
         Relay_Master_Log_File:
              Slave_IO_Running: Connecting
             Slave_SQL_Running: Yes

在slave主机安装zabbix-agent包,并添加到zabbix web监控平台

[root@slave-201 ~]# yum -y install zabbix-agent

修改zabbix_agent.conf配置文件

[root@slave-201 ~]# vim /etc/zabbix/zabbix_agentd.conf
Server=192.168.159.139
ServerActive=192.168.159.139
Hostname=slave-201
[root@slave-201 ~]# systemctl restart zabbix-agent.service
[root@slave-201 ~]# systemctl enable zabbix-agent.service
Created symlink /etc/systemd/system/multi-user.target.wants/zabbix-agent.service → /usr/lib/systemd/system/zabbix-agent.service.

在zabbix监控平台添加主机
在这里插入图片描述
在这里插入图片描述

slave主机配置脚本

[root@slave-201 ~]# mkdir /etc/zabbix/script
[root@slave-201 ~]# cd /etc/zabbix/script/
[root@slave-201 scripts]# vim mysql-slave.sh
#!/bin/bash
USER="root"
PASSWD="123456"
NAME=$1

function IO {
    Slave_IO_Running=`mysql -u $USER -p$PASSWD -e "show slave status\G;" 2> /dev/null |grep Slave_IO_Running |awk '{print $2}'`
    if [ $Slave_IO_Running == "Connecting" ];then
        echo 0
    else
        echo 1
    fi
}

function SQL {
    Slave_SQL_Running=`mysql -u $USER -p$PASSWD -e "show slave status\G;" 2> /dev/null |grep Slave_SQL_Running: |awk '{print $2}'`
if [ $Slave_SQL_Running == "Yes" ];then
echo 0
    else
        echo 1
    fi

}

case $NAME in
   io)
       IO
   ;;
   sql)
       SQL
   ;;
   *)
        echo -e "Usage: $0 [io | sql]"
esac
[root@slave-201 scripts]# chmod +x mysql-slave.sh
[root@slave-201 scripts]# chown -R zabbix.zabbix mysql-slave.sh

编写一个自配置文件,里面指定上面编写的脚本的路径,然后重启服务

[root@slave-201 zabbix_agentd.d]# vim user_mysql_slave.conf
UserParameter=mysql.slave[*],/etc/zabbix/script/mysql-slave.sh $1
[root@slave-201 zabbix_agentd.d]# chown -R zabbix.zabbix user_mysql_slave.conf
[root@slave-201 zabbix_agentd.d]# systemctl restart zabbix-agent.service

去server主机验证

[root@server-139 ~]# zabbix_get -s 192.168.159.201 -k mysql.slave[sql]
0
[root@server-139 ~]# zabbix_get -s 192.168.159.201 -k mysql.slave[io]
0

在zabbix监控平台创建监控项
在这里插入图片描述
在这里插入图片描述

新建触发器
在这里插入图片描述
在这里插入图片描述

创建图形
在这里插入图片描述

关闭mysql主从进行测试

[root@slave-201 ~]# mysql -uroot -p123456 -e "stop slave;"

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

zabbix主从延迟监控

配置库脚本

[root@slave-201 ~]# cd /etc/zabbix/script/
[root@slave-201 script]# vim mysql-delay.sh
#!/bin/bash
delay=$(mysql -uroot -p123456 -e 'show slave status\G' 2> /dev/null | grep 'Seconds_Behind_Master' | awk '{print $2}')
if [ $delay == "NULL" ];then
echo 0
elif [ $delay -ge 0 ] && [ $delay -le 200 ];then
echo 0
else
echo $delay
fi
[root@slave-201 script]# chmod +x mysql-delay.sh
[root@slave-201 script]# chown -R zabbix.zabbix mysql-delay.sh

更改配置文件

[root@slave-201 ~]# vim /etc/zabbix/zabbix_agentd.d/user_mysql_slave.conf
UserParameter=check_mysql_delay,/bin/bash /etc/zabbix/script/mysql-delay.sh
[root@slave-201 ~]# systemctl restart zabbix-agent.service

在server主机测试

[root@server-139 ~]# zabbix_get -s 192.168.159.201 -k check_mysql_delay
0

在zabbix监控平台添加监控项
在这里插入图片描述

创建触发器
在这里插入图片描述

测试0是否能告警
在这里插入图片描述
在这里插入图片描述

  系统运维 最新文章
配置小型公司网络WLAN基本业务(AC通过三层
如何在交付运维过程中建立风险底线意识,提
快速传输大文件,怎么通过网络传大文件给对
从游戏服务端角度分析移动同步(状态同步)
MySQL使用MyCat实现分库分表
如何用DWDM射频光纤技术实现200公里外的站点
国内顺畅下载k8s.gcr.io的镜像
自动化测试appium
ctfshow ssrf
Linux操作系统学习之实用指令(Centos7/8均
上一篇文章      下一篇文章      查看所有文章
加:2022-09-13 11:56:35  更:2022-09-13 11:59:57 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年12日历 -2024/12/28 18:40:36-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码
数据统计