Zabbix+Python監控Oracle資料庫
一、規劃監控項
監控資料庫的目的是為了保障資料庫穩定執行,一旦出現故障,dba能夠及時發現並介入處理,監控項分為以下兩類
1. 資料庫空間不足或資料庫發生故障,DBA需要立即處理。
監控項包括表空間、使用者狀態、例項狀態、鎖、大量等待事件、閃回區使用率等。此類監控項需要給其設定觸發器,一旦出現異常,及時告警。
2. 資料庫執行狀態的一些統計資訊,為DBA定位資料庫效能問題發生的時間和類別提供參考。
監控項包括常見的等待事件發生的次數,命中率、硬解析比例等。
下面表格中列出附件中模板的監控項
二、安裝配置步驟
環境說明:
實測環境Ubuntu 16 + Zabbix server 4.2 + python 3.5 + Oracle Client 19 , 被監控Oracle 11G及以上
-
安裝oracle客戶端
oracle-instantclient-basic-linuxx64.rpm
oracle-instantclient-devel-linuxx64.rpm
oracle-instantclient-sqlplus-linuxx64.rpm
配置環境變數
vi + /etc/profile
---------------------------------------------
export ORACLE_HOME=/usr/lib/oracle/19.6/client64
export LD_LIBRARY_PATH=$ORACLE_HOME/lib
export PATH=$PATH:$ORACLE_HOME/bin
執行下面的命令讓配置生效
source /etc/profile
新增動態庫配置檔案
vi + /etc/ld.so.conf.d/oracle.conf
---------------------------------------
/usr/lib/oracle/19.6/client64/lib
執行命令ldconfig
建立TNS配置檔案
mkdir -p /usr/lib/oracle/19.6/client64/network/admin
vi tnsnames.ora
chown -R python:python /usr/lib/oracle/19.6/client64/network/admin
-
配置環境變數
vim /home/python/.bashrc
新增如下內容
export ORACLE_HOME=/usr/lib/oracle/11.2/client64
export TNS_ADMIN=$ORACLE_HOME/network/admin
export NLS_LANG='simplified chinese_china'.ZHS16GBK
export LD_LIBRARY_PATH=$ORACLE_HOME/lib
export PATH=$ORACLE_HOME/bin:$PATH
生效環境變數:source /home/python/.bashrc
-
安裝python相關包, 安裝cx_Oracle(python連線oracle的包)
新的版本:
安裝指導:
root@zabbix: # python -m pip install cx_Oracle --upgrade
Collecting cx_Oracle
Downloading (736kB)
100% |████████████████████████████████| 737kB 1.3MB/s
Installing collected packages: cx-Oracle
Successfully installed cx-Oracle-7.3.0
You are using pip version 9.0.3, however version 20.1 is available.
You should consider upgrading via the 'pip install --upgrade pip' command.
-
安裝argparse
wget --no-check-certificate
python get-pip.py
pip install argparse
-----------------排錯pip--------------
root@zabbix:~# python3 --version
root@zabbix:~# sudo apt install python3-pip
root@zabbix:~# pip3 show argparse
You are using pip version 8.1.1, however version 20.1 is available.
You should consider upgrading via the 'pip install --upgrade pip' command.
root@zabbix:~# pip3 install --upgrade pip
Collecting pip
Downloading (1.5MB)
100% |████████████████████████████████| 1.5MB 387kB/s
Installing collected packages: pip
Found existing installation: pip 8.1.1
Not uninstalling pip at /usr/lib/python3/dist-packages, outside environment /usr
Successfully installed pip-20.1
root@zabbix:~# pip install argparse
Collecting argparse
Downloading argparse-1.4.0-py2.py3-none-any.whl (23 kB)
Installing collected packages: argparse
Successfully installed argparse-1.4.0
root@zabbix:~# pip show argparse
Name: argparse
Version: 1.4.0
Summary: Python command-line parsing library
Home-page:
Author: Thomas Waldmann
Author-email: tw@waldmann-edv.de
License: Python Software Foundation License
Location: /usr/local/lib/python3.5/dist-packages
Requires:
Required-by:
root@zabbix:~# python get-pip.py
Collecting pip<10
Downloading (1.4MB)
100% |████████████████████████████████| 1.4MB 460kB/s
Collecting setuptools<37
Downloading (482kB)
100% |████████████████████████████████| 491kB 2.4MB/s
Collecting wheel<0.30
Downloading (66kB)
100% |████████████████████████████████| 71kB 2.4MB/s
Installing collected packages: pip, setuptools, wheel
Found existing installation: pip 20.1
Uninstalling pip-20.1:
Successfully uninstalled pip-20.1
Successfully installed pip-9.0.3 setuptools-36.8.0 wheel-0.29.0
You are using pip version 9.0.3, however version 20.1 is available.
You should consider upgrading via the 'pip install --upgrade pip' command.
-
上傳python指令碼
zabbix監控模板下載:
將附件中的pyora.py指令碼放入/usr/lib/zabbix/externalscripts/目錄下賦許可權,讓zabbix使用者能夠執行該指令碼
chmod 755 /usr/lib/zabbix/externalscripts/pyora.py
[注意:先在被監控機的oracle資料庫中建立監控使用者,使用者名稱和密碼可以自己隨意指定
create user zabbix identified by zabbix;
grant connect,select any dictionary to zabbix;]
-
環境測試指令碼--
root@zabbix:# python pyora.py --username db_user --password db_paas --address Monitor_DB_ip --port 15xx
--database db_name show_tablespaces
上面測試指令碼的引數說明
username: 使用者名稱
password: 密碼
address: 被監控機ip地址
port: 埠號
database: oracle service name
有返回結果表示指令碼能正常執行
-
zabbix監控主機中配置
在zabbix頁面中,依次點選 Configuration – Hosts – Create host – Hostname (輸入ip地址) – groups (選Linux servers) – Templates (選擇Pyora_ExternalCheck_11G) – 點選上面的Add – Macros – 點選上面的Add新增宏,全部新增完畢後,點選下面的Add,主機即新增完畢。
-
檢視監控資料:
依次點選 Monitoring – Latest Data – Host (選擇對應的主機),則可以看到監控的資料了
參考: https://www.cnblogs.com/ddzj01/p/10769448.html
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/678020/viewspace-2689625/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Oracle 19C+13.4EMCC資料庫監控Oracle資料庫
- 【SQL】Oracle資料庫監控sql執行情況SQLOracle資料庫
- 【SQL】Oracle資料庫SQL監控報告示例SQLOracle資料庫
- Zabbix5.0 配置 ODBC 監控 Oracle 資料庫Oracle資料庫
- MySQL監控-Datadog資料庫監控調研MySql資料庫
- 資料庫監控---PIGOSS BSM資料庫Go
- 監控資料庫活動資料庫
- 資料庫繁忙程度監控資料庫
- Oracle資料庫監控和運維關注哪些方面Oracle資料庫運維
- Zabbix監控神通資料庫教程資料庫
- shell監控mysql 8.0資料庫MySql資料庫
- shell監控mysql 5.7資料庫MySql資料庫
- Python呼叫阿里雲資料庫監控資料Python阿里資料庫
- 使用免費的Oracle雲服務-使用並監控ATP資料庫Oracle資料庫
- 資料庫DML監控一例資料庫
- 資料庫管理-第145期 最強Oracle監控EMCC深入使用-02(20240205)資料庫Oracle
- zabbix6.2新增mysql資料庫監控MySql資料庫
- Spark+Kafka實時監控Oracle資料預警SparkKafkaOracle
- 資料庫監控工具--PIGOSSBSM運維監控管理系統資料庫Go運維
- MySQL資料庫與Nacos搭建監控服務MySql資料庫
- 如何使用 taosKeeper 做好監控工作,時序資料庫 TDengine 3.0 監控工具詳解資料庫
- 效能測試之資料庫監控分析工具PMM資料庫
- 幾款SQLSERVER資料庫監控軟體介紹SQLServer資料庫
- 自定義帶監控的資料庫連線池資料庫
- 前端資料監控到底在監控什麼?前端
- ORACLE監控之OSW部署Oracle
- 系統監控&JVM監控指標資料查詢JVM指標
- 「Oracle」Oracle 資料庫安裝Oracle資料庫
- 監控採集上報和儲存監控資料策略
- UAVStack的慢SQL資料庫監控功能及其實現SQL資料庫
- 最新!2019 年最好用的 7 款資料庫監控工具資料庫
- 效能測試之資料庫監控分析工具Grafana+Prometheus資料庫GrafanaPrometheus
- 監控資料庫連線遇到的一個小問題資料庫
- Zabbix透過Orabbix監控OracleOracle
- Oracle資料庫配置Oracle資料庫
- GO實現資料夾監控Go
- 前端監控(效能/資料/異常)前端
- zabbix清除歷史監控資料