簡介
參考文檔: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