<b>2.5 監控和預警</b>
監控和預警存在于資料閉環的各個階段,在所有的自動執行環節均可以植入監控和預警點。前期對etl所做的規範,現在是展現其應用價值的時候了。可以利用這些滿足規範的日志記錄進行自動監控和預警。
如果有專職的運維人員負責作業的運作監控,使用專門的監控工具,運維工程師可以監控各個伺服器的運作資訊,并通過監控工具發送預警郵件。
如果僅僅是etl工程師負責監控自己的etl作業,那麼可以使用bi工具進行監控和預警。
2.5.1 使用監控工具進行監控
有衆多的開源監控工具可供使用,如zipkin、ramona、zabbix、ganglia、nagios等,這些監控工具提供了許多定制的監控和預警服務,但它們通常比較偏于底層日志,如zabbix主要用來監控cpu負荷、記憶體使用、磁盤使用、網絡狀況、端口監視和日志監視。這些監控資訊對于保證資料環境的健康運作至關重要,可以根據cpu負荷、記憶體和磁盤的使用情況進行預警,比如在cpu負荷持續達到90%時進行預警,或者在磁盤使用90%時進行預警等。
監控工具專注于系統可用性方面的監控,如果要專注于etl作業的運作情況,那麼可以使用bi報表工具進行監控。
2.5.2 使用bi工具進行監控
bi(business intelligence)工具是企業環境中廣泛使用的資料可視化工具,它可提供豐富的資料可視化能力,同時可提供短信、郵件等通知服務。
鑒于資料的監控和預警本身是基于日志資訊的,是以可以使用bi工具豐富的展示和通知服務進行資料系統的監控和預警。
基于圖2-12中的etl作業日志表,bi工具可以定制圖形化監控報表,并以web頁面的形式展示出來。作業負責人或者營運人員可以登入該bi系統,檢視監控相應的頁面,便可以監控作業是否正常。
例如,近期表現搶眼的bi工具tableau,可以設定每15分鐘掃描一下etl作業日志表,一旦發現有作業異常,就自動發送郵件通知作業負責人。
通過bi工具實作etl作業的監控和預警,這種方式可以推廣到整個資料閉環,其圖形化的界面讓監控變得簡單明了。