在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
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章