作者:邓润钦

系统运维工程师,目前就职于互联网教育行业,负责维护并确保整个服务的高可用性,同时不断优化系统架构提升部署效率、优化资源利用率。

本文来源:原创投稿

*爱可生开源社区出品,原创内容未经授权不得随意使用,转载请联系小编并注明来源。


一、简介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 配置参数

  1. dble.status

    • dble_version 版本
    • dble_up 状态
    • front_conn 前端连接数
  2. dble.mysql_type 后端数据库的类型:RW
  3. dble.mysql_active 后端数据库的存活
  4. mysql_read_load 后端数据的reload数
  5. mysql_write_load 后端数据的write数
  6. 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相关推荐

  1. 实操:基于LNMP搭建zabbix监控

    文章目录 一:环境准备: 二:zabbix概述 2.1 查看官网 2.2 zabbix与nagios 2.3 zzbbix介绍 2.4 zabbix软件包 三:基于LNMP搭建zabbix 3.1 创 ...

  2. 分布式部署Zabbix监控平台

    Zabbix监控的优点 Zabbix是一个基于WEB界面的提供分布式系统监控的企业级的开源解决方案,Zabbix能监视各种网络参数,保证服务器系统的安全稳定的运行,并提供灵活的通知机制以让SA快速定位 ...

  3. Zabbix监控和分布式部署实施方案

    最近在研究Zabbix监控,由于机房分布在多个城市,因此采用zabbix proxy做为监控方案,在每 个节点部署zabbix proxy,由zabbix proxy收集agentd数据,然后将采集到 ...

  4. Zabbix+分布式数据库TiDB实现分布式数据库监控

    Zabbix+分布式数据库TiDB实现分布式数据库监控 一.Tidb的简介 1.什么是TiDB 2.TiDB 整体架构 2.主要模块简介 1) TiDB Server 2) PD Server 3) ...

  5. 企业运维实战--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 ...

  6. 运维实操——zabbix监控结合tidb分布式数据库

    zabbix监控结合tidb分布式数据库 前言 1.tidb介绍 2.Tidb+Zabbix的简单部署 前言 本文的前提是,zabbix已经和mysql数据库配置好,现在想把mysql替换为分布式数据 ...

  7. 视频教程-Zabbix分布式企业级监控实战视频课程(完整版)-Linux

    Zabbix分布式企业级监控实战视频课程(完整版) 京东商城运维架构师,京峰Linux云计算教学总监,担任国内多家知名社区运维专家网站Linux版主,专注Linux自动化运维,熟练LVS.Nginx, ...

  8. 分布式监控系统Zabbix-3.0.3-完整安装记录(4)-解决zabbix监控图中出现中文乱码问题...

    之前部署了Zabbix-3.0.3监控系统,在安装数据库时已经将zabbix库设置了utf-8字符. 首先确定zabbix开启了中文支持功能: 登录到zabbix服务器的数据目录下(前面部署的zabb ...

  9. linux监控平台介绍、zabbix监控介绍、安装zabbix

    linux监控平台介绍 常见开源监控软件 cacti.nagios.zabbix.smokeping.open-falcon 等等. nagios和zabbix流行度很高. cacti.smokepi ...

  10. Linux监控平台介绍、zabbix监控介绍、安装zabbix、忘记Admin密码如何做

    Linux监控平台介绍 常见开源监控软件 cacti.nagios.zabbix.smokeping.open-falcon等等. cacti.smokeping偏向于基础监控,成图漂亮. cacti ...

最新文章

  1. python中文读音ndarray-Python Numpy 控制台完全输出ndarray的实现
  2. 第十一章 机器学习系统设计-机器学习老师板书-斯坦福吴恩达教授
  3. Linux部署Node.js应用
  4. 显式锁select for update 用法
  5. SPOJ Finding Fractions
  6. 判断当前所使用python的版本和来源
  7. HDU 3664 Permutation Counting(DP)
  8. 写作14个月,审稿花10年:这篇论文解决了数学物理界的大问题
  9. 安全模式下修复电脑故障
  10. 3 PP配置-一般设置-检查计量单位
  11. python中类的属性一般来说_python中实例属性和类属性之间的关系
  12. 以太坊geth节点各种报错(求助)
  13. 决策树CART算法讲解
  14. Menu控件在IE8中子菜单不能正常显示的解决方案(转)
  15. inceptionv 1-4
  16. SoberGGG对针式PKM的初次测评
  17. Excel导入Sql Server出现Null的解决方法
  18. java中 移位运算符_java中的移位运算符心得总结
  19. canvas实现虚线带箭头效果
  20. 开发一款系统软件大概需要多少钱呢

热门文章

  1. 多元时间序列预测 —— 向量自回归(VAR)
  2. 各种类型文件头特征码
  3. Few Shot Vid2Vid 论文心得
  4. 什么是HTML5的媒体查询功能
  5. 几个系统级崩溃问题和h5加载页面崩溃问题及解决方案
  6. 优化设计和计算机辅助,湿式空冷器优化设计和计算机辅助计算
  7. html上下两个箭头符号怎么打出来,往返双箭头符号怎么打
  8. python列表的操作
  9. 怎样给div加css,div加css教程
  10. 神经网络和深度学习(一)——初识神经网络