1. 安装zabbix agent
下载zabbix:过往的软件包都有:https://sourceforge.mirrorservice.org/z/za/zabbix/ZABBIX%20Latest%20Stable/ 2. 安装agent
tar xf zabbix-3.4.13.tar.gz
cd zabbix-3.4.13
./configure --prefix=/usr/local/zabbix-3.2.0--with-net-snmp --enable-agent
make
make install 3. 修改zabbix配置文件,开启自定义key
Server=zabbix_server端ip
ServerActive=zabbix_server端ip
Hostname=zabbix_agent端主机名和ip #要和server段web页面创建主机时的主机名一致
UnsafeUserParameters=1 #1为开启自定义key
Include=/etc/zabbix/zabbix_agentd.d/*.conf #在zabbix_agentd.d目录下以.conf结尾的配置文件和nginx是一样的 4. 创建scripts目录 #存放zabbix脚本
#!/bin/bash
HOSTNAME="数据库ip" #需要查询的业务数据库的ip,不是zabbix_server的数据库
PORT="3308" #连接数据库端口
USERNAME="zabbix" #连接数据库的用户名
PASSWORD="zabbix" #连接数据库的密码
DBNAME="数据库名" #需要连接的库名 #统计前一天交易金额
select_sql="select sum(k.order_amount) from rp_trade_payment_order k where k.status='SUCCESS' and date_format(k.create_time,'%Y-%m-%d')= date_format(DATE_SUB(now(),INTERVAL 1 day),'%Y-%m-%d');"
mysql -h${HOSTNAME} -p${PASSWORD} -u${USERNAME} -P${PORT} -D ${DBNAME} -e "${select_sql}" #统计历史交易金额
select_his_sql="select sum(k.order_amount) from rp_trade_payment_order k where k.status='SUCCESS' and k.create_time<=DATE_FORMAT(CURDATE(),'%Y-%m-%d %H:%i:%s') and k.create_time>str_to_date('2018-08-05 23:59:59', '%Y-%m-%d %H:%i:%s') and k.id!='f42de3c23807440084d965787c79b885';"
mysql -h${HOSTNAME} -p${PASSWORD} -u${USERNAME} -P${PORT} -D ${DBNAME} -e "${select_his_sql}" #统计前一天交易笔数
select_num="select count(*) from rp_trade_payment_order k where k.status='SUCCESS' and date_format(k.create_time,'%Y-%m-%d')= date_format(DATE_SUB(now(),INTERVAL 1 day),'%Y-%m-%d');"
mysql -h${HOSTNAME} -p${PASSWORD} -u${USERNAME} -P${PORT} -D ${DBNAME} -e "${select_num}" #统计历史交易笔数
select_num_his="select count(*) from rp_trade_payment_order k where k.status='SUCCESS' and k.create_time<=DATE_FORMAT(CURDATE(),'%Y-%m-%d %H:%i:%s');"
mysql -h${HOSTNAME} -p${PASSWORD} -u${USERNAME} -P${PORT} -D ${DBNAME} -e "${select_num_his}" #线下前一天交易金额
Uline_amount_sql="select sum(k.order_amount) from rp_trade_payment_order k where k.status='SUCCESS' and k.pay_type ='1' and date_format(k.create_time,'%Y-%m-%d')= date_format(DATE_SUB(now(),INTERVAL 1 day),'%Y-%m-%d');"
mysql -h${HOSTNAME} -p${PASSWORD} -u${USERNAME} -P${PORT} -D ${DBNAME} -e "${Uline_amount_sql}" #线下历史交易金额
Uline_his_amount_sql="select sum(k.order_amount) from rp_trade_payment_order k where k.status='SUCCESS' and k.pay_type ='1' and k.create_time<=DATE_FORMAT(CURDATE(),'%Y-%m-%d %H:%i:%s') and k.create_time>str_to_date('2018-08-05 23:59:59', '%Y-%m-%d %H:%i:%s') and k.id!='f42de3c23807440084d965787c79b885';"
mysql -h${HOSTNAME} -p${PASSWORD} -u${USERNAME} -P${PORT} -D ${DBNAME} -e "${Uline_his_amount_sql}" #线下前一天交易笔数
Uline_num="select count(*) from rp_trade_payment_order k where k.status='SUCCESS' and k.pay_type ='1' and date_format(k.create_time,'%Y-%m-%d')= date_format(DATE_SUB(now(),INTERVAL 1 day),'%Y-%m-%d');"
mysql -h${HOSTNAME} -p${PASSWORD} -u${USERNAME} -P${PORT} -D ${DBNAME} -e "${Uline_num}" #线下历史交易笔数
Uline_num_his="select count(*) from rp_trade_payment_order k where k.status='SUCCESS' and k.pay_type ='1' and k.create_time<=DATE_FORMAT(CURDATE(),'%Y-%m-%d %H:%i:%s');"
mysql -h${HOSTNAME} -p${PASSWORD} -u${USERNAME} -P${PORT} -D ${DBNAME} -e "${Uline_num_his}" #线上交易金额
Oline_amount="select sum(k.order_amount) from rp_trade_payment_order k where k.status='SUCCESS' and k.pay_type ='2' and date_format(k.create_time,'%Y-%m-%d')= date_format(DATE_SUB(now(),INTERVAL 1 day),'%Y-%m-%d');"
mysql -h${HOSTNAME} -p${PASSWORD} -u${USERNAME} -P${PORT} -D ${DBNAME} -e "${Oline_amount}" #线上历史交易金额
Oline_amount_his="select sum(k.order_amount) from rp_trade_payment_order k where k.status='SUCCESS' and k.pay_type ='2' and k.create_time<=DATE_FORMAT(CURDATE(),'%Y-%m-%d %H:%i:%s');"
mysql -h${HOSTNAME} -p${PASSWORD} -u${USERNAME} -P${PORT} -D ${DBNAME} -e "${Oline_amount_his}" #线上交易笔数
Oline_num="select count(*) from rp_trade_payment_order k where k.status='SUCCESS' and k.pay_type ='2' and date_format(k.create_time,'%Y-%m-%d')= date_format(DATE_SUB(now(),INTERVAL 1 day),'%Y-%m-%d');"
mysql -h${HOSTNAME} -p${PASSWORD} -u${USERNAME} -P${PORT} -D ${DBNAME} -e "${Oline_num}" #线上历史交易笔数
Oline_num_his="select count(*) from rp_trade_payment_order k where k.status='SUCCESS' and k.pay_type ='2' and k.create_time<=DATE_FORMAT(CURDATE(),'%Y-%m-%d %H:%i:%s');"

5. 创建配置文件  #自定义key名,获取脚本执行的结果
#统计前一天交易金额,UserParameter=后面是key名, ","后面命令获取到的值为key值,2>/dev/null输出至回收站,awk 'NR==2{print $1}'抓取需要的值作为key值

UserParameter=bs.9lipay.daily.transaction.amout, /etc/zabbix/scripts/business_monitor.sh 2>/dev/null| awk 'NR==2{print $1}' #统计历史交易金额
UserParameter=bs.9lipay.his.transaction.amout, /etc/zabbix/scripts/business_monitor.sh 2>/dev/null| awk 'NR==4{print $1}' #统计前一天交易笔数
UserParameter=bs.9lipay.transaction.num, /etc/zabbix/scripts/business_monitor.sh 2>/dev/null| awk 'NR==6{print $1}' #统计历史交易笔数
UserParameter=bs.9lipay.his.transaction.num, /etc/zabbix/scripts/business_monitor.sh 2>/dev/null| awk 'NR==8{print $1}' #线下前一天交易金额
UserParameter=bs.9lipay.Uline.transaction.amout, /etc/zabbix/scripts/business_monitor.sh 2>/dev/null| awk 'NR==10{print $1}' #线下历史交易金额
UserParameter=bs.9lipay.Uline..his.transaction.amout, /etc/zabbix/scripts/business_monitor.sh 2>/dev/null| awk 'NR==12{print $1}' #线下前一天交易笔数
UserParameter=bs.9lipay.Uline.transaction.num, /etc/zabbix/scripts/business_monitor.sh 2>/dev/null| awk 'NR==14{print $1}' #线下历史交易笔数
UserParameter=bs.9lipay.Uline.his.transaction.num, /etc/zabbix/scripts/business_monitor.sh 2>/dev/null| awk 'NR==16{print $1}' #线上交易金额
UserParameter=bs.9lipay.Oline.transaction.amount, /etc/zabbix/scripts/business_monitor.sh 2>/dev/null| awk 'NR==18{print $1}' #线上历史交易金额
UserParameter=bs.9lipay.Oline.his.transaction.amount, /etc/zabbix/scripts/business_monitor.sh 2>/dev/null| awk 'NR==20{print $1}' #线上交易笔数
UserParameter=bs.9lipay.Oline.transaction.num, /etc/zabbix/scripts/business_monitor.sh 2>/dev/null| awk 'NR==22{print $1}' #线上历史交易笔数
UserParameter=bs.9lipay.Oline.his.transaction.num, /etc/zabbix/scripts/business_monitor.sh 2>/dev/null| awk 'NR==24{print $1}'
在zabbix_server端获取key值:zabbix_get -s zabbix_agent端ip -k 自定义的key值

6. 开始在zabbix_server web上配置自定义监控项
配置--->主机--->创建主机--->监控项--->创建监控项--->将自定义的key名填入键值

  

7. 将监控项创建好之后,创建图形

  

zabbix实时监控mysql业务数据的更多相关文章

  1. MySQL 之 MyTop实时监控MySQL

    CentOS下使用MyTop实时监控MySQL MyTop的项目页面为:http://jeremy.zawodny.com/mysql/mytop/ MyTop安装 安装依赖包  yum instal ...

  2. CentOS下使用MyTop实时监控MySQL

    CentOS下使用MyTop实时监控MySQL MyTop的项目页面为:http://jeremy.zawodny.com/mysql/mytop/ MyTop安装 $ yum -y install ...

  3. 带你了解zabbix如何监控mysql主从到报警触发

    本章博客我们一起来聊一聊如何监控mysql数据库主从状态? 思路梳理: 1)首先我们都知道,判断Mysql主从是否正常,是通过主从上面的SQL和IO线程都为yes状态判断(通过awk取值,grep过滤 ...

  4. zabbix之 zabbix模板监控mysql

    zabbix中默认有mysql的监控模板.默认已经在zabbix2.2及以上的版本中.模板名称:Template App MySQL.如果没有则要去zabbix官方下载 url:https://zab ...

  5. 5.Flink实时项目之业务数据准备

    1. 流程介绍 在上一篇文章中,我们已经把客户端的页面日志,启动日志,曝光日志分别发送到kafka对应的主题中.在本文中,我们将把业务数据也发送到对应的kafka主题中. 通过maxwell采集业务数 ...

  6. 蛙蛙推荐:如何实时监控MySql状态

    大多网站的性能瓶颈都会出在数据库上,所以想把Mysql监控起来,就搜索了下相关资料. 后来和同事讨论了下cacti和nagios有些老套和过时,graphite比较时尚,然后就搜了下相关的资料,最后搞 ...

  7. 实时监控MySql状态

    大多网站的性能瓶颈都会出在数据库上,所以想把Mysql监控起来,就搜索了下相关资料. 后来和同事讨论了下cacti和nagios有些老套和过时,graphite比较时尚,然后就搜了下相关的资料,最后搞 ...

  8. 权限问题导致zabbix无法监控mysql

    说说一个困扰自已两天的问题. 首先是用常规的方法安装上了mysql数据库.做了主从. 在监控从库的时候,发现所有的监控数据库的监控项都获取不到key值 . zabbix server端也不报错.获取到 ...

  9. zabbix脚本监控mysql

    Zabbix监控mysql 1.1 客户端配置 1.1.1 安装客户端包 yum -y install unixODBC rpm -ivh zabbix-agent--.el6.x86_64.rpm ...

随机推荐

  1. partOneJava学习卷土重来-----第一次测试题目介绍

    石家庄铁道大学2021年秋季   2020 级课堂测试试卷(一)(15分) 课程名称: JAVA语言程序设计  任课教师: 王建民        考试时间: 150 分钟 一.考试要求: 1.按照测试 ...

  2. 2021.12.07 P4291 [HAOI2008]排名系统(Treap)

    2021.12.07 P4291 [HAOI2008]排名系统(Treap) https://www.luogu.com.cn/problem/P4291 双倍经验: https://www.luog ...

  3. jmeter工具初探

    jmeter工具初探 一.jmeter工具介绍 1.一种免费的java开源工具,可以进行二次开发 2.运行环境:java运行环境,需要安装JDK,配置JAVAHOME 环境变量 3.下载jmeter: ...

  4. 记一次 PHP 省市县三级联动 数据库取值

    /** * Notes:省市县三级联动 * Created by depressiom * Date: 2022年4月14日 */ public function getCityData(){ //获 ...

  5. Oauth的学习以及开发自助上课签到脚本

    附上源码:                                 https://github.com/taka250/auto_checkin_skl_hdu 首先了解学习oauth的知识 ...

  6. MeteoInfo-Java解析与绘图教程(八)_java解析卫星FY-4A一级产品文件(HDF举例)

    MeteoInfo-Java解析与绘图教程(八)_java解析卫星一级产品文件(HDF举例) 最近解析卫星数据遇到了一级产品,它的解析方式与之前文章说的有些不同,特此补充一下 卫星的一级产品,里面是没 ...

  7. Win10搭建Jenkins部署Java项目(本机和远程Win10部署)

    目录 一.前言&背景 二.环境准备 三.插件安装 四.全局配置 Maven JDK Git Maven 五.新建项目并配置 新建项目 配置 1.Discard old builds 2.Thi ...

  8. C#/VB.NET 在Excel单元格中应用多种字体格式

    在Excel中,可对单元格中的字符串设置多种不同样式,通常只需要获取到单元格直接设置样式即可,该方法设置的样式会应用于该单元格中的所有字符.如果需要对单元格中某些字符设置样式,则可以参考本文中的方法. ...

  9. 鸭的NOI ONLINE杂刷

    好耶!洛谷账号橙了! 水题 [NOI Online #2 入门组] 未了 这就是一道贪心+二分查找,思路很好想 除法有精度问题,建议不使用除法 code [NOI Online #3 提高组] 水壶 ...

  10. Docker容器的安装和使用

    Docker容器的安装和使用 安装: curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun 或国内:curl -sSL ...