阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

Zabbix利用orabbix监控Oracle实践

196次阅读
没有评论

共计 5142 个字符,预计需要花费 13 分钟才能阅读完成。

亲自实践 Zabbix 利用 orabbix 监控 Oracle,网上教程很多,但大都比较老,担心新版本的变化,于是亲自测试了一下,记录过程如下:

  一、环境

   CentOS7.3 192.168.56.104

   Oracle 安装在 windows 下,192.168.56.101

 二、步骤:

   1. 确保 JRE 环境,使用 java 命令可以识别

   如果没有可以直接 Yum install java java-devel

   2. 安装 orabbix

   orabbix 官网:http://www.smartmarmot.com/wiki/index.php?title=Orabbix

   下载地址:http://www.smartmarmot.com/product/orabbix/download/  最新版本 orabbix-1.2.3.zip

   下载后上传到 Zabbix-server 的 /opt/orabbix/ 下(建议目录,否则会影响后续脚本执行)

#mkdir /opt/orabbix
#cd /opt/orabbit
#unzip orabbix-1.2.3.zip

解压后的目录如图:

Zabbix 利用 orabbix 监控 Oracle 实践

3. 配置 orabbix

给 orabbix 目录下附权限

#chmod a+x /opt/orabbix -R

创建 orabbix 配置文件

#cp /opt/orabbix/conf/config.props.sample /opt/orabbix/conf/config.props

编辑 config.props

[root@zabbix ~]# cat /opt/orabbix/conf/config.props
 
#comma separed list of Zabbix servers
ZabbixServerList=ZabbixServer
ZabbixServer.Address=192.168.56.104    #Zabbix server 的地址 端口
zabbixServer.Port=10051
 
#ZabbixServer2.Address=IP_ADDRESS_OF_ZABBIX_SERVER
#ZabbixServer2.Port=PORT_OF_ZABBIX_SERVER
 
#pidFile
OrabbixDaemon.PidFile=./logs/orabbix.pid      #Java 进程
#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=DB1,DB2,DB3
DatabaseList=win-oracle        # 此处名称需和 oracle db 端 zabbix 前端的 hostname ⼀一致
 
#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
#DB1.Url=jdbc:oracle:thin:@server.domain.example.com:<LISTENER_PORT>:DB1
win-oracle.Url=jdbc:oracle:thin:@192.168.56.101:1521:orcl  # 实例名为 orcl
#DB1.User=ZABBIX
win-oracle.User=zabbix
#DB1.Password=zabbix_password
win-oracle.Password=zabbix
#Those values are optionals if not specified Orabbix is going to use the general values
win-oracle.MaxActive=10
win-oracle.MaxWait=100
win-oracle.MaxIdle=1
win-oracle.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

4. 在 Oracle 端增加用户和权限

CREATE USER ZABBIX IDENTIFIED BY zabbix DEFAULT TABLESPACE SYSTEM 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;
 
 
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 还需要执行以下过程,11G 以前的版本没试过,不知道是否要执行:

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;

配置 orabbix 的服务和进程

#cp -a /opt/orabbix/init.d/orabbix /etc/init.d/orabbix
#chmod 755 /etc/init.d/orabbix
#/etc/init.d/orabbix start

⽇日志⽂文件在 /opt/orabbix/logs/orabbix.log 中 tail -f 跟踪⽇日志分析部署过程中的问题。

三、前端增加主机

Zabbix 利用 orabbix 监控 Oracle 实践

然后再 zabbix web 端 configuration—》Templates—》Import 中将模板添加
然后再已添加好的 hosts 中增加该 oracle template,enable 相应所需要监控的内容即可。

Zabbix 利用 orabbix 监控 Oracle 实践

 

更多 Zabbix 相关教程集合

在 Ubuntu 16.04 服务器上安装 Zabbix 3.2  http://www.linuxidc.com/Linux/2017-07/145519.htm

CentOS 7 LNMP 环境搭建 Zabbix3.0  http://www.linuxidc.com/Linux/2017-02/140134.htm

Ubuntu 16.04 安装部署监控系统 Zabbix2.4  http://www.linuxidc.com/Linux/2017-03/141436.htm

Zabbix 监控安装部署及警报配置  http://www.linuxidc.com/Linux/2017-03/141611.htm

Zabbix 触发器表达式详解 http://www.linuxidc.com/Linux/2017-03/141921.htm

Ubuntu 16.04 下安装部署 Zabbix3.0  http://www.linuxidc.com/Linux/2017-02/140395.htm

CentOS 6.3 下 Zabbix 监控 apache server-status http://www.linuxidc.com/Linux/2013-05/84740.htm

CentOS 7 下 Zabbix 3.0 安装详解 http://www.linuxidc.com/Linux/2017-03/141716.htm

64 位 CentOS 6.2 下安装 Zabbix 2.0.6  http://www.linuxidc.com/Linux/2014-11/109541.htm

Zabbix 3.2.6 通过 Orabbix 监控 Oracle 数据库  http://www.linuxidc.com/Linux/2017-10/147224.htm

ZABBIX 的详细介绍:请点这里
ZABBIX 的下载地址:请点这里

更多 Oracle 相关信息见Oracle 专题页面 http://www.linuxidc.com/topicnews.aspx?tid=12

本文永久更新链接地址:http://www.linuxidc.com/Linux/2017-12/149452.htm

正文完
星哥玩云-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2022-01-22发表,共计5142字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中