zabbix4.2监控系列–zabbix监控mysql\oracle表数据变化
zabbix监控mysql表数据
a.修改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是一样的
b. 创建scripts目录 #存放zabbix脚本
vim /etc/zabbix/alertscripts/task_status_monitor.sh
#!/bin/bash
HOSTNAME=“12.xxx.xxx.02” #需要查询的业务数据库的ip,不是zabbix_server的数据库
PORT=“3306” #连接数据库端口
USERNAME=“root” #连接数据库的用户名
PASSWORD=“root” #连接数据库的密码
DBNAME=“bases_data” #需要连接的库名
#统计总数
#select_sql="select count(*) from t_center_basic_park;"
select_sql="select park_city,count(*) from t_center_basic_park where park_city = '北京' group by park_city;"
mysql -h${HOSTNAME} -p${PASSWORD} -u${USERNAME} -P${PORT} -D ${DBNAME} -e "${select_sql}"
创建执行脚本,将该数据库结果输入到日志文件中,并启用定时调度crontab调度
vim /etc/zabbix/alertscripts/excute_monitor.sh
#/bin/bash
datetime=`date +"%F %T"`
#echo $datetime
result=`sh /etc/zabbix/alertscripts/task_status_monitor.sh 2>/dev/null| awk 'NR==2{print $1 $2}'`
echo $result
echo $datetime" "$result >> /root/logs/monitor/mysql_monitor.log
c.配置crontab调度任务,每天凌晨2点调度一次
crontab -i
0 0 2 1/1 * ? sh /etc/zabbix/alertscripts/excute_monitor.sh
d.配置日志mysql_monitor.log监控触发预警发送邮件
参考借鉴自 http://www.voidcn.com/article/p-abccmnlj-bxc.html
zabbix监控oracle表数据
参考 https://blog.51cto.com/983836259/1862894