zabbix实时监控mysql业务数据
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} -