消費(fèi)-搭建監(jiān)控系統(tǒng)
日志服務(wù)是阿里云一個(gè)重要的基礎(chǔ)設(shè)施,支撐著阿里云所有集群日志數(shù)據(jù)的收集和分發(fā)。眾多應(yīng)用比如OTS、ODPS、CNZZ等利用日志服務(wù)logtail收集日志數(shù)據(jù),利用API消費(fèi)數(shù)據(jù),導(dǎo)入下游實(shí)時(shí)統(tǒng)計(jì)系統(tǒng)或者離線系統(tǒng)做分析統(tǒng)計(jì)。作為一個(gè)基礎(chǔ)設(shè)施,日志服務(wù)具備:
可靠性:經(jīng)過(guò)多年阿里集團(tuán)內(nèi)部用戶(hù)的檢驗(yàn),經(jīng)歷多年雙十一考驗(yàn),保證數(shù)據(jù)的可靠、不丟失。
可擴(kuò)展性:數(shù)據(jù)流量上升,通過(guò)增加shard個(gè)數(shù)快速動(dòng)態(tài)擴(kuò)容處理能力。
便捷性:一鍵式管理包括上萬(wàn)臺(tái)機(jī)器的日志收集。
日志服務(wù)幫用戶(hù)完成了日志收集,統(tǒng)一了日志格式,提供API用于下游消費(fèi)。下游系統(tǒng)可以接入多重系統(tǒng)重復(fù)消費(fèi),比如導(dǎo)入Spark、Storm做實(shí)時(shí)計(jì)算,也可以導(dǎo)入elasticsearch做搜索,真正做到了一次收集,多次消費(fèi)。在眾多數(shù)據(jù)消費(fèi)場(chǎng)景中,監(jiān)控是最常見(jiàn)的一種場(chǎng)景。本文介紹阿里云基于日志服務(wù)的監(jiān)控系統(tǒng)。
日志服務(wù)把所有集群的監(jiān)控?cái)?shù)據(jù)作為日志收集到服務(wù)端,解決了多集群管理和異構(gòu)系統(tǒng)日志收集的問(wèn)題,監(jiān)控?cái)?shù)據(jù)統(tǒng)一成格式化的日志發(fā)送到日志服務(wù)。
日志服務(wù)為監(jiān)控系統(tǒng)提供了:
統(tǒng)一的機(jī)器管理:安裝一次logtail,所有的后續(xù)操作在日志服務(wù)端進(jìn)行。
統(tǒng)一的配置管理:需要收集哪些日志文件,只要在服務(wù)端配置一次,配置會(huì)自動(dòng)下發(fā)到所有機(jī)器。
結(jié)構(gòu)化的數(shù)據(jù):所有數(shù)據(jù)格式化成日志服務(wù)的數(shù)據(jù)模型,方便下游消費(fèi)。
彈性的服務(wù)能力:處理大規(guī)模數(shù)據(jù)寫(xiě)入和讀取的能力。
如何搭建監(jiān)控系統(tǒng)
收集監(jiān)控?cái)?shù)據(jù)
配置SLS的日志收集,確保日志收集到了日志服務(wù)。
中間件使用API消費(fèi)數(shù)據(jù)
通過(guò)SDK的PullLog接口從日志服務(wù)批量消費(fèi)日志數(shù)據(jù),并且把數(shù)據(jù)同步到下游實(shí)時(shí)計(jì)算系統(tǒng)。
搭建storm實(shí)時(shí)計(jì)算系統(tǒng)
選擇storm或者其他的類(lèi)型的實(shí)時(shí)計(jì)算系統(tǒng),配置計(jì)算規(guī)則,選擇要計(jì)算的監(jiān)控指標(biāo),計(jì)算結(jié)果寫(xiě)入到OTS中。
展示監(jiān)控信息
通過(guò)讀取保存在OTS中的監(jiān)控?cái)?shù)據(jù),在前端展示;或者讀取數(shù)據(jù),根據(jù)數(shù)據(jù)結(jié)果做報(bào)警。