广告
返回顶部
首页 > 资讯 > 精选 >Zabbix如何监控Oracle
  • 903
分享到

Zabbix如何监控Oracle

2023-06-04 16:06:22 903人浏览 安东尼
摘要

本篇内容主要讲解“Zabbix如何监控oracle”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Zabbix如何监控Oracle”吧!Orabbix简介   Orabbix是

本篇内容主要讲解“Zabbix如何监控oracle”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Zabbix如何监控Oracle”吧!

Orabbix简介

   Orabbix是设计用来为zabbix监控Oracle的数据库插件,它提供多层次的监控,包括可用性和服务器性能的指标。

  它提供了从众多Oracle实例采集的有效机制,进而提供此信息的监控和性能指标。然后,您可以利用的zabbix的报告功能为收集的所有数据,并提供分析。目前的发行版中包含了一组预先定义的模板,包括从初始部署报警和图形功能。然而,这些可以进行微调,以满足您额需求和数据/监控要求。

Orabbix监控的内容

  1、数据库版本

  2、归档日志与生产趋势

  3、触发器,表/过程命中率

  4、逻辑io性能

  5、物理IO性能

  6、PGA

  7、SGA

  8、共享池

  9、Session

  10、数据库大小

Orabbix 是一个用来监控 Oracle 数据库实例的 Zabbix 插件。(插件安装在zabbix-server端)

下载地址:Http://www.smartmarmot.com/product/orabbix/download/

 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]#mkdir -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    #要查询的语句都在这定义的,不满意自己改

oracle主机上操作(这步可以省略,只要知道数据库实例,账号,密码)
下面是oracle 11g的(12c 语法不一样)授权语句如下,创用户,授权,这些操作,我都是在oracle数据库的sqlplus下执行的

登录数据库并授予用户相关权限即可。

DatabaseList中放的是被监控的数据库主机名,该名称要和zabbix server界面中的机器名称保持一致

你会发现有一些监控项dbfilesize,dbsize没有值,这是因为/opt/orabbix/conf/query.props文件没有把这两个加入进查询的List下面,可以从query.props.sample把这两项复制进去

 在QueryList最后面加上dbfilesize,dbsize

然后在文件末尾加入:

1

2

3

4

5

6

7

8

dbfilesize.Query=select to_char(sum(bytes/1024/1024/10), 'FM99999999999999990') retvalue from dba_data_files

 

dbsize.Query=SELECT to_char(sum( NVL(a.bytes/1024/1024/10 - NVL(f.bytes/1024/1024/10, 0), 0)), 'FM99999999999999990') retvalue \

FROM sys.dba_tablespaces d, \

(select tablespace_name, sum(bytes) bytes from dba_data_files group by tablespace_name) a, \

(select tablespace_name, sum(bytes) bytes from dba_free_space group by tablespace_name) f \

WHERE d.tablespace_name = a.tablespace_name(+) AND d.tablespace_name = f.tablespace_name(+) \

AND NOT (d.extent_management like 'LOCAL' AND d.contents like 'TEMPORARY')


在oracle数据库上创建zabbix用户,并授权

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

CREATE USER zabbix

IDENTIFIED BY zabbix

DEFAULT TABLESPACE SYSTEM

TEMPORARY TABLESPACE TEMP

PROFILE DEFAULT

ACCOUNT UNLOCK;

– 2 Roles for ZABBIX

GRANT CONNECT TO ZABBIX;

GRANT RESOURCE TO ZABBIX;

ALTER USER ZABBIX DEFAULT ROLE ALL;

– 5 System Privileges for ZABBIX

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;

  如果需要严格的权限控制,可以执行如下脚本

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

CREATE USER zabbix

IDENTIFIED BY zabbix

DEFAULT TABLESPACE USERS

TEMPORARY TABLESPACE TEMP

PROFILE DEFAULT

ACCOUNT UNLOCK;

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;

启动orabbix

[root@zabbix orabbix]# cp init.d/orabbix /etc/init.d/

[root@zabbix orabbix]# ll /etc/init.d/orabbix

-rwxr-xr-x 1 root root 1693 Sep 14 21:40 /etc/init.d/orabbix

[root@zabbix orabbix]# /etc/init.d/orabbix start

linux7   启动orabbix

1
2
3

chkconfig --add orabbix

systemctl start orabbix

chkconfig orabbix on

Starting Orabbix service:

报错的话,检查配置文件,数据库地址,端口,实例名,账号,密码是否正确,需要验证对于不懂oracle的怎么办,搜命令呗,我也是一路过来,各种坑~~~~~

然后里面看日志

[root@zabbix orabbix]# tailf /opt/orabbix/logs/orabbix.log

 [main] INFO  Orabbix - --------- on Database -> orcl

 [pool-1-thread-1] WARN  Orabbix - Error while executing ->dbversion- on database ->172.20.10.183-oracle- Exception received ORA-24247: network access denied by access control list (ACL)

ORA-06512: at "SYS.UTL_INADDR", line 4

ORA-06512: at "SYS.UTL_INADDR", line 35

ORA-06512: at line 1

出现这些日志,不影响后面的操作

如果是oracle11g用户还需要开放ACL访问控制

1

2

3

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;

到此,安装配置完成,则通过WEB页面访问监控界面直接导入模板即可

模版放置在/opt/orabbix/template下
Orabbix_export_full.xml          #只需要导入这个一个模板就好

 Zabbix如何监控Oracle

添加主机

 Zabbix如何监控Oracle

然后链接oracle的模板

 Zabbix如何监控Oracle

添加完成之后的效果

Zabbix如何监控Oracle

查看最新数据

 Zabbix如何监控Oracle

这时候图也有了

Zabbix如何监控Oracle

常见错误

[root@zabbix orabbix]# tailf /opt/orabbix/logs/orabbix.log

 [main] ERROR Orabbix - Error on Configurator for database 172.20.10.183 oracle -->ORA-01017: invalid username/password; loGon denied

config.props配置文件中,数据库账号密码不对,或者在oracle数据库没授权这个用户

到此,相信大家对“Zabbix如何监控Oracle”有了更深的了解,不妨来实际操作一番吧!这里是编程网网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

--结束END--

本文标题: Zabbix如何监控Oracle

本文链接: https://www.lsjlt.com/news/238487.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Zabbix如何监控Oracle
    本篇内容主要讲解“Zabbix如何监控Oracle”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Zabbix如何监控Oracle”吧!Orabbix简介   Orabbix是...
    99+
    2023-06-04
  • zabbix中如何监控oracle
    这篇文章主要介绍了zabbix中如何监控oracle,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。我的zabbix版本为2.0.6,orac...
    99+
    2022-10-19
  • Zabbix+Python如何监控Oracle数据库
    小编给大家分享一下Zabbix+Python如何监控Oracle数据库,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!一、规划监控项监控数据库的目的是为了保障数据库稳定运行,一旦出现故障,dba能够及时发现并介入处理,监控项...
    99+
    2023-06-04
  • Zabbix通过Orabbix监控Oracle DataGuard
    Oracle通过DataGuard作为异地备份,可以通过监控主备的归档日志序列之差vim orabbix/conf/query.props在开头的QueryList添加QueryList=archive,a...
    99+
    2022-10-18
  • zabbix如何监控mysql
    这篇文章将为大家详细讲解有关zabbix如何监控mysql,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。1、监控规划在创建监控项之前要尽量考虑清楚要监控什么,怎么监控,监控数据如何存储,监控数据如何展现,...
    99+
    2023-06-15
  • zabbix如何监控系统
    这篇文章将为大家详细讲解有关zabbix如何监控系统,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。zabbix 监控系统Zabbix是一个企业级的、开源的、分布式的监控套...
    99+
    2022-10-19
  • Zabbix监控PostgreSQL
    Zabbix监控PostgreSQL学习 PostgreSQL zabbixZabbix监控PostgreSQL1. 安装libzbxpgsql2. 配置zabbix配置文件zabbix...
    99+
    2022-10-18
  • Zabbix 监控 AlwaysOn
    基于生产环境 SQL Server 业务数据库的特性,需要针对 SQL Server 生产环境几组 AlwaysOn AG 的 Primary Replica 部署如下监控:&...
    99+
    2022-10-18
  • zabbix监控mongdb
       查找了很多的监控文章,但是还是遇到不少问题,没有能够按照文章做下来就能成功的例子。本文旨在说明一下遇到的问题以及解决方法。    下载mongodb的插件和模...
    99+
    2022-10-18
  • Zabbix 监控 MongoDB
    Zabbix 监控 MongoDB 从zabbix共享站点,找到了一个MongoDB的模板:https://share.zabbix.com/databases/mongodb/mongodb-f...
    99+
    2022-10-18
  • Zabbix MongoDB监控
    去年监控mongodb设置的模板,包括mongodb连接数,内存,复制延迟,是否Master的监控,下面是一些监控图形示例我们还有一些触发器,比如mongodb实例是否可用,mongodb副本集的角色是否切...
    99+
    2022-10-18
  • zabbix 监控 3com
    zabbix 可以监控cisco 但是不可以监控H3C 但是我的SNMP一切正常。(不要嫉妒我这个snmp好用的软件,我一会给大家附上。)为啥不行呢,答案,因为h3c太懒没有写zabbix template,所以 zabbix 不支持它。为...
    99+
    2023-01-31
    zabbix
  • zabbix------3-----监控
    监控的方式有:snmpwindowns版本的agent下载源码包到windows上面1、新建一个zabbix目录2、把解压出来的文件夹中,/bin/win64/下面的所有内容拷贝到新建的目录zabbix里面3、把解压文件夹中的config文...
    99+
    2023-01-31
    zabbix
  • zabbix-----3------监控
    首先我们要安装上tomcat+jdk我这里使用rpm包直接安装的:[root@zabbix-node2 ~]# rpm -ivh jdk-8u102-linux-x64.rpm  Preparing...                  ...
    99+
    2023-01-31
    zabbix
  • zabbix 3.2添加Oracle表空间监控
    查看博文:http://7424593.blog.51cto.com/7414593/1910111utm_source=tuicool&utm_medium=referral 注意:在zabbix...
    99+
    2022-10-18
  • zabbix实时监控oracle数据变化
    如题所示,可以使用zabbix实时监控数据库的数据变化情况,比如:最近1小时的订单数变化情况。这样我们就可以很方便地通过zabbix的web界面观察oracle等数据库中的一些数据变化情况,同时还可以添加监...
    99+
    2022-10-18
  • 如何使用zabbix监控mongod
    如何使用zabbix监控mongod,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。1 被监控端写mongodb.sh注意:里面的路径和你的...
    99+
    2022-10-18
  • 如何使用zabbix监控MySQL
    这篇文章将为大家详细讲解有关如何使用zabbix监控MySQL,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。        &nb...
    99+
    2022-10-18
  • zabbix如何配置nginx监控
    本篇内容主要讲解“zabbix如何配置nginx监控”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“zabbix如何配置nginx监控”吧!案例:zabbix 配置 nginx 监控1. 修改配置...
    99+
    2023-06-30
  • 监控 cacti zabbix(2)
    监控(1):(cactizabbix)前提:cacti配置完成cacti 监控其他主机(采集数据:crontab定时调用(poller.php)snmp采集存储数据:rrdtool -->rra下的r...
    99+
    2022-10-18
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作