我爱编程监控

【Oracle】oracle配置zabbix监控

2017-12-18  本文已影响0人  Catke

简介:
Orabbix是一个用来实时监控Oracle数据库的zabbix插件,其中下载地址为:
http://www.smartmarmot.com/product/orabbix/download/
zabbix不能直接监控到Oracle数据库,需要通过Orabbix插件来监控
Orabbix可安装在zabbix server端,也可以安装在zabbix agent端,为了数据库服务器的独立性,这里选择安装则zabbix server端
注意:这里不提供zabbix相关的安装内容

一、环境准备(仅供参考)

服务器:
192.168.189.133:
1、已安装zabbix server
2、操作系统:CentOS 6.9
3、需要安装Orabbix
192.168.189.134:
1、已安装zabbix agent
2、已安装Oracle数据库
:

二、配置步骤(如无特别说明,则都在zabbix server中操作):
1、确认java jdk是否已安装,以为Orabbix基于java
java -version  

如果没有安装则通过yum来安装

yum install java  
2、在/opt目录下新建一个orabbix目录
mkdir -p /opt/orabbix  

注:建议放在/opt目录下,因为orabbix的启动文件默认写在/opt/orabbix目录下

3、上传orabbix的压缩包到服务器
4、解压压缩包
unzip orabbix-1.2.3.zip  
5、赋予orabbix目录权限
chmod -R a+x /opt/orabbix/  
6、将默认的配置文件复制一份作为正式配置文件
cp /opt/orabbix/conf/config.props.sample /opt/orabbix/conf/config.props  
7、编辑配置文件
vim /opt/orabbix/conf/config.props  

具体需要编辑的内容如下:


这里需要特别注意的是,zabbix服务器的Address、Port等和数据库Url、User等参数的属性,都要与ZabbixServerList和DatabaseList中所填写的一致
DatabaseList中,建议填写的是:主机名-数据库实例名
同时,后面在zabbix中添加host时,host的名字需要与DatabaseList中所填写的一致
3.png 4.png
8、创建执行文件
cp /opt/orabbix/init.d/orabbix /etc/init.d/orabbix  
9、在数据库中创建监控用户(在被监控端执行)

如果没启动数据库则执行以下命令,如果启动了则跳过:

su oracle  
lsnrctl start  
sqlplus / as sysdba  
startup  

使用管理员进入到数据库:

sqlplus / as sysdba  

创建用户:

CREATE  USER zabbix IDENTIFIED BY ys_zb_0418 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_$LOG 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;  
GRANT SELECT ON V_$locked_object TO zabbix;  
GRANT SELECT ON dba_objects TO zabbix;  
GRANT SELECT ON dba_tablespaces TO zabbix;  
GRANT SELECT ON v_$SESSION TO zabbix;  

如果数据库版本是11g,那么还需要执行下面的语句来开放ACL的访问控制,否则在监控过程中会有部分内容无法显示,而且orabbix的日志也会有错误提示(zabbix是大写的):

exec dbms_network_acl_admin.create_acl(acl => 'resolve.xml',description =>'resolve acl', principal =>'ZABBIX', is_grant => true, privilege =>'resolve');  
exec dbms_network_acl_admin.assign_acl(acl=> 'resolve.xml', host =>'*');  
commit;  
10、回到zabbix server端,开启相关服务

开启zabbix server:

/etc/init.d/zabbix_server start  
或者  
/usr/local/zabbix/sbin/zabbix_server &  

开启zabbix_agentd:

/etc/init.d/zabbix_agentd start  
或者  
/usr/local/zabbix/sbin/zabbix_agentd &  

开启orabbix服务:

/etc/init.d/orabbix start  
11、开启zabbix agent端的服务(在zabbix agent端)
/etc/init.d/zabbix_agentd start  
12、查看zabbix server和orabbix的日志,如果没有报错则说明启动成功

常见启动报错如下:

Starting Orabbix service:
[root@zabbix orabbix]# Stopping
java.lang.Exception: ERROR on main - Connections is empty
atcom.smartmarmot.orabbix.Orabbixmon.run(Orabbixmon.java:101)
atcom.smartmarmot.orabbix.bootstrap.main(bootstrap.java:50)

一般都是config.props配置文件未配置或者配置有误,重新检查
也可通过日志查看

tail -f /opt/orabbix/logs/orabbix.log  
13、在web端中导入相关模板

模板文件都在/opt/orabbix/template目录下

5.png

这里只导入Orabbix_export_full.xml文件
将该文件下载到本地
然后进入zabbix web端

6.png

选择模板导入

7.png

需要注意的是,这里有可能会提示host template已存在而导入失败,那么需要打开模板文件进行修改,所需修改地方如下,将其改为不与已有的冲突即可:

8.png

然后在host中添加模板:

9).png

监控效果图:

10.png
上一篇下一篇

猜你喜欢

热点阅读