Zabbix4.2安装DBforbix3监控Oracle11gR2
一定不要下载从官方github下载DBforbix3,官方版本问题很多,并且不支持Zabbix4.x只支持3.x
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
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/
最终目录为
tree --charset ASCII
安装JAVA JVM
rpm -qa|grep jdk java -version
如果系统中原有openjdk先删除干净再安装JDK
下载JDK https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
下载之后使用SCP传入jdk-8u211-linux-x64.rpm
rpm -ivh jdk-8u211-linux-x64.rpm
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/
下载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
下载Oracle Database 11.2.0.4 JDBC Driver & UCP Downloads得到ojdbc6.jar
放入上述目录下
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
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
检查
egrep "^[a-Z,1-9]" /opt/dbforbix/conf/config.properties
Zabbix配置
1.导入模板
打开bforbix4.2-master目录下zbx_templates,将3个xml模板文件导入
2.添加全局宏
管理-- 一般-- 宏,添加宏名称为{$DSN},值为ORADB1,这里与上面配置文件中ZabbixServer.Zabbix1.DBList参数值需要相同,值为ORADB1(如果只监控一台主机,这个步骤可以做,如果日后需要监控多台数据库,这部可以不做)
3.创建agent代理程序
管理--agent代理程序--创建代理
这里的值与上面配置文件中ZabbixServer.Zabbix1.ProxyName参数值需要相同,值为DBforBIX,代理地址为安装主机地址
4.创建主机群组
配置--主机--创建主机群组
群组名为DBforBIX
5.创建主机
配置--主机--创建主机(创建需要监控的数据库)
输入主机名,群组选择DBforBix,输入agent主机地址,agent代理就是上面参数文件和刚刚创建的agent代理程序
模板中选择刚导入的DBforBIX.Oracle和DBforBIX.Oracle.ASM
主机宏选项中,宏名称为{$DSN},值为ORADB1,需要和配置文件对应
添加完成
创建服务
创建的服务有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
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
ps aux |grep dbforbix
测试
查看日志文件,应该没有一个错误提示
journalctl -flu dbforbix.service cat /var/log/DBforBIX/DBforBIX.log4j
过一会儿查看Zabbix中,图形中所有监控项,都应该有数据才为正常
本站所有文章均可随意转载,转载时请保留原文链接及作者。