亚洲中字慕日产2020,大陆极品少妇内射AAAAAA,无码av大香线蕉伊人久久,久久精品国产亚洲av麻豆网站

資訊專(zhuān)欄INFORMATION COLUMN

基于Docker的日志分析平臺(tái)(三) 快速入門(mén)

afishhhhh / 3446人閱讀

摘要:是一個(gè)日志收集器,支持非常多的輸入源和輸出源。這個(gè)庫(kù)支持展開(kāi)文件路徑,而且會(huì)記錄一個(gè)叫的數(shù)據(jù)庫(kù)文件來(lái)跟蹤被監(jiān)聽(tīng)的日志文件的當(dāng)前讀取位置。

1.Zookeeper

對(duì)于Zookeeper我們用一條簡(jiǎn)單的命令來(lái)測(cè)試一下:

echo ruok|nc localhost 2181

你應(yīng)該可以看到:

imok
2.Kafka

Kafka 是由 Linked 開(kāi)發(fā)并且開(kāi)源的一套分布式的流平臺(tái),它類(lèi)似于一個(gè)消息隊(duì)列。 Kafka 的優(yōu)勢(shì)就是適合構(gòu)建實(shí)時(shí)的流數(shù)據(jù)管道,并且可靠地獲取系統(tǒng)和應(yīng)用程序之間的數(shù)據(jù), 還可以實(shí)時(shí)的對(duì)數(shù)據(jù)流進(jìn)行轉(zhuǎn)換。Kafka 的使用場(chǎng)景很多, 特別是在需要高吞吐量的系統(tǒng)上。首先來(lái)理解一下 Kafka 的幾個(gè)基本的概念:

Topic, Kafka 將消息進(jìn)行分類(lèi),每一類(lèi)的消息稱(chēng)之為一個(gè)主題(Topic).

Producer, 發(fā)布消息的對(duì)象稱(chēng)之為主題生產(chǎn)者(Producer)

Consumer, 訂閱消息并處理消息的對(duì)象稱(chēng)之為主題消費(fèi)者(Consumers)

Broker, 已發(fā)布的消息保存在一組服務(wù)器中,稱(chēng)之為Kafka集群。集群中的每一個(gè)服務(wù)器都是一個(gè)代理(Broker)。 消費(fèi)者可以訂閱一個(gè)或多個(gè)主題(topic),并從Broker拉數(shù)據(jù),從而消費(fèi)這些已發(fā)布的消息。

1. 創(chuàng)建一個(gè)主題

我們可以登錄到 Kafka 容器中,做一些簡(jiǎn)單的小測(cè)試,登錄到容器中的命令:

docker-compose exec kafka bash

首先來(lái)創(chuàng)建一個(gè)名為test的 Topic ,只有一個(gè)分區(qū)和一個(gè)備份:

kafka-topics.sh --create --zookeeper zookeeper:2181 --replication-factor 1 --partitions 1 --topic test

創(chuàng)建好之后,可以通過(guò)運(yùn)行以下命令,查看topic信息:

kafka-topics.sh --list --zookeeper zookeeper:2181
2. 發(fā)送消息

Kafka 默認(rèn)有提供了一個(gè)命令行的工具用來(lái)發(fā)送消息,一行是一條消息,運(yùn)行 Producer 然后輸入一些信息:

kafka-console-producer.sh --broker-list localhost:9092 --topic test 
3. 消費(fèi)消息

Kafka 也提供了一個(gè)消費(fèi)消息的命令行工具,將存儲(chǔ)的信息輸出出來(lái)。

kafka-console-consumer.sh --zookeeper zookeeper:2181 --topic test --from-beginning
3. Elasticsearch

ElasticStack技術(shù)棧包括的三個(gè)軟件,而且一開(kāi)始就是5.0的大版本,主要目的是為了讓其他的軟件版本號(hào)一致,方便各個(gè)軟件的對(duì)應(yīng)。不過(guò)到現(xiàn)在已經(jīng)發(fā)展到了6.0的版本了,我們這次就是用這個(gè)版本。具體的更新詳細(xì)可以查看這里Elasticsearch,這里只說(shuō)說(shuō)基本的概念。

Elasticsearch之所以可以方便的進(jìn)行查詢(xún)過(guò)濾排序是因?yàn)楹?MongoDB 一樣存儲(chǔ)的是整個(gè)文檔,然后還會(huì)根據(jù)文檔的內(nèi)容進(jìn)行索引,而且文檔的格式用的還是很友好的 JSON,比如一個(gè)簡(jiǎn)單的用戶(hù)對(duì)象可以這么表示:

{
    "name": "Xiao Ming",
    "phone": "10086",
    "age": "25",
    "info": {
        "site" : "https://sunnyshift.com"
        "likes": ["games", "music"]
    }
}

在 Elasticsearch 中有四個(gè)名詞,索引(idnex)、類(lèi)型(type)、文檔(document)、字段(field),這四個(gè)字段類(lèi)似于數(shù)據(jù)庫(kù)中的數(shù)據(jù)庫(kù)(database), 表(table), 行(row), 列(column), Elasticsearch 可以包含多個(gè)索引,每個(gè)索引可以包含多個(gè)類(lèi)型,每個(gè)類(lèi)型可以包含多個(gè)文檔,每個(gè)文檔可以包含多個(gè)字段,把他想成數(shù)據(jù)庫(kù)就行了。

我們來(lái)簡(jiǎn)單操作一下,先來(lái)創(chuàng)建一個(gè)索引,并且插入幾條數(shù)據(jù):

PUT /banji/xuesheng/1
{
    "name": "Xiao Ming",
    "age": "12"
}
PUT /banji/xuesheng/2
{
    "name": "Xiao Hong",
    "age": "16"
}

具體操作可以使用 Kibana 上面的 Dev Tools 來(lái)運(yùn)行命令:

有了數(shù)據(jù)之后就可以來(lái)簡(jiǎn)單的檢索一下:

這里只是介紹了一下簡(jiǎn)單的入門(mén)使用,之后可以像一些其他的操作比如過(guò)濾、組合、全文、啥的都不在話(huà)下,甚至還可以高亮搜索結(jié)果。

4. Logstash

Logstash 是一個(gè)日志收集器,支持非常多的輸入源和輸出源。我們簡(jiǎn)單的整合一下 ElasticStack 這個(gè)技術(shù)棧,這里用 Nginx 的訪問(wèn)日志來(lái)測(cè)試一下。Logstash 最新的是有一個(gè) Beats 的組件來(lái)收集數(shù)據(jù),這里先不考慮而是使用傳統(tǒng)的配置文件,我們會(huì)直接把配置寫(xiě)到配置文件中。

Logstash 使用一個(gè)名叫 FileWatch 的 Ruby Gem 庫(kù)來(lái)監(jiān)聽(tīng)文件變化。這個(gè)庫(kù)支持 glob 展開(kāi)文件路徑,而且會(huì)記錄一個(gè)叫 .sincedb 的數(shù)據(jù)庫(kù)文件來(lái)跟蹤被監(jiān)聽(tīng)的日志文件的當(dāng)前讀取位置。

使用 Dcoker 后配置文件路徑在logstash/config下,可以在該目錄下放置多個(gè)配置文件,最后 Logstash 會(huì)幫我們合并成一個(gè)。先來(lái)定義一個(gè)讀取 Nginx 訪問(wèn)日志的配置:

input {
    file {
        path => [ "/var/log/nginx/access.log"]
        type => "accesslog"
    }
}
 
output {
    # 輸出到 elasticsearch,索引名為 access-log
    elasticsearch { 
        hosts => "localhost:9200"
        index => "access-log"
        user => "elastic"
        password => "changeme"
    }
}

要注意的是這里寫(xiě)的 Nginx 的路徑是相對(duì)于 Logstash 容器的,所以要把該路徑掛載到容器中。然后重啟 Logstash 就可以去 Kibana 中查看日志了, 附上 Logstash 重啟命令。如果一切正常,那么就可以去 Kibana 中日志了。

docker-compose stop logstash
docker-compose up -d logstash
5. Kibana

Kibana 是一個(gè)可視化的 UI 界面,并且可以檢索聚合分詞搜索在 Elasticsearch 中的數(shù)據(jù),并且還可以以非常精美的圖標(biāo)來(lái)展示統(tǒng)計(jì)數(shù)據(jù)。我們需要在 Management 頁(yè)面中告訴 Kibana 我們剛才創(chuàng)建的 access-log 索引。

到這里就完成了收集 Nginx 系統(tǒng)日志并展示出來(lái),對(duì)于 Kibana 還有很多用法,就不一一撰述了。

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

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

相關(guān)文章

  • 寫(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
  • 基于Docker日志分析平臺(tái)(四)平臺(tái)整合

    摘要:會(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ō)一下,首先 ...

    wthee 評(píng)論0 收藏0
  • 容器化 — 基于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

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

0條評(píng)論

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