Docker監(jiān)控及日志采集神器-創(chuàng)新互聯(lián)

由Rancher社區(qū)維護(hù)的應(yīng)用商店最近迎來(lái)了兩個(gè)明星項(xiàng)目——SPM 和 Logsene,來(lái)自Sematext的監(jiān)控與日志工具。如果你已經(jīng)熟悉Logstash,Kibana,Prometheus,Grafana這些監(jiān)控或日志解決方案,那么朋友請(qǐng)認(rèn)真閱讀本文,它將向你展示SPM和Logsene為Rancher用戶帶來(lái)了什么樣的功能,和其它解決方案有著什么樣的差異。

創(chuàng)新互聯(lián)專注于網(wǎng)站建設(shè),為客戶提供成都網(wǎng)站設(shè)計(jì)、做網(wǎng)站、網(wǎng)頁(yè)設(shè)計(jì)開發(fā)服務(wù),多年建網(wǎng)站服務(wù)經(jīng)驗(yàn),各類網(wǎng)站都可以開發(fā),品牌網(wǎng)站制作,公司官網(wǎng),公司展示網(wǎng)站,網(wǎng)站設(shè)計(jì),建網(wǎng)站費(fèi)用,建網(wǎng)站多少錢,價(jià)格優(yōu)惠,收費(fèi)合理。

接觸Sematext Docker Agent

Sematext Docker Agent 是一個(gè)時(shí)下Docker原生的監(jiān)控及日志采集代理(Agent)程序。它在每一個(gè)Docker宿主機(jī)運(yùn)行一個(gè)非常小的容器,用以為所有集群節(jié)點(diǎn)以及這些節(jié)點(diǎn)上的容器采集日志、系統(tǒng)指標(biāo)與事件。Agent代理程序監(jiān)聽所有Rancher管理的節(jié)點(diǎn),在部署Sematext Docker Agent后,所有的日志、Docker事件、各項(xiàng)指標(biāo)都能被外部所訪問(wèn)。

這將變得很有價(jià)值,為什么呢?因?yàn)樗馕吨悴辉傩枰馁M(fèi)幾個(gè)小時(shí)甚至好幾天時(shí)間去弄明白究竟需要采集哪些數(shù)據(jù)或如何將它們圖表化。還有,你不需要花資源來(lái)維護(hù)你自己的日志監(jiān)控體系,你的Docker系統(tǒng)指標(biāo)及事件都會(huì)輸出給SPM 而日志將輸出給Logsene(SPM是一個(gè)應(yīng)用程序性能監(jiān)控服務(wù),它支持與諸多平臺(tái)進(jìn)行集成,這當(dāng)然也包括Docker,而Logsene 是一個(gè)日志管理服務(wù),一個(gè)托管于Rancher的ELK應(yīng)用棧,它能很好的和Kibana和Grafana一并工作)

Docker監(jiān)控及日志采集神器

DevOps工具對(duì)比

有一些Docker日志與指標(biāo)處理的開源工具供我們選擇,比如cAdvisor以及Logspout。遺憾的是,這些工具都不具備足夠的綜合能力。一種解決辦法是集成一系列工具來(lái)達(dá)成目標(biāo),可是這樣的后果是把體系帶向“Franken-monitoring(指技術(shù)大雜燴,各個(gè)組件并不能按承諾的功能正常運(yùn)行)”的方向,用戶將因此而背負(fù)沉重的技術(shù)債,也沒(méi)有人會(huì)愿意解決這種復(fù)雜的故障。因此,另一種解決辦法像Sematext Docker Agent這樣的工具,則只是將cAdvisor和Logspout進(jìn)行了結(jié)合,其功能尤其關(guān)注日志管理,比如格式檢查,日志語(yǔ)法分析,數(shù)據(jù)改進(jìn)(Geo-IP地址地理位置信息,元數(shù)據(jù)標(biāo)簽等)以及日志路由。

通過(guò)Rancher Catalog配置Sematext Docker Agent

在Rancher平臺(tái)設(shè)置Sematext Docker Agent,你只需要選擇合適的catalog模板即可(在Rancher的社區(qū)Catalog條目下查找“Sematext” )。我們來(lái)快速的瀏覽一下Sematex提供了哪些功能?如何在Rancher平臺(tái)對(duì)其進(jìn)行設(shè)置?

Docker Compose及Kubernetes自動(dòng)日志標(biāo)簽

所有的日志均被加上了元數(shù)據(jù)標(biāo)簽,這包含了對(duì)Docker/Rancher Compose項(xiàng)目及Kubernetes的支持:

針對(duì)Docker Container

  • 容器ID

  • 容器名

  • 鏡像名

針對(duì)Docker/Rancher Compose

  • 服務(wù)名

  • 項(xiàng)目名

  • 容器數(shù)(如果你設(shè)置了Scale=N)

針對(duì)Kubernetes

請(qǐng)注意Kubernetes容器的日志和其它Docker容器的日志并沒(méi)有什么很大的不同,然而Kubernetes用戶需要訪問(wèn)已部署的pods的日志,因此,為日志搜索而抓取Kubernetes特有的信息變得非常有用,例如:

  • 命名空間

  • Pod名稱

  • 容器名稱

  • Kubernetes UID

訣竅:如需啟用Kubernetes標(biāo)簽,請(qǐng)?jiān)O(shè)置Kubernetes=1

日志路由

對(duì)于較為龐大的部署,你也許需要針對(duì)不同租戶或應(yīng)用對(duì)日志進(jìn)行索引,將其輸出到不同的路徑或Logsene應(yīng)用處理(這樣你也可以區(qū)分不同的用戶對(duì)不同日志的訪問(wèn)權(quán))。我們使這個(gè)變得非常簡(jiǎn)單:為你的容器簡(jiǎn)單地添加一個(gè)Docker標(biāo)簽,或設(shè)置LOGSENE_TOKEN環(huán)境變量(LOGSENE_TOKEN=your app token),于是Sematext Docker Agent會(huì)將日志發(fā)送至正確的索引項(xiàng)!用這種方式你完全不需要一個(gè)中心配置文件來(lái)映射容器和索引項(xiàng)/令牌,于是日志路由變得非常靈活,動(dòng)態(tài)與彈性化。

集成的日志語(yǔ)法分析器

日志的處理基于Docker API以及一個(gè)叫做logagent-js的庫(kù),該項(xiàng)目被Sematext所開源。這個(gè)分析框架包含了日志格式檢測(cè)和分析標(biāo)準(zhǔn)正式Docker容器所使用的不同日志格式的模式:

  • Web服務(wù)器例如Nginx、Apache httpd或其它使用常見Web服務(wù)器日志格式

  • 搜索引擎類似Elasticsearch和Solr

  • 消息隊(duì)列類似Apache Kafaka及nsq.io

  • 數(shù)據(jù)庫(kù)類似MongoDB, HBase, MySQL

  • 檢測(cè)JSON日志格式,通常被Node.js程序所使用,例如bunyan和winston日志框架

提示: 如果要?jiǎng)?chuàng)建自定義模式,請(qǐng)?jiān)赗ancher Catalog模板里把它們添加到叫做LOGAGENT_PATTERNS的字段里。

自動(dòng)的容器日志Geo-IP增強(qiáng)項(xiàng)

從Docker容器之外獲取到經(jīng)過(guò)采集運(yùn)送并分析后的日志已經(jīng)節(jié)約了大量的時(shí)間,但是有一些應(yīng)用日志需要從其它數(shù)據(jù)源獲取額外的增強(qiáng)信息。一個(gè)常見的案例是增強(qiáng)Web Server的日志信息(或者說(shuō)任意包含IP地址信息的日志),為日志中的IP地址提供其地理位置信息。

Sematext Docker Agent 支持Geo-IP enrichment of docker logs。它使用Maxmind Geo-IP輕量數(shù)據(jù)庫(kù),它能為你定期的提供更新信息,無(wú)需停止容器或?yàn)槠鋻燧d包含Geo-IP數(shù)據(jù)庫(kù)的新卷,或任何其它手動(dòng)操作。

訣竅: 如果需要開啟Geo-IP增強(qiáng)功能,請(qǐng)?jiān)O(shè)置環(huán)境變量GEOIP_ENABLED=true。

過(guò)濾容器日志

在某些場(chǎng)景,我們只需要收集重要應(yīng)用的日志而忽略掉那些較低優(yōu)先級(jí)的或較為嘈雜的服務(wù)日志(例如那些頻繁的清理工作)。這樣我們可以使用白名單或黑名單(針對(duì)容器名或鏡像名)來(lái)處理這些容器即可,其設(shè)置采用正則表達(dá)式匹配相應(yīng)的元數(shù)據(jù)字段。

Whitelist containers
MATCH_BY_NAME 正則表達(dá)式對(duì)容器名進(jìn)行白名單設(shè)置
MATCH_BY_IMAGE 正則表達(dá)式對(duì)鏡像名進(jìn)行白名單設(shè)置
Blacklist containers
SKIP_BY_NAME正則表達(dá)式對(duì)容器名進(jìn)行黑名單設(shè)置,將日志忽略該容器
SKIP_BY_IMAGE正則表達(dá)式對(duì)鏡像名進(jìn)行黑名單設(shè)置,將日志忽略該鏡像

如何使用Sematext Catalog項(xiàng)目

在Rancher的UI里,進(jìn)入社區(qū)的Catalog項(xiàng)目列表,搜索關(guān)鍵字“sematext”、“monitoring”或“l(fā)ogs”即可。

Docker監(jiān)控及日志采集神器

點(diǎn)擊“View Details”,在“Configuration Options”選項(xiàng)里輸入SPM和Logsene App的tokens。你可以從https://apps.sematext.com進(jìn)行注冊(cè)并創(chuàng)建你的SPM和Logsene應(yīng)用,然后即可獲取這些訪問(wèn)令牌(tokens)。如果你的Rancher集群運(yùn)行在防火墻(代理)之后, 你需要在HTTPS_PROXY或 HTTP_PROXY環(huán)境變量處填寫proxy URL。如果你在這個(gè)集群里同時(shí)也運(yùn)行了Kubernetes,請(qǐng)選擇KUBERNETES=1。

如果你想收集所有的日志,不要填寫任何容器或鏡像名的過(guò)濾值,直接點(diǎn)擊“Launch”即可。

Docker監(jiān)控及日志采集神器Docker監(jiān)控及日志采集神器Docker監(jiān)控及日志采集神器

總結(jié)

我們希望這篇對(duì)Rancher平臺(tái)中Sematext Docker Agent的介紹,能幫助你在開始對(duì)Docker進(jìn)行監(jiān)控與日志處理時(shí),不用采用大雜燴的繁瑣模式。該項(xiàng)目完整的配置參數(shù)可從Github獲得參考。 我們相信新的Catalog模板已經(jīng)能覆蓋最常用的選項(xiàng),如果你發(fā)現(xiàn)一些重要項(xiàng)目缺失,請(qǐng)將其提交至Rancher community catalog (提交issue或是pull request)。結(jié)合Rancher試用一下Sematext Docker Agent 吧,所有服務(wù)將被輕松接管,你將就此高枕無(wú)憂。Rancher Community Catalog讓日志監(jiān)控系統(tǒng)能瞬間設(shè)置并運(yùn)行起來(lái),一切都變得如此容易。

原文來(lái)源:Rancher Labs

另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無(wú)理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國(guó)服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場(chǎng)景需求。

當(dāng)前題目:Docker監(jiān)控及日志采集神器-創(chuàng)新互聯(lián)
文章出自:http://muchs.cn/article14/iojde.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)頁(yè)設(shè)計(jì)公司、小程序開發(fā)、自適應(yīng)網(wǎng)站、網(wǎng)站設(shè)計(jì)、全網(wǎng)營(yíng)銷推廣、靜態(tài)網(wǎng)站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

成都網(wǎng)站建設(shè)公司