Orabbix 是一个用来监控 Oracle 数据库实例的 Zabbix 插件。(插件安装在zabbix-server端)
zabbix-server上操作
Orabbix是通过JDBC去连接oracle数据库,然后过滤想要的数据,所以需要jdk环境
我测试过jdk1.7和1.8都可以,直接yum安装,或者下载rpm包,rpm -ivh安装,都可以
这里,我是直接rpm安装的,
[root@zabbix ~]# rpm -ivh jdk-8u102-linux-x64.rpm
Preparing... ########################################### [100%]
1:jdk1.8.0_102 ########################################### [100%]
在/opt目录下新建一个orabbix目录:
[root@oracle orabbix]#midir -p /opt/orabbix
(建议在此目录下,如果放置其他目录稍后需要更改orabbix的启动文件orabbix,启动文件默认写在opt/orabbix目录下 )
[root@zabbix opt]# cd orabbix/
上传orabbix-1.2.3.zip
[root@zabbix orabbix]# ls
orabbix-1.2.3.zip
解压
[root@zabbix orabbix]# unzip -q orabbix-1.2.3.zip
[root@zabbix orabbix]# ls
conf init.d lib orabbix-1.2.3.zip orabbixw.exe run.sh uninstall.cmd
doc install.cmd orabbix-1.2.3.jar orabbix.exe run.bat template
授权
[root@zabbix orabbix]# cd ..
[root@zabbix opt]# chmod -R a+x orabbix/
[root@zabbix ~]# cd /opt/orabbix/conf/
[root@zabbix conf]# ls
config.props log4j.properties query_a_1.props query_b.props query.props
config.props.sample log4j.properties.sample query_a.props query - Copy.props query.props.sample
[root@zabbix conf]# cp config.props.sample config.props
编辑配置文件:
[root@zabbix conf]# vim config.props
源配置文件
[root@zabbix conf]# egrep "^[a-Z,1-9]" config.props.sample
ZabbixServerList=ZabbixServer1,ZabbixServer2
ZabbixServer1.Address=IP_ADDRESS_OF_ZABBIX_SERVER
ZabbixServer1.Port=PORT_OF_ZABBIX_SERVER
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,DB3
DatabaseList.MaxActive=10
DatabaseList.MaxWait=100
DatabaseList.MaxIdle=1
DB1.Url=jdbc:oracle:thin:@server.domain.example.com:<LISTENER_PORT>:DB1
DB1.User=zabbix
DB1.Password=zabbix_password
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
DB3.Url=jdbc:oracle:thin:@server3.domain.example.com:<LISTENER_PORT>:DB3
DB3.User=zabbix
DB3.Password=zabbix_password
DB3.QueryListFile=./conf/query.props
修改之后
[root@zabbix conf]# egrep "^[a-Z,1-9]" config.props
ZabbixServerList=ZabbixServer1 #(zabbixserver的名字,下行中address和port都引用到了这个名字,所以下面两行的前缀名字要与这里的名字保持一致)
ZabbixServer1.Address=127.0.0.1 #我这里就是在zabbix server上面操作的,所以这里是127.0.0.1
ZabbixServer1.Port=10051 #zabbix server的服务端口
OrabbixDaemon.PidFile=./logs/orabbix.pid
OrabbixDaemon.Sleep=300
OrabbixDaemon.MaxThreadNumber=100
DatabaseList=172.20.10.183-oracle,192.168.56.99-oracle #这里很重要,跟下面的对应上
DatabaseList.MaxActive=10
DatabaseList.MaxWait=100
DatabaseList.MaxIdle=1
172.20.10.183-oracle.Url=jdbc:oracle:thin:@172.20.10.183:1521:orcl #172.20.10.183 oracle数据库的地址,1521端口,orcl数据库实例名
172.20.10.183-oracle.User=zabbix #授权的账号
172.20.10.183-oracle.Password=zabbix #授权的密码
172.20.10.183-oracle.MaxActive=10
172.20.10.183-oracle.MaxWait=100
172.20.10.183-oracle.MaxIdle=1
172.20.10.183-oracle.QueryListFile=./conf/query.props #要查询的语句都在这定义的,不满意自己改