|
云棲君導(dǎo)讀:目前Logtail已承載阿里云全站、所有云產(chǎn)品服務(wù)、全球各Region部署、阿里巴巴集團(tuán)(淘寶、天貓、菜鳥等)上重要服務(wù)的數(shù)據(jù)采集。每天采集接近百萬(wàn)服務(wù)器上數(shù)PB的實(shí)時(shí)數(shù)據(jù),對(duì)接數(shù)千個(gè)應(yīng)用與消費(fèi)者。 什么是日志 提到日志,很多人的第一印象就是系統(tǒng)打到本地的Log文件,出問(wèn)題的時(shí)候看一下這個(gè)Log文件,用來(lái)排查問(wèn)題。更進(jìn)一步可以根據(jù)這個(gè)Log文件做實(shí)時(shí)的監(jiān)控、第三方審計(jì)、入侵檢測(cè)、行為分析、數(shù)據(jù)大盤制作等等。 馬老師說(shuō)過(guò):阿里巴巴不是零售,我們是一家數(shù)據(jù)公司,為了數(shù)據(jù)才做電商、做物流、賣東西。我們認(rèn)為日志是記錄世間人和物所有行為的一種方式,是數(shù)據(jù)中極其重要又極其龐大的一個(gè)組成部分。會(huì)產(chǎn)生日志的設(shè)備有:服務(wù)器、交換機(jī)、手機(jī)、傳感器、IOT設(shè)備、智能設(shè)備...產(chǎn)生的日志類型有:網(wǎng)絡(luò)的七層日志、OS日志、訂單日志、支持日志、GPS定位日志、用戶點(diǎn)擊日志...產(chǎn)生的日志形式有:文本文件、二進(jìn)制文件、syslog、udp日志...如何充分利用這些日志資源才是我們的核心技術(shù)和競(jìng)爭(zhēng)力。 什么是日志采集 數(shù)據(jù)的價(jià)值是什么?數(shù)據(jù)的價(jià)值在于把數(shù)據(jù)變成行動(dòng)。這里一個(gè)非常重要的過(guò)程是數(shù)據(jù)分析。提到數(shù)據(jù)分析,大部分人首先想到的都是Hadoop、流計(jì)算、機(jī)器學(xué)習(xí)等數(shù)據(jù)加工的方式。如果從整個(gè)過(guò)程來(lái)看,數(shù)據(jù)分析其實(shí)包含了4個(gè)過(guò)程:采集,存儲(chǔ),計(jì)算和理解四個(gè)主要步驟:
數(shù)據(jù)的采集是一門很大的范疇,從實(shí)時(shí)性上和每次傳輸數(shù)據(jù)規(guī)模上分,一般可以分為3類:
為何使用Agent 實(shí)現(xiàn)日志的實(shí)時(shí)采集一般有2種方式:
下面我們來(lái)詳細(xì)剖析一下二者區(qū)別: 從以上分析來(lái)看,兩種采集方式各有優(yōu)缺點(diǎn)、也有各自適應(yīng)的場(chǎng)景:
為何選用Logtail 日志采集Agent有很多,例如Logstash、Fluentd、Beats系列(FileBeats、MetricBeats、Packetbeat、Winlogbeat、Auditbeat、Heartbeat)、Nxlog、Telegraf、Heka、Nifi、Logspout、Datadog agent、Sematext agent、Splunk addon系列、Sumologic collector。。。 業(yè)界有那么多的Agent,每個(gè)Agent各種各樣的功能和特性看起來(lái)讓人眼花繚亂。但圍繞日志采集這個(gè)最原始的需求展開,無(wú)非也就是功能、性能、穩(wěn)定性、運(yùn)維代價(jià)這4個(gè)方面:
阿里云日志服務(wù)也有自己的采集Agent--Logtail。目前l(fā)ogtail已承載阿里云全站、所有云產(chǎn)品服務(wù)、全球各Region部署、阿里巴巴集團(tuán)(淘寶、天貓、菜鳥等)上重要服務(wù)的數(shù)據(jù)采集。每天采集接近百萬(wàn)服務(wù)器上數(shù)PB的實(shí)時(shí)數(shù)據(jù),對(duì)接數(shù)千個(gè)應(yīng)用與消費(fèi)者。之所以使用Logtail作為采集Agent也是經(jīng)過(guò)上述四個(gè)方面的綜合考慮。由于采集Agent數(shù)量眾多,這里我們選擇目前最主流的3款A(yù)gent進(jìn)行對(duì)比: 相對(duì)主流的采集Agent,Logtail在采集功能上有一定的不足,對(duì)于輸入源、處理方式等支持沒(méi)有開源軟件的多,但從目前的功能來(lái)看,可以滿足95%以上的日志采集需求。但日志采集并不是能夠采集到就可以。相對(duì)開源軟件,Logtail的優(yōu)勢(shì)是有集團(tuán)百萬(wàn)服務(wù)器、上萬(wàn)應(yīng)用的練兵環(huán)境,很多問(wèn)題純粹從Agent和開源社區(qū)的角度并不會(huì)考慮到。因此經(jīng)歷了數(shù)年的迭代優(yōu)化,在性能、穩(wěn)定性、運(yùn)維代價(jià)上,Logtail相對(duì)更加成熟,在性價(jià)比上具有絕對(duì)的優(yōu)勢(shì)。 Logtail相關(guān)概念 為了更好的了解日志采集,這里我們首先對(duì)日志采集中遇到的基本概念進(jìn)行簡(jiǎn)要的介紹。 概念介紹
各概念間關(guān)系
安裝配置流程 Logtail的安裝配置流程相對(duì)比較簡(jiǎn)單,如果日志服務(wù)和ECS在同一賬號(hào)下,則只需5個(gè)步驟即可實(shí)現(xiàn)采集。
安裝Logtail ECS安裝 1、購(gòu)買一臺(tái)ECS 2、根據(jù)ECS所在區(qū)域選擇Logtail安裝腳本(參見Logtail安裝指南) 例如華東1的經(jīng)典網(wǎng)絡(luò),使用wget http://logtail-release.oss-cn-hangzhou-internal./linux64/logtail.sh; chmod 755 logtail.sh; sh logtail.sh install cn_hangzhou 3、使用/etc/init.d/ilogtaild status檢查L(zhǎng)ogtail運(yùn)行狀態(tài),如輸出ilogtail is running表示安裝成功 自建主機(jī)安裝 1、選擇任意公網(wǎng)Logtail安裝腳本(參見Logtail安裝指南) 例如選擇華東1公網(wǎng)安裝,使用wget http://logtail-release.oss-cn-hangzhou./linux64/logtail.sh; chmod 755 logtail.sh; sh logtail.sh install cn_hangzhou_internet 2、使用/etc/init.d/ilogtaild status檢查L(zhǎng)ogtail運(yùn)行狀態(tài),如輸出ilogtail is running表示安裝成功 3、配置賬號(hào)標(biāo)識(shí)文件(參見非本人ECS/線下機(jī)器,配置完成后無(wú)需重啟Logtail) 配置 創(chuàng)建項(xiàng)目和日志庫(kù)
![]() ![]() 3. Project創(chuàng)建成功后會(huì)提示創(chuàng)建Logstore,點(diǎn)擊創(chuàng)建;這里我們輸入Logstore名稱,其他參數(shù)無(wú)需修改,點(diǎn)擊確認(rèn)。 ![]() 創(chuàng)建采集配置 1、Logstore創(chuàng)建完畢后,會(huì)提示進(jìn)行數(shù)據(jù)接入。如下圖所示,可通過(guò)三個(gè)入口創(chuàng)建采集配置: ![]() 2、在彈出的數(shù)據(jù)接入頁(yè)面中,我們選擇自定義數(shù)據(jù)中的文本文件接入。 ![]() 3、在采集配置中我們選擇極簡(jiǎn)模式,日志路徑中的文件夾和文件名分別輸入/var/log和message,點(diǎn)擊下一步。 ![]() 創(chuàng)建機(jī)器組并應(yīng)用 1、配置頁(yè)面點(diǎn)擊下一步后,會(huì)提示您選擇機(jī)器組,這里我們點(diǎn)擊創(chuàng)建機(jī)器組。 ![]() 2、機(jī)器組配置頁(yè)面中選擇IP地址類型的機(jī)器組,IP輸入ECS的內(nèi)網(wǎng)IP(Logtail獲取的IP地址可通過(guò)cat /usr/local/ilogtail/app_info.json查看) ![]() 3、保存機(jī)器組后,勾選該機(jī)器組并點(diǎn)擊應(yīng)用到機(jī)器組。后續(xù)設(shè)置無(wú)需關(guān)心,直接點(diǎn)擊下一步。 ![]() 查看日志 此時(shí)采集配置已經(jīng)創(chuàng)建完畢,您可以嘗試退出重新登錄主機(jī)或輸入命令echo 'test message' >> /var/log/message,這時(shí)本地/var/log/message文件會(huì)有新的日志產(chǎn)生,Logtail就會(huì)采集到這些數(shù)據(jù)了。 點(diǎn)擊日志庫(kù)頁(yè)面的預(yù)覽或查詢鏈接,即可看到Logtail采集上來(lái)的日志了。 ![]() ![]() ![]() |
|
|