mysql负载均衡 监控_使用HAProxy对MySQL进行负载均衡和状态监控

news/2024/7/4 13:32:10

使用HAProxy对MySQL进行负载均衡和状态监控

转载请保留原文内容,并声明转载地址:http://www.doczj.com/doc/e23a311eff00bed5b9f31de0.html/blog/1284.html

乐搜(http://www.doczj.com/doc/e23a311eff00bed5b9f31de0.html)使用HAProxy已经很久了,但主要用在前端web请求的负载均衡和状态监控上,对于后端的Memcached以及MySQL却一直没有应用,最近对系统架构进行了小规模的整理,把MySQL 也收编到了HAProxy下,经过一段时间的使用,体验还是不错的。

详细的HAProxy的安装配置我就不说了,主要针对HAProxy如何监控检测后端MySQL服务器的状态说两句。

我们的环境由两台master和若干台slave数据库组成,在HA的配置中,可以设置灵活的策略和进行slave 的分组,如果系统更大了,将还会根据业务系统来拆分若干个master和slave组。

声明:以下内容应用和验证环境是基于FreeBSD 8.2 环境,MySQL在5.1以上版本,理论上Linux 的各个版本基本都能通过,如果有不能通过的情况,请别随意张口扔板砖,欢迎添加评论留言向我提问HA对MySQL状态监控实现的方式很多,不过大多逻辑都一样,使用自己编写的脚本程序(可以是shell、php、perl等你熟悉的语言)监控mysql的运行情况,然后通过HTTP的方式输出运行结果给HA,我使用的是shell程序来实现的监控,结合FreeBSD的inetd服务来实现监控端口的提供

6bfc557de1afb1172a3612ee1e22f986.png

1. 监控脚本编写

下面是我写的一段监控shell脚本,用于监控其中一台叫mdb1的master数据库replication运行:

1.#!/usr/local/bin/bash

2.MYSQL_HOST="mdb1"

3.MYSQL_PORT="3307"

4.MYSQL_USERNAME="michael"

5.MYSQL_PASSWORD="michael@http://www.doczj.com/doc/e23a311eff00bed5b9f31de0.html"

6.

7./usr/local/bin/mysql -h$MYSQL_HOST -P$MYSQL_PORT -u$MYSQL_USERNAME

-p$MYSQL_PASSWORD -e "show slave status\G;" > /tmp/check_mdb1_rep.txt

8.iostat=`grep "Slave_IO_Running" /tmp/check_mdb1_rep.txt |awk '{print

$2}'`

9.sqlstat=`grep "Slave_SQL_Running" /tmp/check_mdb1_rep.txt |awk '{print

$2}'`


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

相关文章

简短介绍_螺杆泵知识介绍,简短不缺精华。

1、螺杆泵(screw pump)螺杆泵是按迥转啮合容积式原理工作的新型泵种,其主要工作部件是偏心螺杆(转子)和固定的衬套(定子)。由于定子和转子的特殊几何形状,分别形成单独的密封容腔,介质在轴向被均匀推行流动,内部流速低&#xff0c…

如何实现开关CD-ROM

对CD-ROM的操作,可通过mciSendCommand函数实现。 下面是用VC实现的代码: // 设备ID DWORD wDevID; // 打开设备参数 MCI_OPEN_PARMS mciOM; // 将设备名称设为CD_ROM mciOM.lpstrDeviceType "cdaudio"; // 将此设备…

mysql如何用sql添加字段如何设置字符集和排序规则

alter table pay_company add sms_code2 varchar(16) CHARACTER SET UTF8 COLLATE utf8_general_ci DEFAULT null;转载于:https://www.cnblogs.com/YuyuanNo1/p/8315968.html

python装b代码_Python十大装B语法

Python 是一种代表简单思想的语言,其语法相对简单,很容易上手。不过,如果就此小视 Python 语法的精妙和深邃,那就大错特错了。本文精心筛选了最能展现 Python 语法之精妙的十个知识点,并附上详细的实例代码。如能在实战…

owl java_使用 OWL API 推理本体

我使用 OWL API 4.1.3 来加载我的本体并不大。由于我需要使用推断信息,我还使用 Hermit 1.3.8.413 库进行推理。以下代码显示了我是如何完成它的。public class ReasonRDF {public static void main(String[] args) throws OWLOntologyCreationException, OWLOntolo…

探索NTFS

探索NTFS WebCrazy(tsu00263.net) NTFS是Windows NT引入的新型文件系统,它具有许多新特性。本文旨在探索NTFS的底层结构,所叙述的也仅是文件在NTFS卷上的分布。NTFS中,卷中所有存放的数据均在一个叫$MFT的文件中&#xf…

python上位机串口发送数据给51单片机_请问单片机串口如何接收上位机不断发送的数据帧并将该帧的有效数据提取出来?...

2018-8-29 11:16我编写的主程序中LED无法点亮,硬件电路核查过没问题,void Data_anlysize()函数也没问题,Data_ok能收到,不清楚问题在哪? #include "reg52.h" //此文件中定义了单片机…

java 生成序列化id_IDEA自动生成序列化ID

idea是十分智能的Java集成开发环境而我们在用实体类继承 java.io.Serializable后,需要设置序列化ID。java的序列化机制是通过在运行时判断类的serialVersionUID来验证版本一致性的。在进行反序列化时,JVM会把传来的字节流中的serialVersionUID与本地实体…