【zabbix】zabbix-agent2替代odbc方案

背景:公司原先使用odbc的安装,通过无agent的方式连接到oracle,并根据zabbix自带的oracle by odbc模板进行数据库监控,但是在后续的使用过程中,发现有zabbix每间隔一段时间自动重启的问题,排查目前定位到mysql和oracle的odbc的采集,在zabbix官方文档中也提及了,odbc的不稳定性,以及不建议使用odbc采集的方式,所以才查看agent2的指标项,发现了可以自定义采集sql的指标项oracle.custom.query。

一、安装

rpm -Uvh https://repo.zabbix.com/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpm

yum clean all

yum install zabbix-agent2

二、新增配置

新增文件/etc/zabbix/zabbix_agent2.d/monitor_oracle.conf ,内容如下:

Plugins.Oracle.Sessions.demo.Uri=tcp://192.168.113.180:1521
Plugins.Oracle.Sessions.demo.User=bsm
Plugins.Oracle.Sessions.demo.Password=bsm
Plugins.Oracle.Sessions.demo.Service=orcl
Plugins.Oracle.CustomQueriesPath=/etc/zabbix/zabbix_agent2.d/oracle/sql

解析:

connString为demo,被调用执行sql查询文件目录在/etc/zabbix/zabbix_agent2.d/oracle/sql

安装oracle连接客户端

rpm -ivh https://download.oracle.com/otn_software/linux/instantclient/211000/oracle-instantclient-basic-21.1.0.0.0-1.x86_64.rpm

export ORACLE_HOME=/usr/lib/oracle/21/client64

export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/usr/lib64:$LD_LIBRARY_PATH

重启zabbix-agent2

systemctl start zabbix-agent2

三、启动并配置指标监控项

被调用执行sql查询文件目录新建一个get_data.sql,文件内容为select * from v$version;,然后通过zabbix_get测试

# 是否通

# zabbix_get -s 127.0.0.1 -p 10055 -k oracle.ping[demo]

1

# 执行sql

# zabbix_get -s 192.168.113.138 -p 10055 -k oracle.custom.query[demo,,,,get_data]

[{"BANNER":"Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production"},{"BANNER":"PL/SQL Release 11.2.0.1.0 - Production"},{"BANNER":"CORE\t11.2.0.1.0\tProduction"},{"BANNER":"TNS for Linux: Version 11.2.0.1.0 - Production"},{"BANNER":"NLSRTL Version 11.2.0.1.0 - Production"}]

返回以上信息,说明安装配置成功。

后记:同样想使用上述方法替换mysql的odbc连接,经过查看文档发现,mysql没有类似于oracle.custom.query的内置指标项。

你可能感兴趣的:(zabbix,实施,运维,zabbix,数据库,mysql)