zabbix 監控oracle數據庫-orabbix插件安裝

zabbix無法直接監控oracle,因此我們需要藉助第三方插件orabbix,oracle提供了衆多的數據庫性能監控。

環境

系統環境:centos7

zabbix版本:3.4.2

Orabbix版本:1.2.3

Oracle:oracle 11g

 

數據庫端

開通監控賬號配置

#su - oracle

#export ORACLE_SID=test

#sqlplus /nolog

#conn /as sysdba

執行以下sql

create user zabbix identified by "zabbix" default tablespace system temporary tablespace temp profile default account unlock;

grant alter session to zabbix;

grant create session to zabbix;

grant connect to zabbix;

alter user zabbix default role all;

grant select on v_$instance to zabbix;

grant select on dba_users to zabbix;

grant select on v_$log_history to zabbix;

grant select on v_$parameter to zabbix;

grant select on sys.dba_audit_session to zabbix;

grant select on v_$lock to zabbix;

grant select on dba_registry to zabbix;

grant select on v_$librarycache to zabbix;

grant select on v_$sysstat to zabbix;

grant select on v_$parameter to zabbix;

grant select on v_$latch to zabbix;

grant select on v_$pgastat to zabbix;

grant select on v_$sgastat to zabbix;

grant select on v_$librarycache to zabbix;

grant select on v_$process to zabbix;

grant select on dba_data_files to zabbix;

grant select on dba_temp_files to zabbix;

grant select on dba_free_space to zabbix;

grant select on v_$system_event to zabbix;

 

Oracle 11g或以上,所以還需要添加以下命令:

execdbms_network_acl_admin.create_acl(acl => 'resolve.xml',description =>'resolve acl', principal =>'ZABBIX', is_grant => true, privilege =>'resolve');

 exec dbms_network_acl_admin.assign_acl(acl=> 'resolve.xml', host =>'*');

 commit;

 

服務器端

安裝Java環境

到官方http://www.oracle.com/technetwork/java/javase/downloads/ 下載jre或jdk 安裝即可,使用命令java –version有版本號碼。

 

 

安裝Orabbix 

1.下載orabix

地址:http://www.smartmarmot.com/product/orabbix/download/

 

2.安裝orabbix

mkdir /opt/orabbix

mv orabbix-1.2.3.zip /opt/orabbix

cd /opt/orabbit

unzip orabbix-1.2.3.zip

 

3. 授予文件可執行的權限

chmod a+x /opt/orabbix –R

 

4. 複製一個名爲config.props文件

cp /opt/orabbix/conf/config.props.sample /opt/orabbix/conf/config.props

 

5. 修改confi.props配置文件

[root@zabbix conf]#vi config.props

ZabbixServerList=ZabbixServer1

注:以上等號後的名字必須與下行中等號前名字保持一樣。

ZabbixServer1.Address=192.168.101.230

ZabbixServer1.Port=10051

注:以上端口號爲與Zabbix Server通訊的端口,我這裏是將OrabbixZabbix裝在同一臺機器上的,如果不在同一臺機器,那裝Orabbix的機器需要先裝Zabbix Agent,否則數據將無法傳送到Zabbix Server

#ZabbixServer2.Address=IP_ADDRESS_OF_ZABBIX_SERVER

#ZabbixServer2.Port=PORT_OF_ZABBIX_SERVER

注:以上本來行首是沒有#號的,但我們這裏沒有第二個Zabbix Server,所以這裏將它註銷了。

 

OrabbixDaemon.PidFile=./logs/orabbix.pid

OrabbixDaemon.Sleep=300

OrabbixDaemon.MaxThreadNumber=100

 

DatabaseList=DB1,DB2

注:

1.     以上等號後的名字可以自己任意取名,但在Zabbix中添加Oracle Host時,必須用你在此設定的名字,否則無法監測。

2.     以上等號後面的值修改後,在下面的數據庫連接定義=處,也需要修改相應的名字;

3.     這裏建議使用Server Name-DBSID的方式來命名。

 

DatabaseList.MaxActive=10

DatabaseList.MaxWait=100

DatabaseList.MaxIdle=1

 

DB1.Url=jdbc:oracle:thin:@192.168.153.123:1521: ORCL

注:

1.     以上行開始的那個值,需要與之前DatabaseList後面的值保持一樣。

2.     192.168.153.123Oracle服務器的地址,1521TNS PortORCLDB SID

 

DB1.User=system

DB1.Password=oracle

注:以上爲訪問數據庫的用戶名和密碼

 

#Those values are optionals if not specified Orabbix is going to use thegeneral values.

DB1.MaxActive=10

DB1.MaxWait=100

DB1.MaxIdle=1

DB1.QueryListFile=./conf/query.props

 

#DB2.Url=jdbc:oracle:thin:@server2.domain.example.com:<LISTENER_PORT>:DB2

#DB2.User=zabbix

#DB2.Password=zabbix_password

#DB2.QueryListFile=./conf/query.props

 

#DB3.Url=jdbc:oracle:thin:@server3.domain.example.com:<LISTENER_PORT>:DB3

#DB3.User=zabbix

#DB3.Password=zabbix_password

#DB3.QueryListFile=./conf/query.props

 

添加和啓動服務

#cp -a /opt/orabbix/init.d/orabbix /etc/init.d/orabbix

#/etc/init.d/orabbix start

#Starting Orabbix service:

# ps aux |grep orabbix

 

啓動問題

如果以上的config.props文件沒有配置,或是配置了,但無法通過配置的信息正確連進Oracle數據庫的話,執行以上命令,可是run.sh會出現如下的錯誤提示

[root@zabbix orabbix]# /etc/init.d/orabbix start

cat: /opt/orabbix/conf/config.props: No such file ordirectory

Starting Orabbix service:

[root@zabbix orabbix]# Stopping

java.lang.Exception: ERROR on main - Connections is empty

     atcom.smartmarmot.orabbix.Orabbixmon.run(Orabbixmon.java:101)

     atcom.smartmarmot.orabbix.bootstrap.main(bootstrap.java:50)

 

[root@zabbix orabbix]# ./run.sh

[root@zabbix orabbix]# Stopping

java.lang.Exception: ERROR on main - Connections is empty

     atcom.smartmarmot.orabbix.Orabbixmon.run(Orabbixmon.java:101)

     at com.smartmarmot.orabbix.bootstrap.main(bootstrap.java:50)

 

zabbix配置

導入模板

模板在/opt/orabbix/template

Orabbix_export_full.xml 全部導入(圖表 監控項 觸發器)

Orabbix_export_graphs.xml 圖表

Orabbix_export_items.xml 監控項

Orabbix_export_triggers.xml 觸發器

添加主機

主機名必須跟config.props裏面定義的名稱的配置保持一致

 

關聯模板

 

查看數據

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