一 简介 今天咱们来聊聊MGR的监控
 二 监控 方面: 1 节点mysql进程监控
                       2 节点mysql复制进程的监控
                       3 节点是否为主的监控
                        4 节点延迟事务的监控
三 方法:

一 经过proxysql对MGR功能的支持,采用其中的sql就可以创建常用的监控表
               1 相关表:gr_member_routing_candidate_status
                    viable_candidate //节点的状态,当复制停止时此值会异常
                    read_only // 主节点时此值会为OFF
                    transactions_behind //可以理解为等待应用事务的延迟
                    transactions_to_cert//可以理解为等待通过验证的事务
     二 实现的一些原理
          1 SELECT Received_transaction_set FROM performance_schema.replication_connection_status WHERE Channel_name = 'group_replication_applier'//接收到的GTID   
             select @@global.GTID_EXECUTED;//执行的GTID
             接收到的-执行的 就是延迟了 也即是 transactions_behind
         2 SELECT (SELECT GROUP_CONCAT(variable_value) FROM
            performance_schema.global_variables WHERE variable_name IN ('read_only',
            'super_read_only')) != 'OFF,OFF'), 'YES', 'NO') as read_only
            是否为只读 也即是 read_only
        3 IF( MEMBER_STATE='ONLINE' AND ((SELECT COUNT(*) FROM
           performance_schema.replication_group_members WHERE MEMBER_STATE != 'ONLINE') >=
          ((SELECT COUNT(*) FROM performance_schema.replication_group_members)/2) = 0
           此为判断NODE是否正常 也即是viable_candidate
        4 select COUNT_TRANSACTIONS_IN_QUEUE from replication_group_member_stats
        此值为transactions_to_cert
四 总结:我们可以发现 proxysql此视图的编写时基于对performance_schema相关表的灵活组合查询运用的,我们即便不用proxysql,也可以根据此表进行有效的监控,相关创建sql可以在github上找到

五 自己写的 监控脚本

#!/bin/sh
function status()
{
result=`mysql -uroot -ptest -Ne "select $1 from sys.gr_member_routing_candidate_status"`
if [ "$result" == "YES" ];
then
status=0
map_status=1
statustxt="mgr RPE is running !"
elif [ "$result" == "NO" ];
then
status=2
map_status=1
statustxt="mgr RPE is DOWN!"

elif [ "$result" == 0 ];
then
status=0
map_status=1
statustxt=$1" value 0"

elif ["$result" > 0 ];
then
status=2
map_status=1
statustxt=$1" value "$result
else
echo "the value is vaild"
fi
echo "$status $1 $1=$status $statustxt"
}
result=`netstat -anlp|grep :3306|wc -l`
if [ "$result" == 1 ];
then
status viable_candidate
status transactions_behind
status transactions_to_cert
else
echo "mysql is down"
fi

mysql 架构~MGR监控手段的更多相关文章

  1. mysql 架构~mgr具体细节分析

    一 简介:今天咱们来聊聊mgr的具体实现细节 二 关于多点写入的锁冲突问题以及处理:   certify模块主要负责检查事务是否允许提交,是否与其它事务存在冲突,如两个事务可能修改同一行数据.在单机系 ...

  2. mysql 架构 ~ MGR 与PXC的对比

    一 简介 MGR和PXC的对比 二  WriteSet1 定义 是组件对于写节点应用事务生成binlog的再封装,用来验证其他节点的事务冲突 PXC构成key db_table_组件值data bin ...

  3. MySql(十八):MySql架构设计——高可用设计之 MySQL 监控

    前言: 一个经过高可用可扩展设计的 MySQL 数据库集群,如果没有一个足够精细足够强大的监控系统,同样可能会让之前在高可用设计方面所做的努力功亏一篑.一个系统,无论如何设计如何维护,都无法完全避免出 ...

  4. mysql 架构篇系列 3 复制运行状态监控与选项参数说明

    一. 概述 在上一篇中,搭建了一主一从的复制架构,这篇通过一些诊断方法来了解复制的运行状态和一些选项参数说明.上次mysql主从服务关机,今天在打开mysql服务,出现了错误信息. 1.首先 启动主从 ...

  5. mysql 架构 ~异地容灾

    一 简介 我们来探讨下多机房下的mysql架构二 目的:    首先要清楚你的目的     1 实现异地机房的容灾备份      2 实现异地机房的双活 三 叙说     1 实现异地机房的容灾备份  ...

  6. ch2 MySQL 架构组成

    第 2 章 MySQL 架构组成 前言 麻雀虽小,五脏俱全.MySQL    虽然以简单著称,但其内部结构并不简单.本章从 MySQL 物理组成.逻辑组成,以及相关工具几个角度来介绍    MySQL ...

  7. 第 2 章 MySQL 架构组成

    麻雀虽小,五脏俱全.MySQL 虽然以简单著称,但其内部结构并不简单.本章从MySQL物理组成.逻辑组成,以及相关工具几个角度来介绍 MySQL 的整体架构组成,希望能够让读者对 MySQL 有一个更 ...

  8. 运维架构服务监控Open-Falcon

    一. 介绍 监控系统是整个运维环节,乃至整个产品生命周期中最重要的一环,事前及时预警发现故障,事后提供翔实的数据用于追查定位问题.监控系统作为一个成熟的运维产品,业界有很多开源的实现可供选择.当公司刚 ...

  9. mysql 的mgr集群

    mysql 的mgr集群 http://wubx.net/mgr%E7%9B%91%E6%8E%A7%E5%8F%8A%E4%BC%98%E5%8C%96%E7%82%B9/ MGR调优参数因为基本复 ...

随机推荐

  1. Ubuntu 16.04配置JDK

    此篇为http://www.cnblogs.com/EasonJim/p/7139275.html的分支页. 一.JRE和JDK JRE(Java Runtime Environment)是运行一个基 ...

  2. BZOJ2795&2890&3647[Poi2012]A Horrible Poem——hash

    题目描述 给出一个由小写英文字母组成的字符串S,再给出q个询问,要求回答S某个子串的最短循环节.如果字符串B是字符串A的循环节,那么A可以由B重复若干次得到. 输入 第一行一个正整数n (n<= ...

  3. codeforces 1B Spreadsheets

    In the popular spreadsheets systems (for example, in Excel) the following numeration of columns is u ...

  4. day30 __new__ 以及单例模式

    __new__ # __new__ # object.__new__() class A : def __init__(self): self.x = 1 print("init执行啦&qu ...

  5. cygwin jdk11u

    cygwin jdk11u 安装 Cygwin64 下载地址 https://cygwin.com/setup-x86_64.exe Cygwin 国内源    中科大镜像源 http://mirro ...

  6. 【CodeForces 624D/623B】Array GCD

    题 You are given array ai of length n. You may consecutively apply two operations to this array: remo ...

  7. 12 Zabbix Item类型之Zabbix JMX类型

    点击返回:自学Zabbix之路 12 Zabbix Item类型之Zabbix JMX类型 JMX 全称是Java Management Extensions,即Java管理扩展.Java程序会开放一 ...

  8. 【51NOD 1847】奇怪的数学题(莫比乌斯反演,杜教筛,min_25筛,第二类斯特林数)

    [51NOD 1847]奇怪的数学题(莫比乌斯反演,杜教筛,min_25筛,第二类斯特林数) 题面 51NOD \[\sum_{i=1}^n\sum_{j=1}^nsgcd(i,j)^k\] 其中\( ...

  9. 【BZOJ1998】[HNOI2010]物品调度(并查集,模拟)

    [BZOJ1998][HNOI2010]物品调度(并查集,模拟) 题面 BZOJ,为啥这题都是权限题啊? 洛谷 题解 先不管\(0\)位置是个空,把它也看成一个箱子.那么最终的答案显然和置换循环节的个 ...

  10. cf1000D Yet Another Problem On a Subsequence (dp)

    设f[i]是以i为开头的好子序列的个数 那么有$f[i]=\sum\limits_{j=i+a[i]+1}^{N+1}{f[j]*C_{j-i-1}^{a[i]}}$(设f[N+1]=1)就是以i为开 ...