DBforBIX.png

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


0.png

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

1.png


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/

2019-07-03_195409.png

最终目录为

tree --charset ASCII

2019-07-04_113511.png


安装JAVA JVM

rpm -qa|grep jdk
java -version

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

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

2.png

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

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

4.png

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/

2019-07-02_113944.png

下载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

2019-07-02_110801.png

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

2019-07-02_110827.png

放入上述目录下


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

2019-07-03_201936.png

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

2019-07-03_202011.png

检查

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


Zabbix配置

1.导入模板

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

2019-07-03_202736.png


2.添加全局宏

2019-07-02_153200.png

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


3.创建agent代理程序

2019-07-02_153357.png

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


2019-07-02_153529.png

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


4.创建主机群组

2019-07-02_153722.png

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


2019-07-02_153732.png

群组名为DBforBIX


5.创建主机

2019-07-02_153906.png

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


2019-07-03_202316.png

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


2019-07-02_154618.png

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


2019-07-03_172141.png

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


2019-07-03_180316.png

添加完成


创建服务

创建的服务有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

2019-07-04_112715.png


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

2019-07-04_112616.png

ps aux |grep dbforbix

2019-07-04_112841.png


测试

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

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


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

2019-07-03_180422.png



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