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/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Zabbix+Python監控Oracle資料庫PythonOracle資料庫
- Zabbix5.0 配置 ODBC 監控 Oracle 資料庫Oracle資料庫
- 【SQL】Oracle資料庫監控sql執行情況SQLOracle資料庫
- 【SQL】Oracle資料庫SQL監控報告示例SQLOracle資料庫
- Oracle 19C+13.4EMCC資料庫監控Oracle資料庫
- MySQL監控-Datadog資料庫監控調研MySql資料庫
- 監控資料庫活動資料庫
- 資料庫監控---PIGOSS BSM資料庫Go
- 資料庫繁忙程度監控資料庫
- Oracle資料庫監控和運維關注哪些方面Oracle資料庫運維
- 使用免費的Oracle雲服務-使用並監控ATP資料庫Oracle資料庫
- Zabbix監控神通資料庫教程資料庫
- shell監控mysql 8.0資料庫MySql資料庫
- shell監控mysql 5.7資料庫MySql資料庫
- Python呼叫阿里雲資料庫監控資料Python阿里資料庫
- Oracle資料庫表設計時的注意事項Oracle資料庫
- 資料庫DML監控一例資料庫
- 資料庫管理-第145期 最強Oracle監控EMCC深入使用-02(20240205)資料庫Oracle
- 自定義帶監控的資料庫連線池資料庫
- zabbix6.2新增mysql資料庫監控MySql資料庫
- Spark+Kafka實時監控Oracle資料預警SparkKafkaOracle
- 資料庫監控工具--PIGOSSBSM運維監控管理系統資料庫Go運維
- MySQL資料庫與Nacos搭建監控服務MySql資料庫
- BigDecimal使用注意的地方Decimal
- 如何使用 taosKeeper 做好監控工作,時序資料庫 TDengine 3.0 監控工具詳解資料庫
- UAVStack的慢SQL資料庫監控功能及其實現SQL資料庫
- 最新!2019 年最好用的 7 款資料庫監控工具資料庫
- 監控資料庫連線遇到的一個小問題資料庫
- 效能測試之資料庫監控分析工具PMM資料庫
- 幾款SQLSERVER資料庫監控軟體介紹SQLServer資料庫
- 前端資料監控到底在監控什麼?前端
- 藍橋杯注意的地方
- Oracle資料庫-----資料庫的基本概念Oracle資料庫
- ORACLE監控之OSW部署Oracle
- 系統監控&JVM監控指標資料查詢JVM指標
- Oracle 資料匯出注意事項Oracle
- Zabbix如何監控Oracle的告警日誌Oracle
- 監控採集上報和儲存監控資料策略
- 「Oracle」Oracle 資料庫安裝Oracle資料庫