Zabbix4.2安装DBforbix3监控Oracle11gR2

一定不要下载从官方github下载DBforbix3,官方版本问题很多,并且不支持Zabbix4.x只支持3.x


Zabbix4.2安装DBforbix3监控Oracle11gR2

Zabbix Share网站中推荐了几款oracle监控模板,个人感觉DBforBIX版本比较新,新版改为使用agent方式去监控oracle,改动较大但是功能也比较强大,orabix已经停止更新,所以不推荐使用。系统环境为RHEL 7.4 + Zabbix 4.2.3 + MySQL 5.7.26 + JDK 1.8.211


下载DBforBIX

登陆https://github.com/linwinfan/dbforbix4.2

下载https://github.com/linwinfan/dbforbix4.2.git

Zabbix4.2安装DBforbix3监控Oracle11gR2


DBforbix3目录真的很乱,好多废文件,有些文件摆放位置也是错的。

1.windows下解压出dbforbix4.2-master.zip里面的dist目录

2.删除掉dist目录中的dbforbix-3.0-win.zip、dbforbix-3.0-linux64.tar.gz、dbforbix-3.0-src.tar.gz和win/目录

3.将dist目录中linux文件夹里lib/和dbforbix.jar剪切回dist目录后,删除linux/目录

4.将dbforbix4.2-master\install\linux\下systemd目录用SCP传入/opt/dbforbix

5.将dbforbix4.2-master\ext_jars里所有文件,传入dist\jar\lib中

6.重命名dist目录为dbforbix,SCP方式传入/opt/

Zabbix4.2安装DBforbix3监控Oracle11gR2

最终目录为

tree --charset ASCII

Zabbix4.2安装DBforbix3监控Oracle11gR2


安装JAVA JVM

rpm -qa|grep jdk
java -version

如果系统中原有openjdk先删除干净再安装JDK

下载JDK https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html

Zabbix4.2安装DBforbix3监控Oracle11gR2

下载之后使用SCP传入jdk-8u211-linux-x64.rpm

rpm -ivh jdk-8u211-linux-x64.rpm

Zabbix4.2安装DBforbix3监控Oracle11gR2

JDK环境变量

vim + /etc/profile
添加
JAVA_HOME=/usr/java/jdk1.8.0_211-amd64
JRE_HOME=/usr/java/jdk1.8.0_211-amd64/jre
PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin
CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib
export JAVA_HOME JRE_HOME PATH CLASSPATH

执行source /etc/profile


安装JSVC(可不做)

登陆https://www-eu.apache.org/dist/commons/daemon/source/

Zabbix4.2安装DBforbix3监控Oracle11gR2

下载commons-daemon-1.2.0-src.tar.gz使用SCP传入/root

tar -xvf commons-daemon-1.2.0-src.tar.gz

yum install -y autoconf gcc make

mv commons-daemon-1.2.0-src/ /opt/jsvc

cd /opt/jsvc/src/native/unix

autoconf

./configure --with-java=/usr/java/jdk1.8.0_211-amd64

make

./jsvc --help

cp /opt/jsvc/src/native/unix/jsvc /bin/


安装JDBC(可不做)

https://www.oracle.com/technetwork/database/application-development/jdbc/downloads/download-3320542.html

Zabbix4.2安装DBforbix3监控Oracle11gR2

下载Oracle Database 11.2.0.4 JDBC Driver & UCP Downloads得到ojdbc6.jar

Zabbix4.2安装DBforbix3监控Oracle11gR2

放入上述目录下


Oracle操作

创建用户并授权

su - oracle
sqlplus / as sysdba

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;

Oracle11g开放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;


配置DBforBIX

vim /opt/dbforbix/conf/config.properties
修改为
DBforBIX.UpdateConfigTimeout=120
Pool.LoginTimeOut=15
ZabbixServer.Zabbix1.Address=10.37.11.103
ZbbixServer.Zabbix1.Port=10051
ZabbixServer.Zabbix1.ProxyName=DBforBIX
ZabbixServer.Zabbix1.ConfigSuffix=DBforBIX.config
ZabbixServer.Zabbix1.DBList=ORADB1

Zabbix4.2安装DBforbix3监控Oracle11gR2

DB.ORADB1.Type=oracle
DB.ORADB1.Instance=etlcrmtest
DB.ORADB1.Url=jdbc:oracle:thin:@10.37.14.125:1521:etlcrmtest
DB.ORADB1.User=zabbix
DB.ORADB1.Password=zabbix
DB.ORADB1.MaxActive=10
DB.ORADB1.MaxWaitMillis=10000
DB.ORADB1.QueryTimeout=15
DB.ORADB1.MaxIdle=1

Zabbix4.2安装DBforbix3监控Oracle11gR2

检查

egrep "^[a-Z,1-9]" /opt/dbforbix/conf/config.properties


Zabbix配置

1.导入模板

打开bforbix4.2-master目录下zbx_templates,将3个xml模板文件导入

Zabbix4.2安装DBforbix3监控Oracle11gR2


2.添加全局宏

Zabbix4.2安装DBforbix3监控Oracle11gR2

管理-- 一般-- 宏,添加宏名称为{$DSN},值为ORADB1,这里与上面配置文件中ZabbixServer.Zabbix1.DBList参数值需要相同,值为ORADB1(如果只监控一台主机,这个步骤可以做,如果日后需要监控多台数据库,这部可以不做)


3.创建agent代理程序

Zabbix4.2安装DBforbix3监控Oracle11gR2

管理--agent代理程序--创建代理


Zabbix4.2安装DBforbix3监控Oracle11gR2

这里的值与上面配置文件中ZabbixServer.Zabbix1.ProxyName参数值需要相同,值为DBforBIX,代理地址为安装主机地址


4.创建主机群组

Zabbix4.2安装DBforbix3监控Oracle11gR2

配置--主机--创建主机群组


Zabbix4.2安装DBforbix3监控Oracle11gR2

群组名为DBforBIX


5.创建主机

Zabbix4.2安装DBforbix3监控Oracle11gR2

配置--主机--创建主机(创建需要监控的数据库)


Zabbix4.2安装DBforbix3监控Oracle11gR2

输入主机名,群组选择DBforBix,输入agent主机地址,agent代理就是上面参数文件和刚刚创建的agent代理程序


Zabbix4.2安装DBforbix3监控Oracle11gR2

模板中选择刚导入的DBforBIX.Oracle和DBforBIX.Oracle.ASM


Zabbix4.2安装DBforbix3监控Oracle11gR2

主机宏选项中,宏名称为{$DSN},值为ORADB1,需要和配置文件对应


Zabbix4.2安装DBforbix3监控Oracle11gR2

添加完成


创建服务

创建的服务有2中形式,一种是老式的init.d,一种是新式的systemd,在DBforBix自带systemd中又分为jsvc启动和非jsvc启动

JSVC方式(失败了,更换多个jsvc版本也无效)

groupadd dbforbix

useradd -g dbforbix dbforbix

chmod +x /opt/dbforbix/install/linux/dbforbix.sh

cp /opt/dbforbix/install/linux/systemd/dbforbix.service /etc/systemd/system/dbforbix.service

sh /opt/dbforbix/install/linux/dbforbix.sh start

Zabbix4.2安装DBforbix3监控Oracle11gR2


JAVA方式

vim /opt/dbforbix/install/linux/systemd/dbforbix-nojsvc.service

改为
[Unit]
Description=DBforBIX Monitoring Agent
After=syslog.target network.target

[Service]
Type=simple
User=root
Group=root
Environment=JAVA_HOME=/usr/java/jdk1.8.0_211-amd64
WorkingDirectory=/opt/dbforbix
ExecStart=/usr/java/jdk1.8.0_211-amd64/bin/java -jar dbforbix_run.jar -a start -C /opt/dbforbix
SuccessExitStatus=143

[Install]
WantedBy=multi-user.target

mv /opt/dbforbix/install/linux/systemd/dbforbix-nojsvc.service /etc/systemd/system/dbforbix.service

systemctl daemon-reload
systemctl start dbforbix.service
systemctl enable dbforbix.service
systemctl status dbforbix.service

Zabbix4.2安装DBforbix3监控Oracle11gR2

ps aux |grep dbforbix

Zabbix4.2安装DBforbix3监控Oracle11gR2


测试

查看日志文件,应该没有一个错误提示

journalctl -flu dbforbix.service
cat /var/log/DBforBIX/DBforBIX.log4j


过一会儿查看Zabbix中,图形中所有监控项,都应该有数据才为正常

Zabbix4.2安装DBforbix3监控Oracle11gR2



更新日期: 2019年07月03日
文章标签: Zabbix
文章链接: https://www.vos.cn/db/329.html  
版权说明:如非注明,本站文章均为vOS原创,转载请注明出处和附带本文链接。