Xtradb+Haproxy高可用数据库集群(四)集群zabbix监控篇

本文涉及的产品
云数据库 RDS MySQL Serverless,0.5-2RCU 50GB
简介: xtradb cluster集群zabbix监控监控指标官网参考地址:https://www.percona.com/doc/percona-xtradb-cluster/5.

xtradb cluster集群zabbix监控

监控指标

官网参考地址:

https://www.percona.com/doc/percona-xtradb-cluster/5.6/manual/monitoring.html

 

1、报警参数

每个集群节点状态:

wsrep_cluster_status != Primary

wsrep_connected != ON

wsrep_ready != ON

 

复制冲突过高

wsrep_local_cert_failures

wsrep_local_bf_aborts

 

流量控制信息

wsrep_flow_control_sent

wsrep_flow_control_recv

 

复制队列大小

wsrep_local_recv_queue

 

2、长期图表收集参数

队列大小

wsrep_local_recv_queue

 wsrep_local_send_queue

 

流量控制

wsrep_flow_control_sent

wsrep_flow_control_recv

 

本节点进出交换数量

wsrep_replicated

wsrep_received

 

进出交换的字节数

wsrep_replicated_bytes

wsrep_received_bytes

 

复制冲突

wsrep_local_cert_failures

wsrep_local_bf_aborts

 

 

Zabbix监控脚本

[root@yang-219 ~]# cat monit_xtradb.py

#!/usr/bin/python env
#coding=utf-8
#time: 2015-8-12
#function: monit xtradb cluster status
#author: yangr
 
import re,time,os
import commands
###variable   数据库及监控项变量定义区域
mysql_user='sstuser'
mysql_pass='s3cret'
mysql_host='localhost'
mysql_port='3306'
monit_message='''
wsrep_cluster_status
wsrep_connected
wsrep_ready
wsrep_local_cert_failures
wsrep_local_bf_aborts
wsrep_flow_control_sent
wsrep_flow_control_recv
wsrep_local_recv_queue
wsrep_local_recv_queue
wsrep_local_send_queue
wsrep_flow_control_sent
wsrep_flow_control_recv
wsrep_replicated
wsrep_received
wsrep_replicated_bytes
wsrep_received_bytes
wsrep_local_cert_failures
wsrep_local_bf_aborts
'''
monit_list=monit_message.split()
####zabbix 相关参数定义区域
zabbix_agent_file='/usr/local/zabbix/etc/zabbix_agentd.conf'
zabbix_server=commands.getstatusoutput('''grep '^ServerActive' %s|awk -F[=] '{print $2}' '''%zabbix_agent_file)[1].strip()
zabbix_hostname=commands.getstatusoutput('''grep '^Hostname' %s|awk -F[=] '{print $2}'  '''%zabbix_agent_file)[1].strip()
zabbix_server_port=10051
timestamp = int(time.time())
tmp_file_path='/tmp/xtradb_cluster_status.txt'
zabbix_hostname='zabbix_server'
zabbix_server='zabbix_server'
 
####end variable变量定义结束
 
#获取全局状态信息
status,global_status=commands.getstatusoutput(''' mysql -u%s -p%s -h%s -P%s -e 'show global status like "wsrep%%";' '''%(mysql_user,mysql_pass,mysql_host,mysql_port))
#print ''' mysql -u%s -p%s -h%s -P%s -e 'show global status like "wsrep%%";' '''%(mysql_user,mysql_pass,mysql_host,mysql_port)
#print global_status
 
global_status=global_status.split('\n')
#print global_status
#清空文件
with open(tmp_file_path,'wb') as f:
         f.write('')
#循环要监控的指标
for i in monit_list:
  #循环状态列表,取出指标当前的值
  for n in global_status:
         if "%s\t"%i in n:
                   value=re.sub(r'.*\t','',n).strip()
                   #print i,'value:',value
                   #把值写入临时文件
                   with open(tmp_file_path,'ab') as f:
                            f.write('%s %s %s %s\n'%(zabbix_hostname,i,timestamp,value))
        
#把临时文件通过zabbix_sender命令发送到server端
send_data_cmd='/usr/local/zabbix/bin/zabbix_sender -vv -z %s -p %s -T -i %s'%(zabbix_server,zabbix_server_port,tmp_file_path)
print '/usr/local/zabbix/bin/zabbix_sender -vv -z %s -p %s -T -i %s'%(zabbix_server,zabbix_server_port,tmp_file_path)
#print send_data_cmd
os.popen(send_data_cmd)


 

脚本里monit_message对应的监控项,需要在zabbix服务器上添加对应的监控项,然后把这个脚本放到crontab里每分钟执行一次即可。



相关实践学习
基于CentOS快速搭建LAMP环境
本教程介绍如何搭建LAMP环境,其中LAMP分别代表Linux、Apache、MySQL和PHP。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
7月前
|
存储 关系型数据库 MySQL
使用 MHA 和 HAProxy 部署高可用 MySQL
使用 MHA 和 HAProxy 部署高可用 MySQL
|
9月前
|
SQL 监控 关系型数据库
zabbix集群 搭建分布式监控
zabbix集群 搭建分布式监控
|
SQL 关系型数据库 MySQL
MySQL高可用之MHA集群(中)
一、MHA概述 1.1 什么是 MHA MHA(MasterHigh Availability)是一套优秀的MySQL高可用环境下故障切换和主从复制的软件。 MHA 的出现就是解决MySQL 单点故障的问题。
135 0
|
监控 关系型数据库 MySQL
MySQL高可用之MHA集群(下)
一、MHA概述 1.1 什么是 MHA MHA(MasterHigh Availability)是一套优秀的MySQL高可用环境下故障切换和主从复制的软件。 MHA 的出现就是解决MySQL 单点故障的问题。
192 0
|
关系型数据库 MySQL 网络安全
MySQL高可用之MHA集群(上)
一、MHA概述 1.1 什么是 MHA MHA(MasterHigh Availability)是一套优秀的MySQL高可用环境下故障切换和主从复制的软件。 MHA 的出现就是解决MySQL 单点故障的问题。
204 0
|
监控 安全 关系型数据库
|
运维 安全 数据库
【运维】MariaDB_galera_cluster集群
Galera Cluster 基于多主架构
3652 0
【运维】MariaDB_galera_cluster集群
|
关系型数据库 MySQL 网络安全

热门文章

最新文章

推荐镜像

更多