詳解如何用prometheus來監控Oracle數據庫,值得收藏
瀏覽量: 次 發布日期:2023-10-13 23:07:15
詳解如何用prometheus來監控Oracle數據庫,值得收藏
今天主要介紹一下怎么用prometheus來監控Oracle數據庫,下面一起來看看吧!
由于Prometheus 是用golang開發的,所以首先安裝一個go環境,Go語言是跨平臺,支持Windows、Linux、Mac OS X等系統,還提供有源碼,可編譯安裝。
下載地址:
https://studygolang.com/dl
1、解壓
# tar -xvf go1.13.linux-amd64.tar.gz -C /usr/local/
2、配置環境變量
echo "export PATH=$PATH:/usr/local/go/bin" >> /etc/profile
source /etc/profile
3、測試
驗證一下是否成功,用go version 來驗證
# go version
1、安裝
rpm -ivh oracle-instantclient18.5-basic-18.5.0.0.0-3.x86_64.rpm
chown -R oracle.oinstall /usr/lib/oracle
安裝的文件默認放在兩個位置:
頭文件:/usr/share/oracle/18.5/client64/ 下,如果在使用時報錯找不到頭文件,記得看路徑是否是這個。
包文件:/usr/lib/oracle/18.5/client64/ 下,包含{bin、lib}兩個文件夾.
3.創建文件夾
mkdir -p /usr/lib/oracle/18.5/client64/network/admin/
4. 創建監聽文件,并添加內容
vim /usr/lib/oracle/18.5/client64/network/admin/tnsnames.ora
rforacle =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = xxx.xx.xx)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = xxdb)
)
)
5.配置oracle環境變量
--根目錄下為全局使用,為限制用戶權限,可只修改某一用戶的環境變量
#vim ~/.bash_profile
.....
export ORACLE_HOME2=/usr/lib/oracle/18.5/client64
export ORACLE_SID=rfdb
export NLS_LANG=AMERICAN_AMERICA.AL32UTF8
export PATH=$PATH:$ORACLE_HOME2
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$ORACLE_HOME2/lib
#source ~/.bash_profile
1、下載exporter
Oracle的監控,需要用到第三方寫的export,prometheus是開源軟件提供了多種語言支持,因此有很多第三方的exporter實現,
https://prometheus.io/docs/instrumenting/exporters/ 官網這里有介紹一些第三方的鏈接:
通過這個可以找oracle的第三方exporter,這是一個git工程
https://github.com/iamseth/oracledb_exporter
通過releases找到適合自己的版本,我直接用的是二進制文件。
下載地址:https://github.com/iamseth/oracledb_exporter/releases/download/0.2.3/oracledb_exporter.0.2.3.linux-amd64.tar.gz
宿遷數據恢復2、解壓并授權
tar -xvf oracledb_exporter.0.2.3.linux-amd64.tar.gz
chmod u+x oracledb_exporter
chown -R oracle.oinstall /usr/local/oracledb_exporter.0.2.3.linux-amd64/
3、設置執行的環境變量,命令行直接執行如下命令export:
export DATA_SOURCE_NAME=用戶名/密碼@ 數據庫服務名
如測試數據庫是export DATA_SOURCE_NAME=test/test123
4、啟動服務
http://www.toutiao.com/a6746565868265669127/oracledb_exporter -log.level error -web.listen-address IP:9161
5、測試訪問
此時,本地瀏覽器訪問 http://服務器ip:9161/metrics 可以看到 oracle相關的所有監控指標列表。
Prometheus 和oracle_exporter 服務都已經啟動起來了,那么接下來就需要將二者關聯起來,讓 Prometheus 來定時抓取 Exporter 提供的數據。我們需要修改 Prometheus 的配置文件 prometheus.yml 增加相關 exporter job。
- job_name: oracle
static_configs:
- targets: ['xx.xx.xx.xx:9161']
labels:
instance: rfdb_arch
連云港數據恢復重啟容器,隔一會查看metris:
http://172.16.10.123:9091/targets
1、下載dashboard
在
https://grafana.com/dashboards?search=oracle 下載相關的dashboard,但是上邊提供的dashboard效果不一定好,可以根據需要自己配.
參考:https://grafana.com/api/dashboards/3333/revisions/1/download
2、導入json
無錫數據恢復3、展示
好吧,這個是我看過最丑的,后面還是自己定義一個好了。
后面會分享更多關于prometheus的一些自定義配置,感興趣的朋友可以關注下!