Zabbix監控Oracle 串連數

來源:互聯網
上載者:User

標籤:conf   下載   param   pre   type   png   資料表空間   rom   port   

監控Oracle 串連數

使用python指令碼編寫指令碼,監控oracle串連數;串連Oracle需要安裝cx_Oracle模組,安裝完成後檢查是否正常,沒有任何資訊返回即正常;

python -c "import cx_Oracle"

通常,還需要載入oralce的用戶端配置環境和庫

libclntsh.so.11.1libnnz11.so
1、編寫用於檢查Oracle當前串連數、最大串連數的python指令碼:zabbix_check_process.py
#!/usr/bin/python# coding:utf-8## check Oracle process# dbsession: current connect session# dbprocess: db max connect session# presession: current connect session precentimport cx_Oracleimport sys# conn to DBconn = cx_Oracle.connect(‘user/[email protected]‘)cursor = conn.cursor()dbProcess = {}# current connect sessionsessionSQL = "select count(*) process from v$session"cursor.execute(sessionSQL)sessionRow = cursor.fetchone()dbProcess[‘dbsession‘] = sessionRow[0]# db max connect sessionprocessSQL = "select value count from v$parameter where name =‘processes‘"cursor.execute(processSQL)proce***ow = cursor.fetchone()dbProcess[‘dbprocess‘] = proce***ow[0]# current connect session precentpresession = float(sessionRow[0]) / float(proce***ow[0])dbProcess[‘presession‘] = ‘%.2f‘ % (presession * 100)cursor.close()# close dbconn.close()#print(dbProcess)try:    if sys.argv[1]:        if sys.argv[1] == ‘dbsession‘:            print(dbProcess[‘dbsession‘])        if sys.argv[1] == ‘dbprocess‘:            print(dbProcess[‘dbprocess‘])        if sys.argv[1] == ‘presession‘:            print(dbProcess[‘presession‘])except:    print("Usage: %s dbsession |dbprocess |presession" % sys.argv[0])

驗證指令碼

[[email protected] script]$ python zabbix_check_process.pyUsage: zabbix_check_process.py dbsession |dbprocess |presession[[email protected] script]$ python zabbix_check_process.py dbsession597[[email protected] script]$ python zabbix_check_process.py dbprocess1000[[email protected] script]$ python zabbix_check_process.py presession59.40
2、在zabbix_agentd上增加UserParamete:/opt/zabbix/etc/zabbix_agentd.conf.d/oracle.conf
## db connect sessionUserParameter=oracle.dbsession,source ~/.bash_profile;/usr/bin/python /opt/zabbix/share/script/zabbix_check_process.py dbsessionUserParameter=oracle.dbprocess,source ~/.bash_profile;/usr/bin/python /opt/zabbix/share/script/zabbix_check_process.py dbprocessUserParameter=oracle.presession,source ~/.bash_profile;/usr/bin/python /opt/zabbix/share/script/zabbix_check_process.py presession
3、在服務端測試(用戶端需要重啟)
[[email protected] ~]# zabbix_get -s 10.0.18.121 -p 10050 -k ‘oracle.dbsession‘581[[email protected] ~]# zabbix_get -s 10.0.18.121 -p 10050 -k ‘oracle.presession‘58.10[[email protected] ~]# zabbix_get -s 10.0.18.121 -p 10050 -k ‘oracle.dbprocess‘1000
4、建立模板,添加監控項目
Oracel資料庫當前串連數的百分比         oracle.presession    60s    30d    90d    Zabbix 用戶端    Oracle串連數    已啟用Oracel資料庫最大串連數                 oracle.dbprocess    60s    30d    90d    Zabbix 用戶端    Oracle串連數    已啟用Oracle資料庫當前串連數                 oracle.dbsession    60s    30d    90d    Zabbix 用戶端    Oracle串連數    已啟用

5、

6、資料下載

上傳的資料包含監控模板、資料庫連接數監控、資料表空間自動探索規則(監控),

Zabbix監控Oracle 串連數

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.