【Zabbix】使用dbforbbix 2.2-beta监控Redhat 7.0上的Oracle、Mysql

前言

  • zabbix 3.4 + DBforBIX 2.2-beta 监控 Oracle、Mysql
  • 前置条件:已安装 zabbix 3.4 (【Zabbix】yum方式安装zabbix)
  • 前置条件:能够安装、配置agent(【zabbix】安装、配置agent,配置被监控端)

DBforBIX介绍

官网:http://www.smartmarmot.com/
授权:GNU General Public License V.3
项目git:https://github.com/smartmarmot/DBforBIX
安装文档:http://www.smartmarmot.com/wiki/index.php?title=DBforBIX2

  • DBforBIX 是 Zabbix 下的数据库监控工具。
  • DBforBIX 可以看视作 Orabbix, PostBIX, MySQLBIX and DB2Bix 的集成。
  • DBforBIX 可以监控的数据库有: Oracle、MySQL Server、PostgreSQL、MS SQL Server、DB2、Sybase Anywhere、HP Allbase
  • DBforBIX 是java应用,通过jdbc监控数据库,并将采集到的数据发送给Zabbix Server。如下图:
    【Zabbix】使用dbforbbix 2.2-beta监控Redhat 7.0上的Oracle、Mysql_第1张图片

版本选择

dbforbbix 2.2-beta

环境介绍

安装 DBforBIX 2.2-beta ,并监控 Oracle、Mysql的环境如下:

应用 版本 OS IP
Zabbix(已安装) 3.4 Redhat 7.0 192.168.200.212
jdk(已安装) 1.8 Redhat 7.0 192.168.200.212
dbforbbix(未安装) 2.2-beta Redhat 7.0 192.168.200.212
Oracle(已安装) 12c Redhat 7.0 192.168.200.213
Mysql(已安装) 5.0 Redhat 7.0 192.168.200.213

步骤1:下载DBforBIX

有两个地方可以下载,如下:
sourceforge下载地址:https://sourceforge.net/projects/dbforbix/files/
git下载地址:https://github.com/smartmarmot/DBforBIX

# 注意:以下均使用root账户进行操作。独立建帐户时,自行处理差别
mkdir /opt/dbforbix
cd /opt/dbforbix
wget https://excellmedia.dl.sourceforge.net/project/dbforbix/dbforbix-2.2-beta-linux64.tar.gz

步骤2:将DBforBix解压到/opt/dbforbix目录

cd /opt/dbforbix
tar -zxvf dbforbix-2.2-beta-linux64.tar.gz

步骤3:修改 DBforBix 配置文件 config.properties

  • DBforBIX 是java应用,通过jdbc监控数据库。因此,需要设置 DBforBix 的 jdbc配置。
  • DBforBIX 可以同时监控多个数据库。因此,DBforBix 的 jdbc配置也是可以多个。
  • DBforBix 的 jdbc配置语法:DB.DB<编号>.<属性名>,如:DB.DB1.Url、DB.DB4.Url。
  • DBforBix 提供了配置文件样例:/opt/dbforbix/conf/config.properties.sample
  • 将 config.properties.sample 改名为 config.properties,然后编辑config.properties文件
cd /opt/dbforbix/conf/
cp config.properties.sample config.properties
vi config.properties
-------------------------------------------------------------------------
#zabbix server  ip
ZabbixServer.1.Address=192.168.200.212
#zabbix server的默认端口:10051
ZabbixServer.1.Port=10051

# 修改DB.DB1:DBforBIX 连 oracle 配置
DB.DB1.Type=oracle
# zabbix中配置的host name。
DB.DB1.Name=zabbix_server213
DB.DB1.Url=jdbc:oracle:thin:@10.1.16.211:12131/srie
# ZABBIX账户的创建参考官方安装手册
DB.DB1.User=ZABBIX
DB.DB1.Password=123456
DB.DB1.MaxWait=10
DB.DB1.MaxSize=10
DB.DB1.MaxIdle=1
DB.DB1.ItemFile=oracle
DB.DB1.Persistence=FALSE

# 修改DB.DB4:DBforBIX 连 mysql 配置 (不监控Mysql则不用配置DB.DB4)
DB.DB4.Type=mysql
# zabbix中配置的host name。
DB.DB4.Name=zabbix_server213
DB.DB4.Url=jdbc:mysql://192.168.200.213:3306/
# ZABBIX账户的创建参考官方安装手册
DB.DB4.User=ZABBIX
DB.DB4.Password=123456
DB.DB4.MaxWait=10
DB.DB4.MaxSize=10
DB.DB4.MaxIdle=1
DB.DB4.ItemFile=mysql
DB.DB4.Persistence=FALSE

注:数据库账户,可以先用最大权限的账户。先保证DBforBIX能够工作,再调整权限。

步骤4:在 DBforBix 中添加jdbc驱动

  • DBforBIX 是java应用,通过jdbc监控数据库。因此,需要jdbc驱动才能工作。
  • dbforbbix 2.2-beta 中未提供jdbc驱动。因此,监控Oracle和Mysql时,所需的Oracle和Mysql需要自己手动添加驱动。
  • 将oracle和mysql驱动拷贝到/opt/dbforbix/lib目录:
    /opt/dbforbix/lib/mysql-connector-java-5.1.18.jar
    /opt/dbforbix/lib/ojdbc7-12.1.0.1.jar

步骤5:启动DBforBIX

  • 按照安装手册上的启动方式(linux7.0,未尝试Initd启动,仅尝试Systemd启动),没有启动。尝试多次,后放弃。
  • 直接执行脚本 dbforbix.sh ,未成功。缺少jsvc所致。
  • 安装好jsvc后,但是脚本dbforbix.sh还是未成功(此时,脚本执行无异常,但无dbforbix进程在运行)。遂放弃。
  • 使用java -jar启动dbforbix(DBforBIX 是java应用,所以可以使用此方式启动),成功(启动成功后,可以看到程序运行过程中打印的日志不停地刷屏)。能够成功启动的脚本如下:
cd /opt/dbforbix
java -Xbootclasspath/a:/opt/dbforbix/lib/mysql-connector-java-5.1.18.jar:/opt/dbforbix/lib/ojdbc7-12.1.0.1.jar -jar dbforbix.jar -a start -C /opt/dbforbix

注1:mysql和oracle驱动路径如果不一样,需要修改。
注2:至此,DBforBIX已经能够正常工作,但,仅表示DBforBIX已经能够正常工作。还需要让zabbix server能够接受并处理DBforBIX提供的数据。向zabbix server中导入DBforBIX提供的Oracle和Mysql模板,并启用模板后,zabbix 3.4 + DBforBIX 2.2-beta才算正常工作。

步骤6:导入模板

  • 向zabbix server中导入DBforBIX提供的Oracle和Mysql模板
  • 通过 zabbix web可以导入。
  • 模板在dbforbbix 2.2-beta安装包中。
    【Zabbix】使用dbforbbix 2.2-beta监控Redhat 7.0上的Oracle、Mysql_第2张图片
    【Zabbix】使用dbforbbix 2.2-beta监控Redhat 7.0上的Oracle、Mysql_第3张图片
    【Zabbix】使用dbforbbix 2.2-beta监控Redhat 7.0上的Oracle、Mysql_第4张图片

步骤7:启用模板,监控数据库

  • 建立名为 zabbix_server213 的被监控端。(参考:【zabbix】安装、配置agent,配置被监控端)
  • 为被监控端 zabbix_server213 添加Mysql和Oracle模板
    【Zabbix】使用dbforbbix 2.2-beta监控Redhat 7.0上的Oracle、Mysql_第5张图片

步骤8:查看监控图像

  • 至此,zabbix 3.4 + DBforBIX 2.2-beta已经正常工作。
  • 打开监控图像进行查看。

【Zabbix】使用dbforbbix 2.2-beta监控Redhat 7.0上的Oracle、Mysql_第6张图片

步骤9:DBforBIX改为systemd服务启动

  • 为了维护方便,将DBforBIX设置成开机自启动的启动方式。
  • DBforBIX 安装在了 Redhat 7.0 上,使用 systemd 将 DBforBIX 注册为系统服务
  • 在/opt/dbforbix/systemd目录下,存在2个样例: dbforbix.service 和 dbforbix-nojsvc.service 。
  • dbforbix.service : 使用 jsvc 启动服务
  • dbforbix-nojsvc.service : 使用 java 启动服务
  • 这里不使用 jsvc ,所以,先删除 dbforbix.service ,再将 dbforbix-nojsvc.service 重名为 dbforbix.service 。
/opt/dbforbix/systemd
rm dbforbix.service
mv dbforbix-nojsvc.service dbforbix.service
vim dbforbix.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
WorkingDirectory=/opt/dbforbix
ExecStart=/usr/java/jdk1.8/bin/java -Xbootclasspath/a:/opt/dbforbix/lib/mysql-connector-java-5.1.18.jar:/opt/dbforbix/lib/ojdbc7-12.1.0.1.jar -jar dbforbix.jar -a start -C /opt/dbforbix
ExecStop=/bin/kill -s TERM $MAINPID
SuccessExitStatus=143

[Install]
WantedBy=multi-user.target
-------------------------------------------------------
cp dbforbix.service /etc/systemd/system/dbforbix.service
systemctl daemon-reload
systemctl start dbforbix.service
  • 查看 dbforbix.service 日志,判断服务是否正确启动或有何问题
journalctl -flu dbforbix.service
  • 查看DBforBIX程序日志,检查运行状况
tail -f /opt/dbforbix/logs/dbforbix.log
  • 如果能够确认 DBforBIX 服务正常,将服务设为自启动
systemctl enable dbforbix.service

最后

至此, zabbix 3.4 + DBforBIX 2.2-beta 的设置已全部完成。

你可能感兴趣的:(zabbix)