一、Orabbix
Orabbix是设计用来为zabbix监控Oracle的数据库的插件,它提供多层次的监控,包括可用性和服务器性能的指标。它提供了从众多Oracle实例采集的有效机制,进而提供此信息的监控和性能指标。然后,您可以利用的zabbix的报告功能为收集的所有数据,并提供分析。目前的发行版中包含了一组预先定义的模板,包括从初始部署报警和图形功能。然而,这些可以进行微调,以满足您额需求和数据/监控要求。
orabbix原理:模拟一个zabbix客户端,通过查询oracle实例信息,传送给zabbix-server。该工具是用java语言开发的。
二、安装
环境:
centos 6.7,jdk8,zabbix4
orabbix1.2.3 下载地址:http://www.smartmarmot.com/product/orabbix/
1、安装jdk
2、创建目录
mkdir -p /opt/orabbix
3、上传压缩包到/opt/orabbix/
/opt/orabbix/
4、解压
unzip orabbix-1.2.3.zip
5、赋权
cp init.d/orabbix /etc/init.d/
chmod a+x run.sh #需要修改java为绝对路径
chmod a+x /etc/init.d/orabbix
6、数据库添加监控用户
CREATE USER zabbix IDENTIFIED BY mima_99 DEFAULT TABLESPACE USERS TEMPORARY TABLESPACE TEMP PROFILE DEFAULT ACCOUNT UNLOCK;
授权
GRANT CONNECT TO ZABBIX;
GRANT RESOURCE TO ZABBIX;
ALTER USER ZABBIX DEFAULT ROLE ALL;
GRANT SELECT ANY TABLE TO ZABBIX;
GRANT CREATE SESSION TO ZABBIX;
GRANT SELECT ANY DICTIONARY TO ZABBIX;
GRANT UNLIMITED TABLESPACE TO ZABBIX;
GRANT SELECT ANY DICTIONARY TO ZABBIX;
oracle 11g 执行以下脚本
begin
dbms_network_acl_admin.create_acl(acl => 'resolve.xml',description => 'resolve acl', principal =>'ZABBIX', is_grant => true, privilege => 'resolve');
dbms_network_acl_admin.assign_acl(acl => 'resolve.xml', host =>'*');
commit;
end;
7、拷贝配置文件
cp /opt/orabbix/conf/config.props.sample /opt/orabbix/conf/config.props
8、修改配置文件
ZabbixServerList=ZabbixServer108
ZabbixServer108.Address=192.168.1.102 #zabbix-server的ip
ZabbixServer108.Port=10051
#pidFile
OrabbixDaemon.PidFile=./logs/orabbix.pid
#frequency of item's refresh
OrabbixDaemon.Sleep=300
#MaxThreadNumber should be >= than the number of your databases
OrabbixDaemon.MaxThreadNumber=100
#put here your databases in a comma separated list
DatabaseList=prod-1-108 #这个要和zabbix配置面板中的主机一样
#Configuration of Connection pool
#if not specified Orabbis is going to use default values (hardcoded)
#Maximum number of active connection inside pool
DatabaseList.MaxActive=10
#The maximum number of milliseconds that the pool will wait
#(when there are no available connections) for a connection to be returned
#before throwing an exception, or <= 0 to wait indefinitely.
DatabaseList.MaxWait=100
DatabaseList.MaxIdle=1
#define here your connection string for each database
prod-1-108.Url=jdbc:oracle:thin:@192.168.1.122:1521:vtest
prod-1-108.User=zabbix
prod-1-108.Password=123456
#Those values are optionals if not specified Orabbix is going to use the general values
prod-1-108.MaxActive=10
prod-1-108.MaxWait=100
prod-1-108.MaxIdle=1
prod-1-108.QueryListFile=./conf/query.props
启动orabbix
/etc/init.d/orabbix start
9、导入模板
下载模板
导入模板
主机添加模板
效果
三、问题
1、orabbix启动报错
原因:orabbix-1.2.3不支持zabbix4
解决方案:用源码重新打包,替换压缩包中的orabbix-1.2.3.jar
https://github.com/snickerjp/orabbix
总结:
由于orabbix是用java语言开发的,所以如果自己想要集成更多的监控指标,可以进行二次开发。