Nagois監控oracle資料庫注意的地方
客戶端的nagios使用者必須加入oracle使用者組
/etc/oratab檔案必須存在,且ORACLE_SID:ORACLE_HOME必須存在
nagios使用者的.bash_profile檔案必須有ORACLE_SID和ORACLE_HOME變數
nagios客戶端
必須在nagios、oracle、root三個使用者下執行如下都正常的時候,nagios服務端才不會報錯
/usr/local/nagios/libexec/check_oracle --login SIDNAME
--
login tnsname相當於既監控了listener,也監控了DB
/usr/local/nagios/libexec/check_oracle中有如下內容
echo " $PROGNAME --tns "
echo " $PROGNAME --db "
echo " $PROGNAME --login "
echo " $PROGNAME --connect "
echo " $PROGNAME --cache "
echo " $PROGNAME --tablespace "
echo " $PROGNAME --oranames "
echo " $PROGNAME --tns <Oracle Sid or Hostname/IP address>"
echo " $PROGNAME --db <ORACLE_SID>"
echo " $PROGNAME --login <ORACLE_SID>"
echo " $PROGNAME --connect <ORACLE_SID>"
echo " $PROGNAME --cache <ORACLE_SID> <USER> <PASS> <CRITICAL> <WARNING>"
echo " $PROGNAME --tablespace <ORACLE_SID> <USER> <PASS> <TABLESPACE> <CRITICAL> <WARNING>"
echo " $PROGNAME --oranames <Hostname>"
其實發現
login時,sid和tnsname都可以正常使用
(客戶端nagios和oracle使用者執行如下語句都正常)
/usr/local/nagios/libexec/check_oracle --login ORACLE_SID(root使用者執行也正常,nagios服務端正常不報錯)
/usr/local/nagios/libexec/check_oracle --login tnsname(
但是
root使用者執行會報錯,nagios服務端也報錯,
除非把客戶端
/etc/oratab中SID名稱修改為tnsname
)
Dataguard情況的備庫環境下,本機的sid和本機的tnsname一般是不同的
使用sid時,發現監控的是主庫
使用tnsname時,nagios客戶端的nagios、oracle執行/usr/local/nagios/libexec/check_oracle --login tnsname都正常,
但是nagios客戶端的root執行/usr/local/nagios/libexec/check_oracle --login tnsname又報錯,從而nagios服務端也報錯,
除非在nagios客戶端修改/etc/oratab中SID名稱為tnsname名稱
如下dwdg既非SID也非tnsname,則報錯,oracle使用者下和root下報錯是不一樣的
[oracle@dwdg ~]$ /usr/local/nagios/libexec/check_oracle --login dwdg
CRITICAL - ORA-12504: TNS:listener was not given the SERVICE_NAME in CONNECT_DATA
[root@dwdg ~]# /usr/local/nagios/libexec/check_oracle --login dwdg
Cannot determine ORACLE_HOME for sid dwdg
如下DWDG138是tnsname的時候,關閉監聽,則報錯,oracle使用者下和root下報錯是一樣的,說明
使用login tnsname
可以監控監聽
[root@dwdg ~]# /usr/local/nagios/libexec/check_oracle --login DWDG138
CRITICAL - ORA-12541: TNS:no listener
[oracle@dwdg ~]$ /usr/local/nagios/libexec/check_oracle --login DWDG138
CRITICAL - ORA-12541: TNS:no listener
如下DWDG138是tnsname的時候,監聽正常,修改/etc/oratab中SID名稱為DWDG138,但是DB的實際SID是DW,但是關閉了DB,則報錯,
說明
使用login tnsname可以監控監聽和DB
[root@dwdg ~]# /usr/local/nagios/libexec/check_oracle --login DWDG138
CRITICAL - ORA-01034: ORACLE not available
此外login tnsname僅來自ORACLE_HOME/network/admin/tnsnames.ora,因ERP環境tns為ORACLE_HOME/network/admin/SID_hostname/tnsnames.ora,則ERP環境下需要cp ORACLE_HOME/network/admin/SID_hostname/tnsnames.ora ORACLE_HOME/network/admin/tnsnames.ora
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/30126024/viewspace-2132787/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 監控Oracle資料庫方法Oracle資料庫
- zabbix監控oracle資料庫Oracle資料庫
- Oracle資料庫的監控內容Oracle資料庫
- oracle資料庫效能監控的SQL(轉)Oracle資料庫SQL
- Oracle 資料庫監控SQL語句Oracle資料庫SQL
- Oracle資料庫監控工具:SpotlightOracle資料庫
- 資料庫監控資料庫
- Oracle資料庫監控Index的使用情況Oracle資料庫Index
- 監控Oracle資料庫的常用shell指令碼Oracle資料庫指令碼
- Zabbix+Python監控Oracle資料庫PythonOracle資料庫
- nagios-新增oracle資料庫監控iOSOracle資料庫
- 如何監控ORACLE資料庫表的增長量Oracle資料庫
- [轉]監控Oracle資料庫的常用shell指令碼Oracle資料庫指令碼
- 監控Oracle資料庫效能的指令碼段整理Oracle資料庫指令碼
- 監控Oracle資料庫的常用shell指令碼(轉)Oracle資料庫指令碼
- 資料庫效能監控資料庫
- 監控資料庫效能的SQL資料庫SQL
- Oracle 19C+13.4EMCC資料庫監控Oracle資料庫
- 【SQL】Oracle資料庫監控sql執行情況SQLOracle資料庫
- 【SQL】Oracle資料庫SQL監控報告示例SQLOracle資料庫
- Zabbix5.0 配置 ODBC 監控 Oracle 資料庫Oracle資料庫
- oracle資料庫執行狀態監控SHELLOracle資料庫
- ORACLE資料庫管理員定期監控任務Oracle資料庫
- 幾個重要的指令碼來監控Oracle資料庫指令碼Oracle資料庫
- 【轉載】監控Oracle資料庫的常用shell指令碼Oracle資料庫指令碼
- MySQL監控-Datadog資料庫監控調研MySql資料庫
- 資料庫繁忙程度監控資料庫
- 資料庫監控軟體資料庫
- SQL Server資料庫監控SQLServer資料庫
- 資料庫監控指令碼資料庫指令碼
- 監控資料庫指令碼資料庫指令碼
- 多臺ORACLE資料庫表空間監控方案Oracle資料庫
- Oracle資料庫記憶體監控及意義Oracle資料庫記憶體
- 基於Prometheus的資料庫監控Prometheus資料庫
- Nagios主動監控oracle資料庫check_oracle_healthiOSOracle資料庫
- 資料庫監控---PIGOSS BSM資料庫Go
- shell監控mysql 8.0資料庫MySql資料庫
- shell監控mysql 5.7資料庫MySql資料庫