Zabbix监控配置3-使用Orabbix监控Oracle

本文所有Zabbix监控配置信息基于Zabbix 3.4.14,其他版本未验证。

zabbix 3.4官方中文手册:https://www.zabbix.com/documentation/3.4/zh/manual

Orabbix官网:http://www.smartmarmot.com/product/orabbix/

注意:Orabbix可安装在Zabbix Server服务器,也可安装在Oracle所在服务器。请根据实际情况,自行判断。

1. 下载Orabbix:orabbix-1.2.3.zip 

wget https://nchc.dl.sourceforge.net/project/orabbix/orabbix-1.2.3.zip
#解压
unzip orabbix-1.2.3.zip

2. 创建数据库用户zabbix并授权,用于监控

su - oracle 
sqlplus / as sysdba

# 创建用户
SQL> CREATE USER zabbix IDENTIFIED BY zabbix DEFAULT TABLESPACE SYSTEM TEMPORARY TABLESPACE TEMP PROFILE DEFAULT ACCOUNT UNLOCK;

# 授权
SQL> GRANT CONNECT TO ZABBIX;
SQL> GRANT RESOURCE TO ZABBIX;
SQL> ALTER USER ZABBIX DEFAULT ROLE ALL;

SQL> GRANT SELECT ANY TABLE TO ZABBIX;
SQL> GRANT CREATE SESSION TO ZABBIX;
SQL> GRANT SELECT ANY DICTIONARY TO ZABBIX;
SQL> GRANT UNLIMITED TABLESPACE TO ZABBIX;
SQL> GRANT SELECT ANY DICTIONARY TO ZABBIX;


# 如果只创建最小授权,可使用如下内容:
#CREATE USER ZABBIX IDENTIFIED BY zabbix DEFAULT TABLESPACE USERS TEMPORARY TABLESPACE TEMP PROFILE DEFAULT ACCOUNT UNLOCK;
#GRANT ALTER SESSION TO ZABBIX;
#GRANT CREATE SESSION TO ZABBIX;
#GRANT CONNECT TO ZABBIX;
#ALTER USER ZABBIX DEFAULT ROLE ALL;
#GRANT SELECT ON V_$INSTANCE TO ZABBIX;
#GRANT SELECT ON DBA_USERS TO ZABBIX;
#GRANT SELECT ON V_$LOG_HISTORY TO ZABBIX;
#GRANT SELECT ON V_$PARAMETER TO ZABBIX;
#GRANT SELECT ON SYS.DBA_AUDIT_SESSION TO ZABBIX;
#GRANT SELECT ON V_$LOCK TO ZABBIX;
#GRANT SELECT ON DBA_REGISTRY TO ZABBIX;
#GRANT SELECT ON V_$LIBRARYCACHE TO ZABBIX;
#GRANT SELECT ON V_$SYSSTAT TO ZABBIX;
#GRANT SELECT ON V_$PARAMETER TO ZABBIX;
#GRANT SELECT ON V_$LATCH TO ZABBIX;
#GRANT SELECT ON V_$PGASTAT TO ZABBIX;
#GRANT SELECT ON V_$SGASTAT TO ZABBIX;
#GRANT SELECT ON V_$LIBRARYCACHE TO ZABBIX;
#GRANT SELECT ON V_$PROCESS TO ZABBIX;
#GRANT SELECT ON DBA_DATA_FILES TO ZABBIX;
#GRANT SELECT ON DBA_TEMP_FILES TO ZABBIX;
#GRANT SELECT ON DBA_FREE_SPACE TO ZABBIX;
#GRANT SELECT ON V_$SYSTEM_EVENT TO ZABBIX;

3. Oracle 11g 及以上版本需要执行如下语句

SQL> exec dbms_network_acl_admin.create_acl(acl => 'resolve.xml',description => 'resolve acl', principal =>'ZABBIX', is_grant => true, privilege => 'resolve');
SQL> exec dbms_network_acl_admin.assign_acl(acl => 'resolve.xml', host =>'*');
SQL> commit;


# 可通过运行如下语句验证上述操作是否正确
select utl_inaddr.get_host_name('127.0.0.1') from dual;

4.配置config.props

cp config.props.simple config.props
vim config.props
~

#Zabbix Server List,多个server之间用英文逗号隔开
#ZabbixServerList=ZabbixServer1,ZabbixServer2
ZabbixServerList=ZabbixServer1
#指定zabbix server的IP和端口
ZabbixServer1.Address=192.168.1.1
ZabbixServer1.Port=10051

#ZabbixServer2.Address=192.168.0.1
#ZabbixServer2.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

#Database List,多个database之间用英文逗号隔开
#DatabaseList=DB1,DB2,DB3
DatabaseList=192.168.0.1

#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

#单独配置每一个database的信息
192.168.0.1.Url=jdbc:oracle:thin:@192.168.0.1:1521:dldorcl
192.168.0.1.User=zabbix
192.168.0.1.Password=zabbix
#Those values are optionals if not specified Orabbix is going to use the general values
192.168.0.1.MaxActive=10
192.168.0.1.MaxWait=100
192.168.0.1.MaxIdle=1
#需要查询的SQL定义在query.props中
192.168.0.1.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

注意:config.props中的DatabaseList中定义的database需要与zabbix_agent中定义的hostname以及web页面中的主机名保持一致,否则可能无法获取数据

5. 启动orabbix

cp /u01/orabbix/init.d/orabbix /etc/init.d/
# orabbix中默认为/opt/,需要根据实际情况修改
service orabbix start
# 也可通过orabbix中的run.sh启动

6. 主机监控配置

  • 访问zabbix web项目,在“配置-模板”中选择“导入”,手动导入orabbix监控模板。orabbix自带模板位于orabbix/template文件夹中

fe5224574f883c63d047b28593fa2f2048c.jpg

  • 模板导入后默认为Zabbix被动式,若实际为主动式可克隆导入的模板,手动修改为主动式
  • 针对需要监控的主机,链接导入并修改好的模板即可。

转载于:https://my.oschina.net/u/1773521/blog/2988496

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值