您好,登錄后才能下訂單哦!
今天就跟大家聊聊有關怎樣使用zabbix監控oracle的后臺日志,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結了以下內容,希望大家根據這篇文章可以有所收獲。
如何使用zabbix監控oracle的后臺日志,當oracle后臺日志出現“ORA-”或“Error”時,第一時間將該信息報警出來
以下所有操作均用root執行
直接使用zabbix去讀取oracle后臺日志報權限不足,因此通過創建硬鏈接方式繞過權限問題
cd /tmp
ln /u01/app/oracle/diag/rdbms/orcltest/orcltest/trace/alert_orcltest.log alert_orcltest.log
chmod 644 alert_orcltest.log
mkdir -p /etc/zabbix/scripts
vi /etc/zabbix/scripts/alert.sh
#!/bin/bashget_sum_rows() { rows=`wc -l $1 | awk '{print $1}'` echo $rows} runfile=/tmp/tmp_alertrows.txt# 初始化runfile文件if test -e $runfile; then sleep 0.01else get_sum_rows $1 > /tmp/tmp_alertrows.txtfi# 篩選日志中的ORA-和Errorprevrows=`cat /tmp/tmp_alertrows.txt` prevrows=$(($prevrows+1)) tail -n +$prevrows $1 | egrep "^ORA-|^Error"# 每次腳本執行完之后,更新alert日志的總行數get_sum_rows $1 > /tmp/tmp_alertrows.txt
chmod 755 /etc/zabbix/scripts/alert.sh
vi /etc/zabbix/zabbix_agentd.d/userparameter_alert.conf
------------------------------------
UserParameter=ora.alert.[*],/etc/zabbix/scripts/alert.sh $1
------------------------------------
service zabbix-agent restart
zabbix_get -s 10.40.16.120 -k 'ora.alert.[/tmp/alert_orcltest.log]'
正常情況下返回空行,如果返回其他錯誤,根據錯誤提示去檢查問題
在數據庫中模擬一個死鎖出來,然后靜靜地等待zabbix報警
大功告成,其實過程還蠻簡單的,監控其它類型的數據庫的后臺日志都可以按照這種方式去處理。不過此方式不適用于日志文件太大,否則腳本執行時間會比較久而導致超時,應該定期歸檔后臺日志,使后臺日志不至于太大。歸檔后臺日志之后,手動刪除/tmp/tmp_alertrows.txt和/tmp/alert_orcltest.log,重新給后臺日志做個硬鏈接就行了。
但是有個問題,就是如果alert 日志太大,會導致zabbix 監控慢,甚至會超時,所以要定期歸檔alert log。我寫了個歸檔alert log的腳本,參考如下。
1 2 3 4 5 6 7 8 9 10 11 |
|
1 2 3 |
|
看完上述內容,你們對怎樣使用zabbix監控oracle的后臺日志有進一步的了解嗎?如果還想了解更多知識或者相關內容,請關注億速云行業資訊頻道,感謝大家的支持。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。