摘要:會直接把日志發(fā)送給,再由進行展示。因為因為會同步把日志傳輸?shù)?,一旦掛掉?shù)據(jù)就有可能會丟失。于是,我們考慮利用作為緩沖區(qū),讓不受的影響,第一步就是讓把日志發(fā)送到,這里相當(dāng)于。至此,我們就成功把加入到日志分析平臺的架構(gòu)中。
在上一篇中我們基本上完成了 ELK 和 Kafka 環(huán)境的安裝,并且也通過幾個簡單的例子入門?,F(xiàn)在我們就把搭建好的架構(gòu)中加入 Kakfa 作為緩沖區(qū)。再來說一下,首先 Logstash 從日志源讀取日志并且存儲到 Kafka,然后 Logstash 再從 Kafka 中讀取日志存儲到 Elasticsearch。所以我們需要兩步驟。
Logstash -> KafkaLogstash 會直接把日志發(fā)送給 Elasticsearch,再由 Kibana 進行展示。因為因為 Logstash 會同步把日志傳輸?shù)?Elasticsearch ,一旦 ElasticSearch 掛掉數(shù)據(jù)就有可能會丟失。于是,我們考慮利用 Kafka 作為緩沖區(qū),讓 Logstash 不受 Elasticsearch 的影響,第一步就是讓 Logstash 把日志發(fā)送到 Kafka,這里 Logstash 相當(dāng)于 Producer。直接來看看 Logstash 的配置文件:
input { file { path => ["/var/log/laravel/storage/logs/*.log"] } } filter { grok { match => { "message" => "[%{TIMESTAMP_ISO8601:logtime}] %{WORD:env}.%{LOGLEVEL:level}: %{GREEDYDATA:msg}" } } } output { kafka { bootstrap_servers => "kafka:9092" topic_id => "laravellog" } }
這里是用來讀取 Laravel 項目的日志文件,我們在 input 和 output 中間加入了一個 filter,這是 Logstash的插件,用戶格式化讀取進來的數(shù)據(jù)。一般情況下,Laravel的日志文件大概是這樣:
[2017-12-05 17:45:07] production.ERROR: 報錯接口 {"api":"/admin/sales"}
分為幾個部分,分別是日志的記錄時間,產(chǎn)生日志的環(huán)境,日志的級別,日志的信息以及額外數(shù)據(jù)。所以我們進行了一個格式化,最后可以讓他以 JSON 的形式存儲到 Elasticsearch,默認沒有 filter 的情況是直接一行存儲進去。格式化后的數(shù)據(jù)就是這樣的(部分):
{ "msg": "接口參數(shù) {"params":[]} ", "path": "/var/log/fenyong/storage/logs/laravel-2017-12-05.log", "level": "ERROR", "env": "local", "logtime": "2017-12-05 17:54:50" }Kafka -> Elasticsearch
利用 Logstash 從 Kafka 讀取數(shù)據(jù)然后存儲到 Elasticsearch,這里 Logstash 作為 Consumer,唯一需要注意的地方是要保證 Topic 的名稱一致。
input { kafka { bootstrap_servers => "kafka:9092" topics => ["laravellog"] } } output { elasticsearch { hosts => "elasticsearch:9200" index => "laravellog" user => "elastic" password => "changeme" } }
這樣我們就完成了從 Logstash 到 Kafka 再到 Elasticsearch 的日志存儲,接下來就可以用 Kibana 來展示數(shù)據(jù)了。
至此,我們就成功把 Kafka 加入到日志分析平臺的架構(gòu)中。
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://specialneedsforspecialkids.com/yun/27161.html
摘要:導(dǎo)讀本文介紹了基于技術(shù)的企業(yè)級應(yīng)用容器平臺,從云的定義云服務(wù)分類,到用友云基礎(chǔ)平臺平臺總體架構(gòu)架構(gòu)預(yù)覽部署架構(gòu)平臺核心價值和核心競爭力,闡述基礎(chǔ)平臺成為廣大傳統(tǒng)企業(yè)數(shù)字化轉(zhuǎn)型的一把尖刀。 導(dǎo)讀:本文介紹了基于Docker技術(shù)的企業(yè)級應(yīng)用容器平臺,從云的定義、云服務(wù)分類,到用友云PaaS基礎(chǔ)平臺、平臺總體架構(gòu)、架構(gòu)預(yù)覽、部署架構(gòu)、平臺核心價值和核心競爭力,闡述PaaS基礎(chǔ)平臺成為廣大...
摘要:云幫能解決什么問題新一代企業(yè)平臺讓開發(fā)人員輕松地開發(fā)部署和運維應(yīng)用,讓架構(gòu)師和運營人員利用熟知和可靠技術(shù)打造一個受控的運行環(huán)境。有助于加速企業(yè)級應(yīng)用服務(wù)于市場,實現(xiàn)內(nèi)部資源的有效利用。 云幫是什么? 云幫 是一款基于容器技術(shù)的應(yīng)用管理平臺。社區(qū)版針對個人、企業(yè)完全免費,您可以自由的下載與傳播,但需要遵循我們的社區(qū)版協(xié)議。 云幫從哪里來? 云幫是 北京好雨科技有限公司 結(jié)合容器技術(shù)整合的...
摘要:前提好幾周沒更新博客了,對不斷支持我博客的童鞋們說聲抱歉了。熟悉我的人都知道我寫博客的時間比較早,而且堅持的時間也比較久,一直到現(xiàn)在也是一直保持著更新狀態(tài)。 showImg(https://segmentfault.com/img/remote/1460000014076586?w=1920&h=1080); 前提 好幾周沒更新博客了,對不斷支持我博客的童鞋們說聲:抱歉了!。自己這段時...
閱讀 2404·2021-10-14 09:43
閱讀 2435·2021-09-09 09:34
閱讀 1601·2019-08-30 12:57
閱讀 1198·2019-08-29 14:16
閱讀 718·2019-08-26 12:13
閱讀 3201·2019-08-26 11:45
閱讀 2282·2019-08-23 16:18
閱讀 2652·2019-08-23 15:27