成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專(zhuān)欄INFORMATION COLUMN

基于Docker的日志分析平臺(tái)(四)平臺(tái)整合

wthee / 2642人閱讀

摘要:會(huì)直接把日志發(fā)送給,再由進(jìn)行展示。因?yàn)橐驗(yàn)闀?huì)同步把日志傳輸?shù)?,一旦掛掉?shù)據(jù)就有可能會(huì)丟失。于是,我們考慮利用作為緩沖區(qū),讓不受的影響,第一步就是讓把日志發(fā)送到,這里相當(dāng)于。至此,我們就成功把加入到日志分析平臺(tái)的架構(gòu)中。

在上一篇中我們基本上完成了 ELK 和 Kafka 環(huán)境的安裝,并且也通過(guò)幾個(gè)簡(jiǎn)單的例子入門(mén)?,F(xiàn)在我們就把搭建好的架構(gòu)中加入 Kakfa 作為緩沖區(qū)。再來(lái)說(shuō)一下,首先 Logstash 從日志源讀取日志并且存儲(chǔ)到 Kafka,然后 Logstash 再?gòu)?Kafka 中讀取日志存儲(chǔ)到 Elasticsearch。所以我們需要兩步驟。

Logstash -> Kafka

Logstash 會(huì)直接把日志發(fā)送給 Elasticsearch,再由 Kibana 進(jìn)行展示。因?yàn)橐驗(yàn)?Logstash 會(huì)同步把日志傳輸?shù)?Elasticsearch ,一旦 ElasticSearch 掛掉數(shù)據(jù)就有可能會(huì)丟失。于是,我們考慮利用 Kafka 作為緩沖區(qū),讓 Logstash 不受 Elasticsearch 的影響,第一步就是讓 Logstash 把日志發(fā)送到 Kafka,這里 Logstash 相當(dāng)于 Producer。直接來(lái)看看 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"
    }
}

這里是用來(lái)讀取 Laravel 項(xiàng)目的日志文件,我們?cè)?input 和 output 中間加入了一個(gè) filter,這是 Logstash的插件,用戶(hù)格式化讀取進(jìn)來(lái)的數(shù)據(jù)。一般情況下,Laravel的日志文件大概是這樣:

[2017-12-05 17:45:07] production.ERROR: 報(bào)錯(cuò)接口 {"api":"/admin/sales"}

分為幾個(gè)部分,分別是日志的記錄時(shí)間,產(chǎn)生日志的環(huán)境,日志的級(jí)別,日志的信息以及額外數(shù)據(jù)。所以我們進(jìn)行了一個(gè)格式化,最后可以讓他以 JSON 的形式存儲(chǔ)到 Elasticsearch,默認(rèn)沒(méi)有 filter 的情況是直接一行存儲(chǔ)進(jìn)去。格式化后的數(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ù)然后存儲(chǔ)到 Elasticsearch,這里 Logstash 作為 Consumer,唯一需要注意的地方是要保證 Topic 的名稱(chēng)一致。

input {
    kafka {
        bootstrap_servers => "kafka:9092"
        topics => ["laravellog"]
    }
}

output {
    elasticsearch {
        hosts => "elasticsearch:9200"
        index => "laravellog"
        user => "elastic"
        password => "changeme"
    }
}

這樣我們就完成了從 Logstash 到 Kafka 再到 Elasticsearch 的日志存儲(chǔ),接下來(lái)就可以用 Kibana 來(lái)展示數(shù)據(jù)了。

至此,我們就成功把 Kafka 加入到日志分析平臺(tái)的架構(gòu)中。

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/27161.html

相關(guān)文章

  • 容器化 — 基于Docker技術(shù)容器云

    摘要:導(dǎo)讀本文介紹了基于技術(shù)的企業(yè)級(jí)應(yīng)用容器平臺(tái),從云的定義云服務(wù)分類(lèi),到用友云基礎(chǔ)平臺(tái)平臺(tái)總體架構(gòu)架構(gòu)預(yù)覽部署架構(gòu)平臺(tái)核心價(jià)值和核心競(jìng)爭(zhēng)力,闡述基礎(chǔ)平臺(tái)成為廣大傳統(tǒng)企業(yè)數(shù)字化轉(zhuǎn)型的一把尖刀。   導(dǎo)讀:本文介紹了基于Docker技術(shù)的企業(yè)級(jí)應(yīng)用容器平臺(tái),從云的定義、云服務(wù)分類(lèi),到用友云PaaS基礎(chǔ)平臺(tái)、平臺(tái)總體架構(gòu)、架構(gòu)預(yù)覽、部署架構(gòu)、平臺(tái)核心價(jià)值和核心競(jìng)爭(zhēng)力,闡述PaaS基礎(chǔ)平臺(tái)成為廣大...

    wapeyang 評(píng)論0 收藏0
  • Docker企業(yè)級(jí)管理平臺(tái)開(kāi)放下載,免費(fèi)使用

    摘要:云幫能解決什么問(wèn)題新一代企業(yè)平臺(tái)讓開(kāi)發(fā)人員輕松地開(kāi)發(fā)部署和運(yùn)維應(yīng)用,讓架構(gòu)師和運(yùn)營(yíng)人員利用熟知和可靠技術(shù)打造一個(gè)受控的運(yùn)行環(huán)境。有助于加速企業(yè)級(jí)應(yīng)用服務(wù)于市場(chǎng),實(shí)現(xiàn)內(nèi)部資源的有效利用。 云幫是什么? 云幫 是一款基于容器技術(shù)的應(yīng)用管理平臺(tái)。社區(qū)版針對(duì)個(gè)人、企業(yè)完全免費(fèi),您可以自由的下載與傳播,但需要遵循我們的社區(qū)版協(xié)議。 云幫從哪里來(lái)? 云幫是 北京好雨科技有限公司 結(jié)合容器技術(shù)整合的...

    sumory 評(píng)論0 收藏0
  • 寫(xiě)這么多系列博客,怪不得找不到女朋友

    摘要:前提好幾周沒(méi)更新博客了,對(duì)不斷支持我博客的童鞋們說(shuō)聲抱歉了。熟悉我的人都知道我寫(xiě)博客的時(shí)間比較早,而且堅(jiān)持的時(shí)間也比較久,一直到現(xiàn)在也是一直保持著更新?tīng)顟B(tài)。 showImg(https://segmentfault.com/img/remote/1460000014076586?w=1920&h=1080); 前提 好幾周沒(méi)更新博客了,對(duì)不斷支持我博客的童鞋們說(shuō)聲:抱歉了!。自己這段時(shí)...

    JerryWangSAP 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<