大資料實時案例--實時日誌監控告警系統
阿新 • • 發佈:2019-01-03
本次介紹使用Flume+kafka+storm+mysql的實時日誌監控告警系統,程式碼部分比較多,會放在一個下載的連線裡面,可以免費下載。
需求
在軟體開發中國,上線執行時經常會出現一些報錯,但是我們如果不能進行有效的實時監控,及時的處理,經常會帶來巨大損失。為了保證異常的即使處理,我們設計一套系統,對產生的日誌進行實時的監控,放出現異常或者指定的資訊的時候,給我們的對應工作人員傳送郵件和簡訊提醒,同時記錄異常的資訊。做到線上異常的實時監控。
基本框架
基本的框架是:Flume+kafka+storm+redis
-
flume各個模組的功能訂單,支付,使用者系統
-
kafka叢集資料量,預估容量,topic數量,system-log 六個分割槽,兩個副本
-
storm消費資料,得到每條資料和AppId,判斷每條訊息是否包含關鍵字(比如error來源為資料庫)如果包含錯誤資訊,系統預警,簡訊或者郵件(資料庫需要存入的資訊)將觸發的資訊存入資料庫。
-
web頁面(讀取和寫入資料庫資訊)需要有一下的功能
- 新增異常的關鍵詞
- 新增使用者的資訊
- 查詢觸發資訊規格
開發步驟
建立資料庫表結構
使用者表,應用程式表,規則表,結果表四張表
1.在虛擬機器(nodel01),安裝mysql,啟動。
啟動mysql
service mysqld start
進入mysql
mysql -u root -p 然後輸入密碼
建立上面的6個表。簡單介紹表的欄位
規則表,每個應用系統要監控哪些規則
結果表:用來儲存觸發規則後的記錄,包括告警編號、是否簡訊告知、是否郵件告知、告警明細等資訊。
Flume+Kafka整合
- 啟動kafka和zookeeper
- 編寫Flume模擬生成的異常資訊,需要下面4個檔案