利用 Zabbix 監控 mysqldump 定時備份數據庫是否成功 | 運維進階

場景需求

大部分企業都會存在測試數據庫。然而,這些公司的運維人員普遍的做法是編寫一個shell腳本通過mysqldump,這個MySQL數據庫備份工具結合Linux的crontab這個定時任務命令,實現每週或者每月對數據庫進行備份,如果不監控這些測試數據庫每週是否備份成功,很可能會在後期的工作中出現問題。因此,今天圍繞這個話題,介紹一下如何通過Zabbix監控mysqldump數據庫的備份。

實驗過程

1. 在mysql數據庫創建一個演示用的,名爲test的數據庫,在test數據庫創建一個test表。

Mysql的語句

Create database test; #創建名爲test的數據庫

Use test; #使用test數據庫

create table test (name varchar(50)); #創建一個只有name字段的test表格

1.1 創建測試數據庫test
在這裏插入圖片描述
1.2 編寫數據庫備份腳本

然後是編寫一個簡單備份數據庫的shell腳本(bak.sh),在crontab定時任務中,設置腳本執行的時間

正常來說(備份的數據庫文件名,必須時數據庫名加上數據庫備份時間命名)
在這裏插入圖片描述
Mysqldump –u用戶名 –p密碼 –h數據庫ip 數據庫名(test) > 備份的數據庫存放的位置

如果數據庫備份成功,在/tmp/bak_result.txt就會是一個0。反之,非0就是數據庫備份失敗。

注意:存放數據庫備份的位置最好不要是用戶目錄,否則其他用戶可能無法查看,因此選擇/tmp目錄用來測試

最後要給bak.sh加上執行權限,否則定時任務無法執行

Chmod o+x bak.sh

1.3 設置定時計劃,爲了方便演示效果(備份時間設置爲1分鐘備份一次)

Crontab –e打開定時任務
在這裏插入圖片描述
查看是否備份成功
在這裏插入圖片描述
2.創建監控項
在zabbix_agent.conf配置自定義鍵值
在這裏插入圖片描述
重啓zabbix_agent

在zabbix_server配置監控項
在這裏插入圖片描述
如上圖所示,mysql備份的值爲0,也就是備份成功。
創建告警。如果值非0,那麼就是數據庫備份失敗
在這裏插入圖片描述
爲了驗證備份失敗。我們可以執行刪除數據庫test的操作。那麼mysql是否備份成功這個監控項的值就會不爲0,接着會出現告警。

刪除數據庫命令(drop database 數據庫名)
在這裏插入圖片描述
在這裏插入圖片描述
此時,mysql是否備份成功的監控項值不爲0。導出的數據庫文件也是無效的。
在這裏插入圖片描述
在這裏插入圖片描述
觸發器也出現告警。

實驗完畢。

參考鏈接 :

技術乾貨:利用 Zabbix 監控 mysqldump 定時備份數據庫是否成功 | 運維進階 :https://mp.weixin.qq.com/s/0UGS-WvcreOg7enBXDNTqQ

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章