本文适用于3.x版本zabbix,如果使用5.4以上版本可使用此文↓↓↓
在Zabbix5.4上使用ODBC监控Oracle数据库_谷凯Jump的博客-优快云博客_zabbix通过odbc监控oracle
6.0版本zabbix请使用:
在OracleLinux8.6的Zabbix6.0中监控Oracle11gR2_谷凯Jump的博客-优快云博客
阅读此篇文章的知识前提:
已有使用Zabbix平台监控其他服务器的经验。
概述:
orabbix实质为zabbix的一种代理agent服务,它将搜集oracle数据库的信息,将相关信息上传到zabbix平台,然后在zabbix实施监控/报警等操作。
1. 创建zabbix数据库账号
必须创建用于读取数据库信息的数据库用户(如:ZABBIX)
CREATE USER ZABBIX IDENTIFIED BY 123456 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;
2. 安装ORABBIX服务
该服务可安装在zabbix server上,亦可以安装在任意一台的linux服务器;由于我这里zabbix server性能充足,故将orabbix直接安装在zabbix server上。
2.1 由于orabbix需使用jre环境,故先安装jre
sudo apt-get install default-jre
#如果是CentOS则使用 yum install jre即可
2.2 下载orabbix,并编辑配置
cd /opt
mkdir orabbix
cd orabbix
wget https://nchc.dl.sourceforge.net/project/orabbix/orabbix-1.2.3.zip
#若服务器无法联网,可直接到官网下载 http://www.smartmarmot.com/product/orabbix/download/
unzip orabbix-1.2.3.zip #解压安装包
chmod -R a+x /opt/orabbix/ #执行权限
cp /opt/orabbix/conf/config.props.sample /opt/orabbix/conf/config.props #拷贝默认配置
vi /opt/orabbix/conf/config.props #编辑配置
2.3 示例如下
#comma separed list of Zabbix servers
ZabbixServerList=ZabbixServer1
ZabbixServer1.Address=10.255.255.13 #我的zabbix server IP
ZabbixServer1.Port=10051
#ZabbixServer2.Address=IP_ADDRESS_OF_ZABBIX_SERVER
#ZabbixServer2.Port=PORT_OF_ZABBIX_SERVER
#pidFile
OrabbixDaemon.PidFile=./logs/orabbix.pid
#frequency of item's refresh
OrabbixDaemon.Sleep=300
#MaxThreadNumber should be >= than the number of your databases
OrabbixDaemon.MaxThreadNumber=100
#put here your databases in a comma separated list
DatabaseList=MESDB
#Configuration of Connection pool
#if not specified Orabbis is going to use default values (hardcoded)
#Maximum number of active connection inside pool
DatabaseList.MaxActive=10
#The maximum number of milliseconds that the pool will wait
#(when there are no available connections) for a connection to be returned
#before throwing an exception, or <= 0 to wait indefinitely.
DatabaseList.MaxWait=100
DatabaseList.MaxIdle=1
#define here your connection string for each database
#此处的url为jdbc:oracle:thin的书写方式,不懂的可以百度
MESDB.Url=jdbc:oracle:thin:@(DESCRIPTION =(ADDRESS = (PROTOCOL = TCP)(HOST =10.255.32.11)(PORT = 1521))(ADDRESS = (PROTOCOL = TCP)(HOST =10.255.32.21)(PORT = 1521))(LOAD_BALANCE=yes)(CONNECT_DATA =(SERVER = DEDICATED)(SERVICE_NAME = MESD
B)))
MESDB.User=zabbix
MESDB.Password=zabbix
#Those values are optionals if not specified Orabbix is going to use the general values
MESDB.MaxActive=10
MESDB.MaxWait=100
MESDB.MaxIdle=1
MESDB.QueryListFile=./conf/query.props
2.4 执行指令看是否运行正常
/opt/orabbix/run.sh
3. 配置zabbix模板信息
将下载的orabbix-1.2.3.zip template目录中的Orabbix_export_full.xml导入为zabbix模板
4. 配置主机信息
5. 监控效果