Log Service是阿里雲一個重要的基礎設施,支撐著阿里雲所有叢集日誌資料的收集和分發。眾多應用比如OTS、ODPS、CNZZ等利用Log Servicelogtail收集日誌資料,利用API消費資料,匯入下遊即時統計系統或者離線系統做分析統計。作為一個基礎設施,Log Service具備:
可靠性:經過多年阿里集團內部使用者的檢驗,經歷多年雙十一考驗,保證資料的可靠、不丟失。
可擴充性:資料流量上升,通過增加shard個數快速動態擴容處理能力。
便捷性:一鍵式管理組件括上萬台機器的日誌收集。
Log Service幫使用者完成了日誌收集,統一了日誌格式,提供API用於下遊消費。下遊系統可以接入多重系統重複消費,比如匯入Spark、Storm做Realtime Compute,也可以匯入elasticsearch做搜尋,真正做到了一次收集,多次消費。在眾多資料消費情境中,監控是最常見的一種情境。本文介紹阿里雲基於Log Service的監控系統。
Log Service把所有叢集的監控資料作為日誌收集到服務端,解決了多叢集管理和異構系統日誌收集的問題,監控資料統一成格式化的日誌發送到Log Service。
Log Service為監控系統提供了:
統一的機器管理:安裝一次logtail,所有的後續操作在Log Service端進行。
統一的組態管理:需要收集哪些記錄檔,只要在服務端配置一次,配置會自動下發到所有機器。
結構化的資料:所有資料格式化成Log Service的資料模型,方便下遊消費。
彈性的服務能力:處理大規模資料寫入和讀取的能力。
如何搭建監控系統
收集監控資料
配置SLS的日誌收集,確保日誌收集到了Log Service。
中介軟體使用API消費資料
通過SDK的PullLog介面從Log Service批量消費日誌資料,並且把資料同步到下遊Realtime Compute系統。
搭建stormRealtime Compute系統
選擇storm或者其他的類型的Realtime Compute系統,配置計算規則,選擇要計算的監控指標,計算結果寫入到OTS中。
展示監控資訊
通過讀取儲存在OTS中的監控資料,在前端展示;或者讀取資料,根據資料結果做警示。