Zabbix4.4 技术解决方案(实战篇) 监控 Oracle数据库 信息

Zabbix 同时被 2 个专栏收录
9 篇文章 0 订阅
5 篇文章 0 订阅

一、登录要监控的数据库 创建 zabbix 用户并授权

创建用户
-> create user zabbix   identified by "123546#" default tablespace tabels temporary tablespace TEMP ;
--此命令可能执行不成功,原因可能是11g与12c语法不同,但是没有深究。执行 -> alter session set "_ORACLE_SCRIPT"=true;但是实际生产环境不建议使用。
--授予权限
-> 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的话,还需要添加如下的语句开放acl的访问控制,否则在监控的过程中有部份内容无法正常显示(例于数据库版本,数据库文件大小等)。

-> 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;
--授权完成后可以使用zabbix用户登录测试下
sqlplus zabbix/"123456#"

--查看数据库实例可使用以下命令
-> select instance_name from v$instance;       //查看实例名
-> select global_name from global_name;       //查看服务名

二、上传orabbix安装包到 zabbix服务器目录,解压 并编辑orabbix配置文件信息,加入数据库连接池信息Orabbix下载连接

[app@Server_1 ~]$ unzip orabbix-1.2.3.zip
[app@Server_1 ~]$ mv orabbix-1.2.3.zip orabbix
[app@Server_1 ~]$ vim orabbix/conf/config.props

#comma separed list of Zabbix servers
	
	#Zabbix主机名
    ZabbixServerList=ZabbixServer1
	#Zabbix客户端IP
    ZabbixServer1.Address=192.168.1.124
    ZabbixServer1.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的值未HOSTNAME配置的值,具体查看 vi /etc/sysconfig/network
    DatabaseList=orcl                             

    #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
    #配置JDBC连接池信息,此处orcl为数据库实例
    orcl.Url=jdbc:oracle:thin:@172.0.0.1:1521:orcl            
    orcl.User=ZABBIX
    orcl.Password=ZABBIX
    #Those values are optionals if not specified Orabbix is going to use the general values
    orcl.MaxActive=10
    orcl.MaxWait=100
    orcl.MaxIdle=1
    orcl.QueryListFile=./conf/query.props

三、授权并启动orabbix,分析日志是否有误报错或授权不足情况

[app@Server_1 ~]$ chmod +x orabbix/run.sh
[app@Server_1 ~]$ /home/app/orabbix/init.d/orabbix start
[app@Server_1 ~]$ tail -f  /opt/orabbix/logs/orabbix.log

#给主机Zabbix执行root的权限
[root@Server_2 zabbix_agentd.d]# vim /etc/sudoers
zabbix  ALL=(root)      NOPASSWD:/bin/python
zabbix  ALL=(root)      NOPASSWD:/bin/tail

四、导入自动发现 Oracle数据库 xml模板并关联相关主机,模板在之前你下载的Orabbix的template目录里
在这里插入图片描述
五、zabbix升级4.4以后,orabbix监控Oracle报错
在使用 zabbix 4.4 时, orabbix 会报错:
Orabbix - received unexpected response ’ ’ for key ‘alive’
根据这个 issue , 修改了 Sender.java, 并把编译好的 class 文件, 添加到 orabbix-1.2.3.jar 中、
使用方式:将下载下来的orabbix4zabbix4-master.zip放在orabbix环境下面,执行build.sh(执行有报错不用管),这个脚本会编译 Sender.java , 并把 class 文件,添加到原来的 jar 包中, 放到 orabbix 目录下。
将新生成的orabbix-1.2.3.jar,替换原来的jar包。
执行service orabbix start 就OK了

  • 0
    点赞
  • 0
    评论
  • 0
    收藏
  • 打赏
    打赏
  • 扫一扫,分享海报

©️2022 CSDN 皮肤主题:深蓝海洋 设计师:CSDN官方博客 返回首页

打赏作者

小蔡技术栈

你的鼓励将是我创作的最大动力

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值