1. 程式人生 > >大資料實時案例--實時日誌監控告警系統

大資料實時案例--實時日誌監控告警系統

本次介紹使用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個檔案