使用zabbix监控oracle这里我们使用开源的orabbix项目,软件下载地址:
https://nchc.dl.sourceforge.net/project/orabbix/orabbix-1.2.3.zip
附件也可以下载
部署方法
下载完成后放到zabbix server服务器(推荐),也可以放到其它服务器,只要这台服务器能与zabbix server和oracle server通讯就可以
cd /usr/local/src/ && mkdir orabbix && cdorabbix
unzip orabbix-1.2.3.zip
cp -r /usr/local/src/orabbix /usr/local/
cd /usr/local/orabbix/
chmod -R a+x /usr/local/orabbix/
创建服务,并配置自启动(先不要启动)
ln /usr/local/orabbix/init.d/orabbix /etc/init.d/orabbix
chmod 755 /etc/init.d/orabbix
chkconfig --add orabbix
chkconfig orabbix on
sed -i"[email protected]/opt/[email protected]/usr/local/[email protected]" /etc/init.d/orabbix
修改主配置文件
cd /usr/local/orabbix/conf/
cp config.props.sample config.props
vim config.props内容如下:
ZabbixServerList=ZabbixServer1,ZabbixServer2
#上面的名称必须与下面两行的开始一样,名称自己定义,如果有多台ZabbixServer需要监控数据就写多个,不需要就把ZabbixServer2删除即可,下面的两行对应的也要删除
ZabbixServer1.Address=10.8.1.7
#上面输入ZabbixServer服务器的访问IP地址
ZabbixServer1.Port=10051
#上面输入ZabbixServer服务器的访问IP对应的端口
ZabbixServer2.Address=IP_ADDRESS_OF_ZABBIX_SERVER
ZabbixServer2.Port=PORT_OF_ZABBIX_SERVER
OrabbixDaemon.PidFile=./logs/orabbix.pid
OrabbixDaemon.Sleep=300
OrabbixDaemon.MaxThreadNumber=100
DatabaseList=DB1,DB2
#上面指定要获取台主机的数据,这里的名称需要与真实ZabbixServer里面添加主机时指定的名称一样,并且下面的配置也要使用相同的名称开头
DatabaseList.MaxActive=10
DatabaseList.MaxWait=100
DatabaseList.MaxIdle=1
DB1.Url=jdbc:oracle:thin:@10.8.5.10:1521:aekdb
#10.8.5.10为oracle服务器的地址
#1521为访问oracle连接的端口
#aekdb为oracle真实的实例名
DB1.User=zabbix
#oracle数据库授权此服务器访问的用户名(为防止发生权限问题,可以给dba权限)
DB1.Password=aek56.zabbix
#授权此服务器访问的用户名所对应的密码
DB1.MaxActive=10
DB1.MaxWait=100
DB1.MaxIdle=1
DB1.QueryListFile=./conf/query.props
#监控的脚本路径,可自行定义,可以为不用的实例配置不同的监控脚本实现不同需求
DB2.Url=jdbc:oracle:thin:@server2.domain.example.com:<LISTENER_PORT>:DB2
DB2.User=zabbix
DB2.Password=zabbix_password
DB2.QueryListFile=./conf/query.props
DB2.MaxActive=10
DB2.MaxWait=100
DB2.MaxIdle=1
DB2.QueryListFile=./conf/query.props
启动服务
service orabbix start
tail -f /usr/local/orabbix/logs/orabbix.log #查看日志有没有报错
正常启动成功过程
如果有警告或者错误信息,如下图所示
根据上面的警告或错误信息的关键字,去所对应的监控脚本文件搜索相应对的关键字,查看脚本是如何写的,然后再根据问题去解决,一般情况如果oracle授权orabbix访问的权限为dba不会出问题,出问题一般是权限问题
解决完所有警告和错误后,把源码包目录下的zabbix模板上传(导入)到zabbix server,然后再添加到对应的主机上,这时候正常就可以接收到数据了
/usr/local/orabbix/template/Orabbix_export_full.xml