如题所示,可以使用zabbix实时监控数据库的数据变化情况,比如:最近1小时的订单数变化情况。这样我们就可以很方便地通过zabbix的web界面观察oracle等数据库中的一些数据变化情况,同时还可以添加监控在数据异常时通过邮箱或者短信报警
具体实现步骤如下:
(1)添加一个脚本用于执行SQL语句获取数据:
1
|
[root@mpdb01 scripts]
# 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
|
[root@mpdb01 scripts]
# chmod a+x /home/oracle/scripts/paymentcompletion.sh
|
(2)添加脚本以oracle用户身份去执行上面脚本获取数据:
1
|
[root@mpdb01 scripts]
# vim /usr/local/zabbix/scripts/paycompletion12.sh
|
其内容如下:
1
2
3
|
#!/bin/bash
echo
"/home/oracle/scripts/paymentcompletion.sh"
|
su
- oracle
|
给脚本添加可执行权限:
1
|
[root@mpdb01 scripts]
# chmod a+x /usr/local/zabbix/scripts/paycompletion12.sh
|
(3)修改zabbix_agentd配置文件,添加一个“UserParameter”:
1
|
[root@prx01 scripts]
# 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
|
[root@prx01 scripts]
# service zabbix_agentd restart
|
(5)zabbix服务端测试获取数据:
1
|
[root@nmp01 ~]
# /usr/local/zabbix/bin/zabbix_get -s 192.168.1.227 -k paycompletion12
|
如果有数据输出的话,那么说明zabbix_server就已经可以获取到数据了
接下来是zabbix的web界面的配置,添加新模板、添加监控项、添加图形等,关于这些配置可以参考我以前写过的这篇文章:https://www.zifangsky.cn/582.html
详细思路在那篇文章中说过了,因此这里就不再重复叙述了,到此结束
本文转自 pangfc 51CTO博客,原文链接:http://blog.51cto.com/983836259/1862894,如需转载请自行联系原作者