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

本文涉及的产品
云数据库 RDS MySQL Serverless,0.5-2RCU 50GB
云数据库 RDS MySQL Serverless,价值2615元额度,1个月
简介:

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

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
#!/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  in  monit_list:
   #循环状态列表,取出指标当前的值
   for  in  global_status:
          if  "%s\t" % 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里每分钟执行一次即可。



     本文转自杨云1028 51CTO博客,原文链接:http://blog.51cto.com/yangrong/1684141,如需转载请自行联系原作者




相关实践学习
基于CentOS快速搭建LAMP环境
本教程介绍如何搭建LAMP环境,其中LAMP分别代表Linux、Apache、MySQL和PHP。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
3天前
|
存储 负载均衡 监控
关系型数据库搭建高可用存储集群
关系型数据库搭建高可用存储集群
18 4
|
12天前
|
监控 关系型数据库 MySQL
初体验:数据库监控、管理和可观测性工具(PMM)
Percona Monitoring and Management (PMM) 是一个开源工具,用于监控MySQL、PostgreSQL和MongoDB的性能。它提供实时监控、数据可视化、故障排除和管理功能,支持本地和云端数据库。要安装PMM,首先需安装Docker,然后通过提供的脚本部署PMM服务器和客户端。在MySQL服务器上创建PMM用户后,使用`pmm-admin`命令添加数据库。访问PMM的HTTPS网址(默认用户名和密码为admin)进行配置。本文还包含了安装Docker和PMM的命令行步骤。
初体验:数据库监控、管理和可观测性工具(PMM)
|
3月前
|
存储 监控 安全
内网屏幕监控软件的数据存储与管理:使用SQLite数据库保存监控记录和配置信息
在当今数字化时代,安全和监控在企业和组织中变得至关重要。内网屏幕监控软件作为一种关键工具,帮助组织监视员工的活动并确保信息安全。这种软件不仅需要高效地记录和管理监控数据,还需要能够方便地进行配置和调整。本文将讨论如何使用SQLite数据库来保存监控记录和配置信息,并介绍如何通过自动化机制将监控到的数据提交到指定网站。
185 2
|
1天前
|
存储 监控 关系型数据库
关系型数据库设计集群架构节点规划
在实际项目中,可能还需要考虑其他因素,如安全性、合规性、成本等。因此,在进行关系型数据库设计集群架构节点规划时,建议与经验丰富的数据库管理员和架构师合作,以确保项目的成功实施和稳定运行。
9 4
|
1天前
|
存储 负载均衡 关系型数据库
关系型数据库设计集群架构架构选择
还可以考虑使用现有的数据库管理系统(DBMS)提供的集群解决方案,如MySQL的InnoDB Cluster、PostgreSQL的Streaming Replication和Patroni等。这些解决方案已经经过了广泛测试和验证,可以大大降低集群架构设计和实现的难度。
6 1
|
1天前
|
分布式计算 负载均衡 关系型数据库
关系型数据库设计集群架构需求分析
关系型数据库设计集群架构的需求分析是一个综合考虑业务需求、性能、可用性、可扩展性、数据一致性、安全性、成本效益和技术选型等多个方面的过程。通过深入分析和评估,可以设计出满足业务需求且高效可靠的数据库集群架构。
9 3
|
2天前
|
缓存 监控 负载均衡
关系型数据库设计集群架构
关系型数据库设计集群架构
11 3
|
12天前
|
运维 Prometheus 监控
矢量数据库系统监控与运维:确保稳定运行的关键要素
【4月更文挑战第30天】本文探讨了确保矢量数据库系统稳定运行的监控与运维关键要素。监控方面,关注响应时间、吞吐量、资源利用率和错误率等指标,使用Prometheus等工具实时收集分析,并有效管理日志。运维上,强调备份恢复、性能调优、安全管理和自动化运维。关键成功因素包括建立全面监控体系、科学的运维策略、提升运维人员技能和团队协作。通过这些措施,可保障矢量数据库系统的稳定运行,支持业务发展。
|
27天前
|
监控 安全 数据库
数据库审计和监控
【4月更文挑战第11天】数据库审计与监控是保障数据库安全和稳定的关键。审计关注安全事件,实时记录和分析用户行为,用于合规报告、事故追踪及提升数据安全。监控则实时检测数据库性能、安全和可靠性,及时发现并解决潜在问题,防止崩溃和数据丢失,确保高可用性和稳定性。两者协同工作,强化数据库管理。
32 2
|
1月前
|
SQL 监控 数据库
数据库管理与电脑监控软件:SQL代码优化与实践
本文探讨了如何优化数据库管理和使用电脑监控软件以提升效率。通过SQL代码优化,如使用索引和调整查询语句,能有效提高数据库性能。同时,合理设计数据库结构,如数据表划分和规范化,也能增强管理效率。此外,利用Python脚本自动化收集系统性能数据,并实时提交至网站,可实现对电脑监控的实时性和有效性。这些方法能提升信息系统稳定性和可靠性,满足用户需求。
89 0

推荐镜像

更多