摘要:前言 本文可能不會詳細記錄每一步實現(xiàn)的過程,但一定程度上可以引領(lǐng)小伙伴走向更開闊的視野,串聯(lián)每個環(huán)節(jié),呈現(xiàn)予你不一樣的效果。 業(yè)務(wù)規(guī)模 8個平臺 100+臺服務(wù)器 10+個集群分組 微服務(wù)600+ 用戶N+ 面臨問題 隨著分布式微服務(wù)容器技術(shù)的發(fā)展,傳統(tǒng)監(jiān)控系統(tǒng)面臨許多問題: 容器如何監(jiān)控 微服務(wù)如何監(jiān)控 集群性能如何進行分析計算 如何管理agent端大量配置腳本 這些都是傳統(tǒng)監(jiān)控所要面臨的棘手問題,那么如何解決當(dāng)前遇到的問題,GPE橫空出世,后面會重點分析。
前言
本文可能不會詳細記錄每一步實現(xiàn)的過程,但一定程度上可以引領(lǐng)小伙伴走向更開闊的視野,串聯(lián)每個環(huán)節(jié),呈現(xiàn)予你不一樣的效果。
業(yè)務(wù)規(guī)模
8個平臺
100+臺服務(wù)器
10+個集群分組
微服務(wù)600+
用戶N+
面臨問題
隨著分布式微服務(wù)容器技術(shù)的發(fā)展,傳統(tǒng)監(jiān)控系統(tǒng)面臨許多問題:
容器如何監(jiān)控
微服務(wù)如何監(jiān)控
集群性能如何進行分析計算
如何管理agent端大量配置腳本
這些都是傳統(tǒng)監(jiān)控所要面臨的棘手問題,那么如何解決當(dāng)前遇到的問題,GPE橫空出世,后面會重點分析。
系統(tǒng)監(jiān)控
目標(biāo)群體:系統(tǒng)日志、服務(wù)器、容器、系統(tǒng)軟件運行指標(biāo)
日志架構(gòu):ELK (Elasticsearch+Logstash+Kibana+Redis)
監(jiān)控架構(gòu):GPE (Grafana+Prometheus+Exporter+Consul)
報警方式:郵件、短信、釘釘以及自定義webhook,監(jiān)控中心7x24小時
ELK日志
我有幾張阿里云幸運券分享給你,用券購買或者升級阿里云相應(yīng)產(chǎn)品會有特惠驚喜哦!把想要買的產(chǎn)品的幸運券都領(lǐng)走吧!快下手,馬上就要搶光了。
隨著分布式微服務(wù)的盛行,功能模塊的拆分細化,無論對于開發(fā)還是運維,日志的重要性都是不言而喻的,但是如何存儲分析定位查看日志,一百個公司可能會有兩百種做法。有的很少記錄日志,有的日志等級都不分,有的寫入文本然后就不管不問了,有的向MySql數(shù)據(jù)庫一扔也沒有了下文,等到用戶投訴或者被發(fā)現(xiàn)問題,才會翻一翻。
那么如何正確優(yōu)雅的記錄日志呢?相信大家對于ELK并不陌生,可能不少小伙伴都接觸過,對于中小型互聯(lián)網(wǎng)創(chuàng)業(yè)公司來說,使用ELK搭建日志分析系統(tǒng)的確是一個不錯的選擇。
架構(gòu)圖
核心組件
ELK由Elasticsearch、Logstash和Kibana三劍客組成,當(dāng)然了以上是最基本的組件,為了使的架構(gòu)流程更加豐滿,我們加入了Redis做緩沖隊列,配置了sendmail做異常日志告警。
ElasticSearch
ElasticSearch是一個基于Lucene的搜索服務(wù)器。它提供了一個分布式多用戶能力的全文搜索引擎,基于RESTful web接口。它的特點有:分布式,零配置,自動發(fā)現(xiàn),索引自動分片,索引副本機制,restful風(fēng)格接口等。
Logstash
Logstash數(shù)據(jù)分析工具,它可以對系統(tǒng)生成的的日志進行采集、分析,存儲。2013 年,Logstash 被 Elasticsearch 公司收購,ELK Stack 正式成為官方用語。
kibana
Kibana是一個開源的分析與可視化平臺,用來搜索、查看存儲在Elasticsearch索引中的數(shù)據(jù)。
工作流程
logstash(shipper) 實時監(jiān)控并過濾收集每個服務(wù)的日志信息
logstash(shipper) 把收集來的日志(INFO 、DEBUG 、RROR 、WARN等)分別發(fā)送到Redis
logstash(indexer) 按照日志分類分別從Redis讀取日志信息并發(fā)送給ElasticSearch
logstash(indexer) 過濾出RROR日志通過郵件或者其它webhook方式告警開發(fā)運維人員
Kibana讀取ElasticSearch數(shù)據(jù)結(jié)合自定義搜索進行頁面展示
GPE監(jiān)控
ELK主要收集分析預(yù)警的是我們平臺系統(tǒng)中各個服務(wù)的業(yè)務(wù)日志,一般通過日志組件(log4j 、log4j2 、logback)來收集并寫入文本。但是對于系統(tǒng)本身以及一些應(yīng)用軟件的監(jiān)控預(yù)警,這套方案顯然是不合適的,這里推薦一下GPE三劍客,當(dāng)然了GPE是我自己意淫出來的組合。
架構(gòu)圖