溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

如何使用Python腳本zabbix自定義key監(jiān)控oracle連接狀態(tài)

發(fā)布時(shí)間:2021-04-27 12:58:40 來源:億速云 閱讀:370 作者:小新 欄目:開發(fā)技術(shù)

這篇文章主要介紹如何使用Python腳本zabbix自定義key監(jiān)控oracle連接狀態(tài),文中介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們一定要看完!

目的:此次實(shí)驗(yàn)?zāi)康氖菫榱藌abbix服務(wù)端能夠?qū)崟r(shí)監(jiān)控某服務(wù)器上oracle實(shí)例能否正常連接

環(huán)境:1、zabbix_server  2、zabbix_agent(含有oracle)

主要知識(shí)點(diǎn):

1、zabbix_get用法

2、python中cx_Oracle模塊使用

------------------------------------------------------------------------------

1、zabbix_get用法

常用用法

zabbix_get -s host-name-or-IP [-p port-number] [-I IP-address] -k item-key

在我們zabbix_server端可以測試一個(gè)zabbix_agent端的key

如何使用Python腳本zabbix自定義key監(jiān)控oracle連接狀態(tài)

正常情況下會(huì)返回一個(gè)結(jié)果

注:關(guān)于zabbix客戶端有哪些key值,我們可以在客戶端用zabbix_agentd -p命令查看

如何使用Python腳本zabbix自定義key監(jiān)控oracle連接狀態(tài)

test為我自己創(chuàng)建的一個(gè)key

2、創(chuàng)建自定義Key

創(chuàng)建自定義key的方法相當(dāng)簡單

在我們客戶端的zabbix_agentd.conf配置文件中加入幾個(gè)參數(shù)就可以了

如何使用Python腳本zabbix自定義key監(jiān)控oracle連接狀態(tài)

這是我加入的兩行

1、UnsafeUserParameters參數(shù)有兩個(gè)值1或0

0為禁用  1為開啟

2、UserParameter=key名字,命令或腳本(用法)

加完配置后記得重啟客戶端進(jìn)程!!

3、腳本的定義

這個(gè)步驟是最為核心的,所有你想實(shí)現(xiàn)的監(jiān)控都可以在這步進(jìn)行規(guī)劃

此次我測試的是oracle實(shí)例的連接狀態(tài)(能連或不能連)

代碼如下

#-*- encoding: utf-8 -*-

import cx_Oracle
try:
 conn=cx_Oracle.connect('system/oracle@172.168.9.186:1521/orcl')
 c=conn.cursor()
 c.close()
 conn.close()
 print('1')
except cx_Oracle.DatabaseError,error:
 print('2')

其中需要用到一個(gè)cx_Oracle第三方模塊

https://www.jb51.net/article/167103.htm

我這里再提一點(diǎn):

雖然我在單獨(dú)運(yùn)行腳本時(shí)是沒有任何報(bào)錯(cuò)的,但是在我用zabbix_get進(jìn)行測試的時(shí)候還是會(huì)有導(dǎo)入模塊錯(cuò)誤

如何使用Python腳本zabbix自定義key監(jiān)控oracle連接狀態(tài)

這是由于客戶端共享庫鏈接沒有做好

如何使用Python腳本zabbix自定義key監(jiān)控oracle連接狀態(tài)

添加libclntsh.so.11.1所在的路徑

在運(yùn)行l(wèi)dconfig命令生效你的配置

再次進(jìn)行測試

如何使用Python腳本zabbix自定義key監(jiān)控oracle連接狀態(tài)

到此基本都已經(jīng)完成

剩下就是在web端添加此key的監(jiān)控即可

4、web端添加監(jiān)控

如何使用Python腳本zabbix自定義key監(jiān)控oracle連接狀態(tài)

如何使用Python腳本zabbix自定義key監(jiān)控oracle連接狀態(tài)

如何使用Python腳本zabbix自定義key監(jiān)控oracle連接狀態(tài)

監(jiān)控項(xiàng)創(chuàng)建完畢,我們進(jìn)行觸發(fā)器的創(chuàng)建。

如何使用Python腳本zabbix自定義key監(jiān)控oracle連接狀態(tài)

如何使用Python腳本zabbix自定義key監(jiān)控oracle連接狀態(tài)

如何使用Python腳本zabbix自定義key監(jiān)控oracle連接狀態(tài)

至此,觸發(fā)器已創(chuàng)建完畢(當(dāng)返回值為2,也就是連不通的時(shí)候會(huì)觸發(fā)告警)!

接下來我們自己可以進(jìn)行測試

當(dāng)我們關(guān)掉數(shù)據(jù)庫監(jiān)聽

如何使用Python腳本zabbix自定義key監(jiān)控oracle連接狀態(tài)

如何使用Python腳本zabbix自定義key監(jiān)控oracle連接狀態(tài)

顯然服務(wù)端收到的返回值是2

我們?cè)趤砜纯磜eb端

如何使用Python腳本zabbix自定義key監(jiān)控oracle連接狀態(tài)

看到web端已經(jīng)有告警提示了

接下來我們把監(jiān)聽開起來

如何使用Python腳本zabbix自定義key監(jiān)控oracle連接狀態(tài)

這時(shí)候web端已經(jīng)提示問題已經(jīng)解決!

此次實(shí)驗(yàn)至此已經(jīng)全部完成。

以上是“如何使用Python腳本zabbix自定義key監(jiān)控oracle連接狀態(tài)”這篇文章的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對(duì)大家有幫助,更多相關(guān)知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請(qǐng)聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI