32433221 发表于 2016-10-19 08:23:33

zabbix实时监控oracle数据变化

如题所示,可以使用zabbix实时监控数据库的数据变化情况,比如:最近1小时的订单数变化情况。这样我们就可以很方便地通过zabbix的web界面观察oracle等数据库中的一些数据变化情况,同时还可以添加监控在数据异常时通过邮箱或者短信报警具体实现步骤如下:(1)添加一个脚本用于执行SQL语句获取数据:
1
# vim /home/oracle/scripts/paymentcompletion.sh




其内容如下:

1
2
3
4
5
6
7
8
9
10
11
12
#!/bin/bash

VALUE=`sqlplus -S "/ as sysdba" << !
set heading off
set feedback off
set pagesize 0
set verify off
set echo off
select count ... from xxxx;
exit
!`
echo $VALUE




注:中间的select那一段添加自己的SQL语句
给脚本添加可执行权限:

1
# chmod a+x /home/oracle/scripts/paymentcompletion.sh




(2)添加脚本以oracle用户身份去执行上面脚本获取数据:

1
# vim /usr/local/zabbix/scripts/paycompletion12.sh




其内容如下:

1
2
3
#!/bin/bash

echo "/home/oracle/scripts/paymentcompletion.sh" | su - oracle




给脚本添加可执行权限:

1
# chmod a+x /usr/local/zabbix/scripts/paycompletion12.sh




(3)修改zabbix_agentd配置文件,添加一个“UserParameter”:


1
# vim /usr/local/zabbix/etc/zabbix_agentd.conf




添加如下内容:

1
UserParameter=paycompletion12,/usr/local/zabbix/scripts/paycompletion12.sh




修改:

1
AllowRoot=1





注:AllowRoot不设置成1的话zabbix执行/usr/local/zabbix/scripts/paycompletion12.sh脚本时会出现权限不够的问题,因此报错
(4)重启zabbix_agentd:

1
# service zabbix_agentd restart




(5)zabbix服务端测试获取数据:

1
# /usr/local/zabbix/bin/zabbix_get -s 192.168.1.227 -k paycompletion12




如果有数据输出的话,那么说明zabbix_server就已经可以获取到数据了


je00264 发表于 2016-11-1 07:05:40

谢谢分享
页: [1]
查看完整版本: zabbix实时监控oracle数据变化