中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Zabbix如何監控Oracle

發布時間:2021-08-26 14:12:28 來源:億速云 閱讀:185 作者:chen 欄目:服務器

本篇內容主要講解“Zabbix如何監控Oracle”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“Zabbix如何監控Oracle”吧!

Orabbix簡介

   Orabbix是設計用來為zabbix監控Oracle的數據庫的插件,它提供多層次的監控,包括可用性和服務器性能的指標。

  它提供了從眾多Oracle實例采集的有效機制,進而提供此信息的監控和性能指標。然后,您可以利用的zabbix的報告功能為收集的所有數據,并提供分析。目前的發行版中包含了一組預先定義的模板,包括從初始部署報警和圖形功能。然而,這些可以進行微調,以滿足您額需求和數據/監控要求。

Orabbix監控的內容

  1、數據庫版本

  2、歸檔日志與生產趨勢

  3、觸發器,表/過程命中率

  4、邏輯IO性能

  5、物理IO性能

  6、PGA

  7、SGA

  8、共享池

  9、Session

  10、數據庫大小

Orabbix 是一個用來監控  Oracle  數據庫實例的 Zabbix 插件。(插件安裝在zabbix-server端)

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

 zabbix-server上操作
Orabbix是通過JDBC去連接oracle數據庫,然后過濾想要的數據,所以需要jdk環境

我測試過jdk1.7和1.8都可以,直接yum安裝,或者下載rpm包,rpm -ivh安裝,都可以

這里,我是直接rpm安裝的,

[root@zabbix ~]# rpm -ivh jdk-8u102-linux-x64.rpm
 
Preparing...                ########################################### [100%]
 
  1:jdk1.8.0_102          ########################################### [100%]

在/opt目錄下新建一個orabbix目錄:

[root@oracle orabbix]#mkdir -p /opt/orabbix

(建議在此目錄下,如果放置其他目錄稍后需要更改orabbix的啟動文件orabbix,啟動文件默認寫在opt/orabbix目錄下 )

[root@zabbix opt]# cd orabbix/

上傳orabbix-1.2.3.zip

[root@zabbix orabbix]# ls
 
orabbix-1.2.3.zip
 
解壓
 
[root@zabbix orabbix]# unzip -q orabbix-1.2.3.zip
 
[root@zabbix orabbix]# ls
 
conf  init.d      lib      orabbix-1.2.3.zip  orabbixw.exe  run.sh    uninstall.cmd
 
doc  install.cmd  orabbix-1.2.3.jar  orabbix.exe        run.bat      template
 
授權
 
[root@zabbix orabbix]# cd ..
 
[root@zabbix opt]# chmod -R a+x orabbix/
 
[root@zabbix ~]# cd /opt/orabbix/conf/
 
[root@zabbix conf]# ls
 
config.props    log4j.properties    query_a_1.props  query_b.props    query.props
 
config.props.sample  log4j.properties.sample  query_a.props  query - Copy.props  query.props.sample
 
[root@zabbix conf]# cp config.props.sample config.props

編輯配置文件:

[root@zabbix conf]# vim config.props

源配置文件

[root@zabbix conf]# egrep "^[a-Z,1-9]" config.props.sample
 
ZabbixServerList=ZabbixServer1,ZabbixServer2
 
ZabbixServer1.Address=IP_ADDRESS_OF_ZABBIX_SERVER
 
ZabbixServer1.Port=PORT_OF_ZABBIX_SERVER
 
ZabbixServer2.Address=IP_ADDRESS_OF_ZABBIX_SERVER
 
ZabbixServer2.Port=PORT_OF_ZABBIX_SERVER
 
OrabbixDaemon.PidFile=./logs/orabbix.pid
 
OrabbixDaemon.Sleep=300
 
OrabbixDaemon.MaxThreadNumber=100
 
DatabaseList=DB1,DB2,DB3
 
DatabaseList.MaxActive=10
 
DatabaseList.MaxWait=100
 
DatabaseList.MaxIdle=1
 
DB1.Url=jdbc:oracle:thin:@server.domain.example.com:<LISTENER_PORT>:DB1
 
DB1.User=zabbix
 
DB1.Password=zabbix_password
 
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

修改之后

[root@zabbix conf]# egrep "^[a-Z,1-9]" config.props
 
ZabbixServerList=ZabbixServer1  #(zabbixserver的名字,下行中address和port都引用到了這個名字,所以下面兩行的前綴名字要與這里的名字保持一致)
 
ZabbixServer1.Address=127.0.0.1    #我這里就是在zabbix server上面操作的,所以這里是127.0.0.1
 
ZabbixServer1.Port=10051  #zabbix server的服務端口
 
OrabbixDaemon.PidFile=./logs/orabbix.pid
 
OrabbixDaemon.Sleep=300
 
OrabbixDaemon.MaxThreadNumber=100
 
DatabaseList=172.20.10.183-oracle,192.168.56.99-oracle  #這里很重要,跟下面的對應上
 
DatabaseList.MaxActive=10
 
DatabaseList.MaxWait=100
 
DatabaseList.MaxIdle=1
 
172.20.10.183-oracle.Url=jdbc:oracle:thin:@172.20.10.183:1521:orcl      #172.20.10.183 oracle數據庫的地址,1521端口,orcl數據庫實例名
 
172.20.10.183-oracle.User=zabbix      #授權的賬號
 
172.20.10.183-oracle.Password=zabbix  #授權的密碼
 
172.20.10.183-oracle.MaxActive=10
 
172.20.10.183-oracle.MaxWait=100
 
172.20.10.183-oracle.MaxIdle=1
 
172.20.10.183-oracle.QueryListFile=./conf/query.props    #要查詢的語句都在這定義的,不滿意自己改

oracle主機上操作(這步可以省略,只要知道數據庫實例,賬號,密碼)
下面是oracle 11g的(12c 語法不一樣)授權語句如下,創用戶,授權,這些操作,我都是在oracle數據庫的sqlplus下執行的

登錄數據庫并授予用戶相關權限即可。

DatabaseList中放的是被監控的數據庫主機名,該名稱要和zabbix server界面中的機器名稱保持一致

你會發現有一些監控項dbfilesize,dbsize沒有值,這是因為/opt/orabbix/conf/query.props文件沒有把這兩個加入進查詢的List下面,可以從query.props.sample把這兩項復制進去

 在QueryList最后面加上dbfilesize,dbsize

然后在文件末尾加入:

1

2

3

4

5

6

7

8

dbfilesize.Query=select to_char(sum(bytes/1024/1024/10), 'FM99999999999999990') retvalue from dba_data_files

 

dbsize.Query=SELECT to_char(sum( NVL(a.bytes/1024/1024/10 - NVL(f.bytes/1024/1024/10, 0), 0)), 'FM99999999999999990') retvalue \

FROM sys.dba_tablespaces d, \

(select tablespace_name, sum(bytes) bytes from dba_data_files group by tablespace_name) a, \

(select tablespace_name, sum(bytes) bytes from dba_free_space group by tablespace_name) f \

WHERE d.tablespace_name = a.tablespace_name(+) AND d.tablespace_name = f.tablespace_name(+) \

AND NOT (d.extent_management like 'LOCAL' AND d.contents like 'TEMPORARY')


在oracle數據庫上創建zabbix用戶,并授權

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

CREATE USER zabbix

IDENTIFIED BY zabbix

DEFAULT TABLESPACE SYSTEM

TEMPORARY TABLESPACE TEMP

PROFILE DEFAULT

ACCOUNT UNLOCK;

– 2 Roles for ZABBIX

GRANT CONNECT TO ZABBIX;

GRANT RESOURCE TO ZABBIX;

ALTER USER ZABBIX DEFAULT ROLE ALL;

– 5 System Privileges for ZABBIX

GRANT SELECT ANY TABLE TO ZABBIX;

GRANT CREATE SESSION TO ZABBIX;

GRANT SELECT ANY DICTIONARY TO ZABBIX;

GRANT UNLIMITED TABLESPACE TO ZABBIX;

GRANT SELECT ANY DICTIONARY TO ZABBIX;

  如果需要嚴格的權限控制,可以執行如下腳本

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

CREATE USER zabbix

IDENTIFIED BY zabbix

DEFAULT TABLESPACE USERS

TEMPORARY TABLESPACE TEMP

PROFILE DEFAULT

ACCOUNT UNLOCK;

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_$LOG 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;
 GRANT SELECT ON V_$locked_object TO zabbix;
 GRANT SELECT ON dba_objects TO zabbix;
 GRANT SELECT ON dba_tablespaces TO zabbix;
 GRANT SELECT ON v_$SESSION TO zabbix;

啟動orabbix

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

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

-rwxr-xr-x 1 root root 1693 Sep 14 21:40 /etc/init.d/orabbix

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

linux7   啟動orabbix

1
2
3

chkconfig --add orabbix

systemctl start orabbix

chkconfig orabbix on

Starting Orabbix service:

報錯的話,檢查配置文件,數據庫地址,端口,實例名,賬號,密碼是否正確,需要驗證對于不懂oracle的怎么辦,搜命令唄,我也是一路過來,各種坑~~~~~

然后里面看日志

[root@zabbix orabbix]# tailf /opt/orabbix/logs/orabbix.log

 [main] INFO  Orabbix - --------- on Database -> orcl

 [pool-1-thread-1] WARN  Orabbix - Error while executing ->dbversion- on database ->172.20.10.183-oracle- Exception received ORA-24247: network access denied by access control list (ACL)

ORA-06512: at "SYS.UTL_INADDR", line 4

ORA-06512: at "SYS.UTL_INADDR", line 35

ORA-06512: at line 1

出現這些日志,不影響后面的操作

如果是oracle11g用戶還需要開放ACL訪問控制

1

2

3

exec dbms_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;

到此,安裝配置完成,則通過web頁面訪問監控界面直接導入模板即可

模版放置在/opt/orabbix/template下
Orabbix_export_full.xml          #只需要導入這個一個模板就好

 Zabbix如何監控Oracle

添加主機

 Zabbix如何監控Oracle

然后鏈接oracle的模板

 Zabbix如何監控Oracle

添加完成之后的效果

Zabbix如何監控Oracle

查看最新數據

 Zabbix如何監控Oracle

這時候圖也有了

Zabbix如何監控Oracle

常見錯誤

[root@zabbix orabbix]# tailf /opt/orabbix/logs/orabbix.log

 [main] ERROR Orabbix - Error on Configurator for database 172.20.10.183 oracle -->ORA-01017: invalid username/password; logon denied

config.props配置文件中,數據庫賬號密碼不對,或者在oracle數據庫沒授權這個用戶

到此,相信大家對“Zabbix如何監控Oracle”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

利辛县| 云林县| 灌云县| 新晃| 宝坻区| 高青县| 即墨市| 来凤县| 通江县| 临安市| 西藏| 博乐市| 巨野县| 侯马市| 科尔| 农安县| 乌鲁木齐市| 淮北市| 柯坪县| 庄浪县| 北宁市| 句容市| 图木舒克市| 育儿| 津南区| 郓城县| 青川县| 镇康县| 申扎县| 三亚市| 马公市| 泸定县| 老河口市| 玛多县| 甘德县| 昌图县| 厦门市| 当涂县| 凤翔县| 鸡东县| 渭南市|