分布式 | zabbix 监控 dble
作者:邓润钦
系统运维工程师,目前就职于互联网教育行业,负责维护并确保整个服务的高可用性,同时不断优化系统架构提升部署效率、优化资源利用率。
本文来源:原创投稿
*爱可生开源社区出品,原创内容未经授权不得随意使用,转载请联系小编并注明来源。
一、简介DBLE
是企业级开源分布式中间件,本文通过 zabbix 监控 dble 的运行状态等参数。官方网站:https://opensource.actionsky.com/
二、环境配置
1、主机信息
主机名称 | roles | IP地址 |
---|---|---|
dble | dble zabbix-agentd | 172.22.0.58 |
mysql-001 | mysql-master | 172.22.0.7 |
mysql-002 | msyql-slave | 172.22.0.52 |
2、软件信息
操作系统 | centos7.5 |
---|---|
dble | actiontech-dble-2.19.11.0 |
mysql | msyql5.7.26 |
zabbix-agent | 3.0 |
三、环境搭建
1、搭建 mysql 主从
参考:https://www.cnblogs.com/zyxnhr/p/11141234.html
2、搭建 dble
参考:https://www.jianshu.com/p/cd5911058c66 或者官网配置读写读写分离
3、搭建 zabbix 监控
参考:https://www.zabbix.com/
四、zabbix 脚本
1、zabbix dble 配置参数
- dble.status
- dble_version 版本
- dble_up 状态
- front_conn 前端连接数
- dble.mysql_type 后端数据库的类型:RW
- dble.mysql_active 后端数据库的存活
- mysql_read_load 后端数据的reload数
- mysql_write_load 后端数据的write数
- mysql_execute 后端数据库的execute数
2、zabbix 的 conf 配置
[root@vm-11c-02gt4 xm_external]# cat zbx_xm_external_dble.conf
UserParameter=hfy.xm_external.dble.status[*],sh /data/sh/zabbix_scripts/xm_external/dble/xm_external_dble.sh $1
UserParameter=hfy.xm_external.dble.datasource,sh /data/sh/zabbix_scripts/xm_external/dble/xm_external_dble_datasource.sh data_source
UserParameter=hfy.xm_external.dble.mysql_type[*],sh /data/sh/zabbix_scripts/xm_external/dble/xm_external_dble_datasource.sh mysql_type $1
UserParameter=hfy.xm_external.dble.mysql_active[*],sh /data/sh/zabbix_scripts/xm_external/dble/xm_external_dble_datasource.sh mysql_active $1
UserParameter=hfy.xm_external.dble.mysql_read_load[*],sh /data/sh/zabbix_scripts/xm_external/dble/xm_external_dble_datasource.sh mysql_read_load $1
UserParameter=hfy.xm_external.dble.mysql_write_load[*],sh /data/sh/zabbix_scripts/xm_external/dble/xm_external_dble_datasource.sh mysql_write_load $1
UserParameter=hfy.xm_external.dble.mysql_execute[*],sh /data/sh/zabbix_scripts/xm_external/dble/xm_external_dble_datasource.sh mysql_execute $1
3、zabbix 的脚本配置
[root@vm-11c-02gt4 dble]# pwd
/data/sh/zabbix_scripts/xm_external/dble
[root@vm-11c-02gt4 dble]# ll
total 8
-rwxr-xr-x 1 zabbix zabbix 2027 Nov 1 18:47 xm_external_dble_datasource.sh
-rwxr-xr-x 1 zabbix zabbix 765 Nov 1 18:48 xm_external_dble.sh
[root@vm-11c-02gt4 dble]# cat xm_external_dble.sh $1
#!/bin/bash
#说明:通过dble的管理地址,将dble的基础数据采集到
#需要本地有mysql命令 或者运行 xm_external_dble_datasource.sh 的program_exists()里面的命令DBLE_USER='man1'
DBLE_PASS='654321'
DBLE_HOST='127.0.0.1'
DBLE_PORT='9066'#连接命令
dble_conn="mysql -P${DBLE_PORT} -h${DBLE_HOST} -u${DBLE_USER} -p${DBLE_PASS}"case $1 indble_version) #dble版本result=`${dble_conn} 2>/dev/null -BNe "show @@version" |grep dble|awk -F - '{print $3}'`echo $result;;dble_up) #dble状态${dble_conn} 2>/dev/null -BNe "show @@version"|echo $?;;front_conn) #dble前端的连接数result=`${dble_conn} 2>/dev/null -BNe "show @@connection" |grep 8066 | wc -l`echo $result;;
esac
[root@vm-11c-02gt4 dble]# cat xm_external_dble_datasource.sh
#!/bin/bash
#说明:通过dble的管理地址,将dble的基础数据采集到
#需要本地有mysql命令 或者运行 xm_external_dble_datasource.sh 的program_exists()里面的命令DBLE_USER='man1'
DBLE_PASS='654321'
DBLE_HOST='127.0.0.1'
DBLE_PORT='9066'program_exists() {mysql_command=`command -v mysql`# fail on non-zero return valueif [ -z ${mysql_command} ]; thenrpm -ivh https://repo.mysql.com//mysql57-community-release-el7-11.noarch.rpmyum -y install mysql-community-client.x86_64fi
}#连接命令
dble_conn="mysql -P${DBLE_PORT} -h${DBLE_HOST} -u${DBLE_USER} -p${DBLE_PASS}"dble_datasouce(){${dble_conn} 2>/dev/null -NBe 'show @@datasource' >/tmp/dble_datasouce.txtarray_ip=($(cat /tmp/dble_datasouce.txt |awk '{print $3}'))length=${#array_ip[@]}printf "{\n"printf '\t'"\"data\":["for ((i=0;i<$length;i++))doprintf '\n\t\t{'printf "\"{#HOSTIP}\":\"${array_ip[$i]}\"}"if [ $i -lt $[$length-1] ];thenprintf ','fidoneprintf "\n\t]\n"printf "}\n"
}dble_mysql_type(){cat /tmp/dble_datasouce.txt |grep $1|awk '{print $5}'
}dble_mysql_active(){result=`cat /tmp/dble_datasouce.txt |grep $1|awk '{print $6}'`if [[ $result != 0 ]];thenecho "up"elseecho "down"fi
}dble_mysql_execute(){result=`cat /tmp/dble_datasouce.txt |grep $1|awk '{print $9}'`echo $result
}dble_mysql_read(){result=`cat /tmp/dble_datasouce.txt |grep $1|awk '{print $10}'`echo $result
}dble_mysql_write(){result=`cat /tmp/dble_datasouce.txt |grep $1|awk '{print $11}'`echo $result
}case $1 indata_source)dble_datasouce;;mysql_type)dble_mysql_type $2;;mysql_active)dble_mysql_active $2;;mysql_read_load)dble_mysql_read $2;;mysql_write_load)dble_mysql_write $2;;mysql_execute)dble_mysql_execute $2;;
esac
五、配置 zabbix 模板
1、添加应用集和监控项
2、添加自动发现
3、添加监控项原型
六、主机添加模板,测试
查看后端数据库类型
分布式 | zabbix 监控 dble相关推荐
- 实操:基于LNMP搭建zabbix监控
文章目录 一:环境准备: 二:zabbix概述 2.1 查看官网 2.2 zabbix与nagios 2.3 zzbbix介绍 2.4 zabbix软件包 三:基于LNMP搭建zabbix 3.1 创 ...
- 分布式部署Zabbix监控平台
Zabbix监控的优点 Zabbix是一个基于WEB界面的提供分布式系统监控的企业级的开源解决方案,Zabbix能监视各种网络参数,保证服务器系统的安全稳定的运行,并提供灵活的通知机制以让SA快速定位 ...
- Zabbix监控和分布式部署实施方案
最近在研究Zabbix监控,由于机房分布在多个城市,因此采用zabbix proxy做为监控方案,在每 个节点部署zabbix proxy,由zabbix proxy收集agentd数据,然后将采集到 ...
- Zabbix+分布式数据库TiDB实现分布式数据库监控
Zabbix+分布式数据库TiDB实现分布式数据库监控 一.Tidb的简介 1.什么是TiDB 2.TiDB 整体架构 2.主要模块简介 1) TiDB Server 2) PD Server 3) ...
- 企业运维实战--Zabbix监控之结合nginx、mysql、java应用、proxy分布式、睿象云报警、API批量操作、替换mysql为tidb数据库
一.zabbix server的nginx监控 nginx部署 在server5上进行: tar zxf nginx-1.20.1.tar.gz cd nginx-1.20.1 yum install ...
- 运维实操——zabbix监控结合tidb分布式数据库
zabbix监控结合tidb分布式数据库 前言 1.tidb介绍 2.Tidb+Zabbix的简单部署 前言 本文的前提是,zabbix已经和mysql数据库配置好,现在想把mysql替换为分布式数据 ...
- 视频教程-Zabbix分布式企业级监控实战视频课程(完整版)-Linux
Zabbix分布式企业级监控实战视频课程(完整版) 京东商城运维架构师,京峰Linux云计算教学总监,担任国内多家知名社区运维专家网站Linux版主,专注Linux自动化运维,熟练LVS.Nginx, ...
- 分布式监控系统Zabbix-3.0.3-完整安装记录(4)-解决zabbix监控图中出现中文乱码问题...
之前部署了Zabbix-3.0.3监控系统,在安装数据库时已经将zabbix库设置了utf-8字符. 首先确定zabbix开启了中文支持功能: 登录到zabbix服务器的数据目录下(前面部署的zabb ...
- linux监控平台介绍、zabbix监控介绍、安装zabbix
linux监控平台介绍 常见开源监控软件 cacti.nagios.zabbix.smokeping.open-falcon 等等. nagios和zabbix流行度很高. cacti.smokepi ...
- Linux监控平台介绍、zabbix监控介绍、安装zabbix、忘记Admin密码如何做
Linux监控平台介绍 常见开源监控软件 cacti.nagios.zabbix.smokeping.open-falcon等等. cacti.smokeping偏向于基础监控,成图漂亮. cacti ...
最新文章
- python中文读音ndarray-Python Numpy 控制台完全输出ndarray的实现
- 第十一章 机器学习系统设计-机器学习老师板书-斯坦福吴恩达教授
- Linux部署Node.js应用
- 显式锁select for update 用法
- SPOJ Finding Fractions
- 判断当前所使用python的版本和来源
- HDU 3664 Permutation Counting(DP)
- 写作14个月,审稿花10年:这篇论文解决了数学物理界的大问题
- 安全模式下修复电脑故障
- 3 PP配置-一般设置-检查计量单位
- python中类的属性一般来说_python中实例属性和类属性之间的关系
- 以太坊geth节点各种报错(求助)
- 决策树CART算法讲解
- Menu控件在IE8中子菜单不能正常显示的解决方案(转)
- inceptionv 1-4
- SoberGGG对针式PKM的初次测评
- Excel导入Sql Server出现Null的解决方法
- java中 移位运算符_java中的移位运算符心得总结
- canvas实现虚线带箭头效果
- 开发一款系统软件大概需要多少钱呢