在Zabbix中使用Orabbix插件监控Oracle数据库的配置方法

简介

参考文档:http://www.smartmarmot.com/wiki/index.php?title=Orabbix

Orabbix是一个与Zabbix配合使用的插件,可提供Oracle数据库的多重性能指标与可用性监控。Orabbix可安装在任意一台与Oracle数据库和zabbix server/proxy互通的服务器上,并监控多套数据库,可以利用Zabbix来收集这些数据,并为相关人员提供诸如图表和性能指标等数据。

Orabbix_architecture.pnguploading.4e448015.gif转存失败重新上传取消

Orabbix架构

 

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'

删除对纯文本协议的支持
在新版本中,已删除对纯本文协议的支持,现在强制使用Header。当 Zabbix 获取请求时,Zabbix server/proxy 被动检查请求和 Zabbix server 的前端请求均已添加 Header。
因此,Zabbix agent 1.4 之前的版本将不再支持。此外,如果 Header 不存在,来自 sender 的消息将拒绝。在此之前 Zabbix trapper 可以接收带 Headers 和不带 Headers 的消息,而现在之接受带协议 Headers 的消息。

https://www.zabbix.com/documentation/4.0/zh/manual/installation/upgrade_notes_400

好在已经有人帮我们解决这个问题,下载 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
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章