简介
参考文档:http://www.smartmarmot.com/wiki/index.php?title=Orabbix
Orabbix是一个与Zabbix配合使用的插件,可提供Oracle数据库的多重性能指标与可用性监控。Orabbix可安装在任意一台与Oracle数据库和zabbix server/proxy互通的服务器上,并监控多套数据库,可以利用Zabbix来收集这些数据,并为相关人员提供诸如图表和性能指标等数据。
Orabbix可监控包括如下指标:
- DB Version
- Archiving
- Event Waits
- Hit Ratio
- Logical I/O
- Physical I/O
- PGA
- SGA
- Shared Pool
- Pin Hit Ratio
- Sessions / Processes
- DBSize/DBFileSize
下载地址:http://www.smartmarmot.com/product/orabbix/download/ 或者https://sourceforge.net/projects/orabbix/
安装过程
1、安装jdk1.6
# 安装jdk
mkdir /usr/java
mv jdk-6u45-linux-x64.bin /usr/java/
cd /usr/java/
chmod +x jdk-6u45-linux-x64.bin
./jdk-6u45-linux-x64.bin
# 设置环境变量
vi /etc/profile
export JAVA_HOME=/usr/java/jdk1.6.0_45
export JAVA_BIN=/usr/java/jdk1.6.0_45/bin
export PATH=$PATH:$JAVA_HOME/bin
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export JAVA_HOME JAVA_BIN PATH CLASSPATH
# 环境变量立即生效
source /etc/profile
# 查看是否安装成功
java -version
2、安装Orabbix
# 创建安装文件夹并将安装包拷贝至文件夹
mkdir /opt/orabbix
mv orabbix-1.2.3.zip /opt/orabbix/
# 解压安装包
cd /opt/orabbix/
unzip orabbix-1.2.3.zip
# 拷贝启动文件至/etc/init.d
cp init.d/orabbix /etc/init.d/
chmod +x /etc/init.d/orabbix
chmod +x run.sh
# 添加自启动
chkconfig --add orabbix
chkconfig orabbix on
3、修改配置文件
cd /opt/orabbix/conf
cp config.props.sample config.props
# 编辑如下字段
vi config.props
ZabbixServerList=ZabbixServer1
ZabbixServer1.Address=192.168.128.181
ZabbixServer1.Port=10051
DatabaseList=DB1,DB2,DB3(该名称可自定义,需要与zabbix中的hostname保持一致)
#define here your connection string for each database
DB1.Url=jdbc:oracle:thin:@server.domain.example.com:<LISTENER_PORT>:DB1(行尾的DB1应为数据库名)
4、启动Orabbix
service orabbix start
报错如下:
Starting Orabbix service:
/opt/orabbix/run.sh: line 1: java: command not found
可将/opt/orabbix/run.sh中的java修改为具体路径,例如:
/usr/java/jdk1.6.0_45/bin/java -Duser.language=en -Duser.country=US -Dlog4j.configuration=./conf/log4j.properties -cp
$(for i in lib/*.jar ; do echo -n $i: ; done).:./orabbix-1.2.3.jar com.smartmarmot.orabbix.bootstrap start ./conf/conf
ig.props &
5、Zabbix导入模板并新增主机
导入template文件夹下的Orabbix_export_full.xml,新增主机,主机名称hostname与第三步配置文件中保持一致即可。
Zabbix4.x版本中 Orabbix报错的解决办法
检查/opt/orabbix/logs/orabbix.log,如果Zabbix的版本是4.x及以上,Orabbix会报错:
Orabbix - received unexpected response ' ' for key 'alive'
删除对纯文本协议的支持
https://www.zabbix.com/documentation/4.0/zh/manual/installation/upgrade_notes_400
在新版本中,已删除对纯本文协议的支持,现在强制使用Header。当 Zabbix 获取请求时,Zabbix server/proxy 被动检查请求和 Zabbix server 的前端请求均已添加 Header。
因此,Zabbix agent 1.4 之前的版本将不再支持。此外,如果 Header 不存在,来自 sender 的消息将拒绝。在此之前 Zabbix trapper 可以接收带 Headers 和不带 Headers 的消息,而现在之接受带协议 Headers 的消息。
好在已经有人帮我们解决这个问题,下载 https://github.com/hsnotebook/orabbix4zabbix4 ,上传到安装Orabbix的服务器上,运行build.sh,不用管报错(因为这是为docker准备的),在dist文件夹下会生成orabbix-1.2.3.jar,使用该jar包替换/opt/orabbix/orabbix-1.2.3.jar,重启orabbix即可。
service orabbix restart