使用zabbix監控oracle的後臺日誌
本文將介紹如何使用zabbix監控oracle的後臺日誌,當oracle後臺日誌出現“ORA-”或“Error”時,第一時間將該資訊報警出來
zabbix agent端
以下所有操作均用root執行
為oracle後臺日誌建立硬連結
直接使用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
建立agent conf檔案
vi /etc/zabbix/zabbix_agentd.d/userparameter_alert.conf
------------------------------------
UserParameter=ora.alert.[*],/etc/zabbix/scripts/alert.sh $1
------------------------------------
重啟zabbix agent服務
service zabbix-agent restart
zabbix server端
測試監控項
zabbix_get -s 10.40.16.120 -k 'ora.alert.[/tmp/alert_orcltest.log]'
正常情況下返回空行,如果返回其他錯誤,根據錯誤提示去檢查問題
在zabbix web頁面中設定宏
新增監控項
新增觸發器
測試
在資料庫中模擬一個死鎖出來,然後靜靜地等待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 |
[root@node2 trace]
# cat /usr/local/shell/alert_clear.sh #!/bin/bash set
-u set
-e set
-o pipefail alertlog_path=
/opt/oracle/diag/rdbms/orcldg/orcl/trace/ date1=$(
date
+%Y%m%d_%H%M%S) su
- oracle -c
"cp -a ${alertlog_path}alert_orcl.log ${alertlog_path}alert_orcl.log_${date1}" su
- oracle -c
"echo > ${alertlog_path}alert_orcl.log" echo
>
/tmp/tmp_alertrows
.txt find
${alertlog_path} -name
"alert_orcl.log_*"
-mtime +30 |
xargs
rm
-rf |
1
2
3 |
[root@node2 trace]
# crontab -l #歸檔alert日誌 50 00 * * *
/usr/local/shell/alert_clear
.sh |
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/30345407/viewspace-2705585/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Zabbix如何監控Oracle的告警日誌Oracle
- zabbix監控平臺
- Zabbix監控平臺的搭建
- Zabbix透過Orabbix監控OracleOracle
- 黑盒監控、日誌監控
- Oracle 自動化運維-Python監控Oracle告警日誌Oracle運維Python
- Zabbix監控使用進階
- 【Zabbix】如何使用Zabbix進行IPMI監控?
- 【Zabbix】使用dbforbbix 2.2-beta監控Redhat 7.0上的Oracle、MysqlORBRedhatOracleMySql
- Zabbix新增主機監控-zabbix+grafana從零設計自己的監控平臺Grafana
- 前端異常日誌監控 – 使用Sentry前端
- Zabbix+Python監控Oracle資料庫PythonOracle資料庫
- zabbix監控
- 使用Zabbix + Python對Mysql監控PythonMySql
- Mysql事件監控日誌MySql事件
- zabbix應用教程:基於Nginx頁面響應的日誌監控用例Nginx
- 前端日誌監控平臺sentry使用 @sentry/browser @sentry/webpack-plugin前端WebPlugin
- zabbix的主動模式監控和zabbix-proxy分散式監控模式分散式
- Zabbix監控ActiveMQMQ
- Zabbix搭建-zabbix+Grafana從零設計自己的監控平臺Grafana
- Zabbix監控之遷移Zabbix
- 小程式日誌監控工具
- 03-Loki 日誌監控Loki
- Linux下使用GoAccess監控Nginx訪問日誌LinuxGoNginx
- Zabbix+Grafana從零設計自己的監控平臺-監控效果展示Grafana
- Zabbix5.0 配置 ODBC 監控 Oracle 資料庫Oracle資料庫
- 【Zabbix】使用zabbix 3.4自帶Mysql模板,監控Redhat 7.0上的MysqlMySqlRedhat
- 【監控】Zabbix安裝
- 使用zabbix監控sql server的釋出訂閱SQLServer
- ELK監控nginx日誌總結Nginx
- Grafana、Prometheus、mtail-日誌監控GrafanaPrometheusAI
- 部署Sentry日誌監控系統
- Linux監控平臺介紹 zabbix監控介紹 安裝zabbix 忘記Admin密碼如何做Linux密碼
- Zabbix郵件預警-zabbix+grafana從零設計自己的監控平臺Grafana
- Zabbix監控安裝部署
- zabbix監控windows DHCP serverWindowsServer
- Zabbix實戰--監控NginxNginx
- mongodb profiling慢請求監控日誌MongoDB