如題所示,可以使用zabbix實時監控資料庫的資料變化情況,比如:最近1小時的訂單數變化情況。這樣我們就可以很方便地通過zabbix的web介面觀察oracle等資料庫中的一些資料變化情況,同時還可以新增監控在資料異常時通過郵箱或者簡訊報警
具體實現步驟如下:
(1)新增乙個指令碼用於執行sql語句獲取資料:
1
[root@mpdb01 scripts]
# vim /home/oracle/scripts/paymentcompletion.sh
其內容如下: 1
2
3
4
5
6
7
8
9
10
11
12
#!/bin/bash
value=`sqlplus -s
"/ as sysdba"
<< !
set
heading
off
set
feedback
off
set
pagesize 0
set
verify
off
set
echo
off
select
count
...
from
***x;
exit
!`
echo $value
注:中間的select那一段新增自己的sql語句
給指令碼新增可執行許可權: 1
[root@mpdb01 scripts]
# chmod a+x /home/oracle/scripts/paymentcompletion.sh
(2)新增指令碼以oracle使用者身份去執行上面指令碼獲取資料: 1
[root@mpdb01 scripts]
# vim /usr/local/zabbix/scripts/paycompletion12.sh
其內容如下: 1
2
3
#!/bin/bash
echo
"/home/oracle/scripts/paymentcompletion.sh"
|
su
- oracle
給指令碼新增可執行許可權: 1
[root@mpdb01 scripts]
# chmod a+x /usr/local/zabbix/scripts/paycompletion12.sh
(3)修改zabbix_agentd配置檔案,新增乙個「userparameter」:
1
[root@prx01 scripts]
# vim /usr/local/zabbix/etc/zabbix_agentd.conf
新增如下內容: 1
userparameter=paycompletion12,/usr/local/zabbix/scripts/paycompletion12.sh
修改:
1
allowroot=1
注:allowroot不設定成1的話zabbix執行/usr/local/zabbix/scripts/paycompletion12.sh指令碼時會出現許可權不夠的問題,因此報錯
(4)重啟zabbix_agentd:
1
[root@prx01 scripts]
# service zabbix_agentd restart
(5)zabbix服務端測試獲取資料: 1
[root@nmp01 ~]
# /usr/local/zabbix/bin/zabbix_get -s 192.168.1.227 -k paycompletion12
如果有資料輸出的話,那麼說明zabbix_server就已經可以獲取到資料了
接下來是zabbix的web介面的配置,新增新模板、新增監控項、新增圖形等,關於這些配置可以參考我以前寫過的這篇文章:
詳細思路在那篇文章中說過了,因此這裡就不再重複敘述了,到此結束
zabbix監控部署
一 環境,監控伺服器和被監控伺服器都關閉防火牆和selinux 二 監控伺服器安裝及配置 2 安裝好資料庫後啟動systemctl start mariadb,建立資料庫create database zabbix character set utf8 collate utf8 bin 建立賬戶並授...
Zabbix 監控日誌
監控伺服器指定日誌檔案,實現過濾日誌關鍵字報警。確保在被監控主機的配置檔案中 hostname 引數與前端頁面中的主機名匹配 serveractive 引數中指向zabbix伺服器ip 1 建立監控項 配置 主機 監控項 建立監控項 2 填寫監控項資訊 名稱 日誌czd.log 型別 zabbix客...
Zabbix 日誌監控
之前部落格寫過nginx日誌錯誤數量監控,達到觸發器閾值就報警,最近出了乙個事故,資料庫主庫磁碟滿了,導致主從異常,線上好多業務都down,所以資料庫這塊的監控尤其重要,下面做個mysql log 監控,如果匹配到異常錯誤,就輸出這條錯誤日誌。zabbix版本 3.0.4 mysql5.6.29 二...