最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

ELK 教程 – 高效發(fā)現(xiàn)、分析和可視化你的數(shù)據(jù)

2021-04-28 19:28 作者:信碼由韁  | 我要投稿

【注】本文譯自:?https://www.edureka.co/blog/elk-stack-tutorial/

隨著越來越多的 IT 基礎(chǔ)設(shè)施轉(zhuǎn)身云計(jì)算,對(duì)公共云安全工具和日志分析平臺(tái)的需求也在迅速增加。不管組織的規(guī)模有多大,每天都會(huì)生成大量的數(shù)據(jù)。這些數(shù)據(jù)中有相當(dāng)一部分是由公司的 Web 服務(wù)器日志組成的。日志是最重要的信息來源之一, 但往往被忽視。每個(gè)日志文件都包含一些寶貴的信息,這些信息大多是非結(jié)構(gòu)化的,沒有任何意義。如果不對(duì)此日志數(shù)據(jù)進(jìn)行詳盡的分析,那么企業(yè)可能會(huì)忽視其周圍的機(jī)會(huì)和威脅。這是日志分析工具非常有用的地方。ELK Stack 或 Elastic Stack 是完整的日志分析解決方案,它有助于深入搜索、分析和可視化不同機(jī)器生成的日志。通過本教程,我將為您提供相關(guān)見解。

首先,讓我們列出要討論的主題:

  • 什么是 ELK Stack?

  • ELK Stack 架構(gòu)

  • ELK Stack 安裝

  • Elasticsearch 教程

  • Logstash 教程

  • Kibana 教程

本教程將幫助您一起理解 Elasticsearch、Logstash 和 Kibana 的基礎(chǔ)知識(shí),并幫助您在 ELK Stack 中打下堅(jiān)實(shí)的基礎(chǔ)。

首先讓我們來了解什么是 ELK Stack。

什么是 ELK Stack?

眾所周知的 ELK Stack 最近被更名為 Elastic Stack。它是三個(gè)開源工具的強(qiáng)大集合:Elasticsearch、Logstash 和 Kibana。

這三種不同的產(chǎn)品最常一起用于不同 IT 環(huán)境中的日志分析。使用 ELK Stack,您可以執(zhí)行集中式日志記錄,這有助于識(shí)別 Web 服務(wù)器或應(yīng)用程序的問題。它使您可以在一個(gè)地方搜索所有日志,并通過在特定時(shí)間范圍內(nèi)關(guān)聯(lián)多個(gè)服務(wù)器的日志來識(shí)別跨多個(gè)服務(wù)器的問題。

現(xiàn)在讓我們?cè)敿?xì)討論這些工具。

Logstash

Logstash 是數(shù)據(jù)收集管道工具。它是 ELK Stack 的第一個(gè)組件,它收集數(shù)據(jù)輸入并將其輸入到 Elasticsearch。它可以一次從不同來源收集各種類型的數(shù)據(jù),并立即提供以備將來使用。

Elasticsearch

Elasticsearch 是基于 Lucene 搜索引擎的 NoSQL 數(shù)據(jù)庫,并使用 RESTful API 構(gòu)建。它是一個(gè)高度靈活的分布式搜索和分析引擎。此外,它通過水平可伸縮性提供了簡(jiǎn)單的部署、最大的可靠性和易于管理的功能。它提供高級(jí)查詢以執(zhí)行詳細(xì)分析,并集中存儲(chǔ)所有數(shù)據(jù)以快速搜索文檔。

Kibana

Kibana 是一種數(shù)據(jù)可視化工具。它用于可視化 Elasticsearch 文檔,并幫助開發(fā)人員立即對(duì)其進(jìn)行深入了解。Kibana 儀表板提供了各種交互式圖表、地理空間數(shù)據(jù)、時(shí)間線和圖表,以可視化使用 Elasticsearch 完成的復(fù)雜查詢。使用 Kibana,您可以根據(jù)自己的特定需求創(chuàng)建和保存自定義圖形。

下一部分將討論 ELK Stack 架構(gòu)以及其中的數(shù)據(jù)流向。

ELK Stack 架構(gòu)

以下是 ELK Stack 的架構(gòu),顯示了 ELK 中日志流的正確順序。在此,Logstash 會(huì)根據(jù)提供的過濾條件來收集和處理從各種來源生成的日志。然后,Logstash 將這些日志通過管道傳輸?shù)?Elasticsearch,然后 Elasticsearch 分析和搜索數(shù)據(jù)。最后,使用 Kibana,可以根據(jù)要求對(duì)日志進(jìn)行可視化和管理。


ELK Stack 安裝

第 I 步:打開https://www.elastic.co/downloads.


第 II 步:選擇并下載 Elasticsearch。

第 III 步:選擇并下載 Kibana.

第 IV 步:選擇并下載 Logstash.

第 V 步:解壓縮所有三個(gè)文件以獲取對(duì)應(yīng)文件夾的文件。


安裝 Elasticsearch

第 VI 步:現(xiàn)在打開?elasticsearch 文件夾?并轉(zhuǎn)到?bin 文件夾.

第 VII 步:雙擊 elasticsearch.bat 文件以啟動(dòng) elasticsearch 服務(wù)器。


第 VIII 步:等待 elasticsearch 服務(wù)器啟動(dòng)。

第 IX 步:要檢查服務(wù)器是否已啟動(dòng),請(qǐng)轉(zhuǎn)到瀏覽器并鍵入?localhost:9200。


安裝 Kibana

第 X 步:現(xiàn)在打開?kibana?文件夾?并轉(zhuǎn)到?bin 文件夾。

第 XI 步:雙擊 kibana.bat 文件以啟動(dòng) kibana 服務(wù)器。


STEP XII:?等待 kibana 服務(wù)器啟動(dòng)。

STEP XIII:?要檢查服務(wù)器是否已啟動(dòng),請(qǐng)轉(zhuǎn)到瀏覽器并鍵入?localhost:5601。


安裝 Logstash

第 XIV 步:現(xiàn)在打開?logstash 文件夾。

第 XV 步:要測(cè)試您的 logstash 安裝,請(qǐng)打開命令提示符,然后轉(zhuǎn)到 logstash 文件夾。現(xiàn)在輸入:

binlogstash -e 'input { stdin { } } output { stdout {} }'

第 XVI 步:等待,直到命令提示符上顯示“ Pipeline main started”出現(xiàn)在命令提示符下。


第 XVII 步:現(xiàn)在,在命令提示符下輸入一條消息,然后按 Enter 鍵。

第 XVIII 步:Logstash 將時(shí)間戳和 IP 地址信息附加到消息中,并將其顯示在命令提示符下。

既然我們完成了安裝,那么現(xiàn)在讓我們更深入地研究這些工具。讓我們從 Elasticsearch 開始。

Elasticsearch

如前所述,Elasticsearch 是一個(gè)高度可擴(kuò)展的搜索引擎,它運(yùn)行在基于 Java 的 Lucene 引擎之上。它基本上是一個(gè) NoSQL 數(shù)據(jù)庫。這意味著它將以非結(jié)構(gòu)化格式存儲(chǔ)數(shù)據(jù),并且無法對(duì)任何類型的交易執(zhí)行 SQL 查詢。換句話說,它將數(shù)據(jù)存儲(chǔ)在文檔中,而不是表和模式中。為了獲得更好的圖像,請(qǐng)檢查下表,該表顯示了與數(shù)據(jù)庫相比在 Elasticsearch 中的內(nèi)容。


現(xiàn)在讓我們熟悉 Elasticsearch 的基本概念。

使用 Elasticsearch 時(shí),需要遵循三個(gè)主要步驟:

  1. 索引

  2. 映射

  3. 搜索

讓我們一個(gè)一個(gè)詳細(xì)地談?wù)劇?/p>

索引

索引編制是添加數(shù)據(jù) Elasticsearch 的過程。之所以稱為“索引”,是因?yàn)閷?shù)據(jù)輸入到 Elasticsearch 中后,它將被放入 Apache Lucene 索引中。然后,Elasticsearch 使用這些 Lucene 索引來存儲(chǔ)和檢索數(shù)據(jù)。索引編制與 CRUD 操作的創(chuàng)建和更新過程相似。

索引方案由?名稱/類型/ id?組成,其中名稱和類型是必填字段。 如果您不提供任何 ID,Elasticsearch 將自己提供一個(gè) ID。 然后,將整個(gè)查詢附加到 HTTP PUT 請(qǐng)求中,最終 URL 如下:PUT name/type/id?與 HTTP 有效負(fù)載一起,還將發(fā)送包含字段和值的 JSON 文檔。

以下是創(chuàng)建一個(gè)美國客戶的文檔的示例,該文檔及其字段中的詳細(xì)信息。

PUT?/customer/US/1?

{

????"ID":?101,

????"FName":?"James",

????"LName":?"Butt",

????"Email":?"jbutt@gmail.com",

????"City":?"New?Orleans",

????"Type":?"VIP"

}


它會(huì)給你以下輸出:


這里顯示文檔已創(chuàng)建并添加到索引中。

現(xiàn)在,如果您嘗試在不更改標(biāo)識(shí)的情況下更改字段詳細(xì)信息,Elasticsearch 將使用當(dāng)前詳細(xì)信息覆蓋現(xiàn)有文檔。

PUT?/customer/US/1

{

????"ID":?101,

????"FName":?"James",

????"LName":?"Butt",

????"Email":?"jbutt@yahoo.com",

????"City":?"Los?Angeles",

????"Type":?"VVIP"

}



這里顯示文檔已經(jīng)更新了索引的新細(xì)節(jié)。

映射

映射是設(shè)置索引模式的過程。通過映射,您可以告訴 Elasticsearch 你的模式中屬性的數(shù)據(jù)類型。如果在預(yù)索引時(shí)未針對(duì)特定對(duì)象進(jìn)行映射,則 Elasticsearch 將動(dòng)態(tài)地將泛型類型添加到該字段。但是這些泛型類型是非常基本的,大多數(shù)時(shí)候都不能滿足查詢的期望。

現(xiàn)在讓我們嘗試映射查詢。

PUT?/customer/

{

????"mappings":?{

????????"US":?{

????????????"properties":?{

????????????????"ID":?{

????????????????????"type":?"long"

????????????????},

????????????????"FName":?{

????????????????????"type":?"text"

????????????????},

????????????????"LName":?{

????????????????????"type":?"text"

????????????????},

????????????????"Email":?{

????????????????????"type":?"text"

????????????????},

????????????????"City":?{

????????????????????"type":?"text"

????????????????},

????????????????"Type":?{

????????????????????"type":?"text"

????????????????}

????????????}

????????}

????}

}



當(dāng)您執(zhí)行查詢時(shí),您將獲得這種類型的輸出。

搜索

具有特定索引和類型的一般搜索查詢?nèi)缦拢?strong>POST index/type/_search

現(xiàn)在,讓我們嘗試搜索“customer”索引中存在的所有客戶的詳細(xì)信息。

POST /customer/US/_search

當(dāng)您執(zhí)行此查詢時(shí),將生成以下結(jié)果:


但是,當(dāng)您要搜索特定結(jié)果時(shí),Elasticsearch 提供了三種方法:

  • 使用查詢

使用查詢,您可以搜索一些特定的文檔或條目。例如,讓我們對(duì)屬于“ VVIP”類別的客戶執(zhí)行搜索查詢。

POST?/customer/US/_search

{

????"query":?{

????????"match":?{

????????????"Type":?"VVIP"

????????}

????}

}



  • 使用過濾器

使用過濾器,您可以進(jìn)一步縮小搜索范圍。以下是搜索 ID 為“ 101”的 VVIP 客戶的示例:

POST?/customer/_search

{

????"query":?{

????????"match":?{

????????????"Type":?"VVIP"

????????}

????},

????"post_filter":?{

????????"match":?{

????????????"ID":?101

????????}

????}

}

如果執(zhí)行此查詢,則會(huì)得到以下結(jié)果:


  • 使用聚合

聚合是一個(gè)框架,可幫助通過搜索查詢聚合數(shù)據(jù)。小型聚合可以結(jié)合在一起,以構(gòu)建所提供數(shù)據(jù)的復(fù)雜摘要。讓我們執(zhí)行一個(gè)簡(jiǎn)單的匯總,以檢查索引中有多少類型的客戶:

POST?/customer/_search

{

????"size":?0,

????"aggs":?{

????????"Cust_Types":?{

????????????"terms":?{

????????????????"field":?"Type.keyword"

????????????}

????????}

????}

}



現(xiàn)在讓我們看看如何從索引中檢索數(shù)據(jù)集。

獲取數(shù)據(jù)

要檢查索引中包含的文檔列表,您只需要發(fā)送以下格式的 HTTP GET 請(qǐng)求:GET index/type/id

讓我們嘗試檢索“ id”等于 2 的客戶的詳細(xì)信息:

GET /customer/US/2

成功執(zhí)行后,它將為您提供以下類型的結(jié)果。


使用 Elasticsearch,您不僅可以瀏覽數(shù)據(jù),還可以刪除或刪除文檔。

刪除數(shù)據(jù)

使用刪除約定,您可以輕松地從索引中刪除不需要的數(shù)據(jù)并釋放內(nèi)存空間。要?jiǎng)h除任何文檔,您需要以以下格式發(fā)送 HTTP DELETE 請(qǐng)求:DELETE index/type/id.

現(xiàn)在讓我們嘗試刪除 ID 為 2 的客戶的詳細(xì)信息。

DELETE /customer/US/2

執(zhí)行此查詢時(shí),您將獲得以下類型的結(jié)果。


至此,我們講解了使用 Elasticsearch 的 CRUD 操作的基礎(chǔ)知識(shí),了解這些基本操作將幫助您執(zhí)行不同類型的搜索。

現(xiàn)在讓我們開始學(xué)習(xí) ELK Stack 的下一個(gè)工具 Logstash。

Logstash

正如我已經(jīng)討論的那樣,Logstash 是一種管道工具,通常用于收集和轉(zhuǎn)發(fā)日志或事件。它是一個(gè)開源數(shù)據(jù)收集引擎,可以動(dòng)態(tài)集成來自各種來源的數(shù)據(jù)并將其標(biāo)準(zhǔn)化到指定的目標(biāo)位置。


使用多個(gè)輸入,過濾器和輸出插件,Logstash 可以輕松轉(zhuǎn)換各種事件。至少,Logstash 需要在其配置文件中指定的輸入和輸出插件來執(zhí)行轉(zhuǎn)換。以下是 Logstash 配置文件的結(jié)構(gòu):

input?{

????...

}

filter?{

????...

}

output?{

????...

}

如您所見,整個(gè)配置文件分為三個(gè)部分,每個(gè)部分都包含一個(gè)或多個(gè)插件的配置選項(xiàng)。這三個(gè)部分是:

  1. input(輸入)

  2. filter (過濾)

  3. output (輸出)

您也可以在配置文件中應(yīng)用多個(gè)過濾器。在這種情況下,其應(yīng)用程序順序?qū)⑴c配置文件中的規(guī)范順序相同。

現(xiàn)在,讓我們嘗試配置 CSV 文件格式的美國客戶數(shù)據(jù)集文件。

input?{

????file?{

????????path?=>?"E:/ELK/data/US_Customer_List.csv"

????????start_position?=>?"beginning"

????????sincedb_path?=>?"/dev/null"

????}

}

filter?{

????csv?{

????????separator?=>?","

????????columns?=>?["Cust_ID",?"Cust_Fname",?"Cust_Lname",?"Cust_Email",?"Cust_City",?"Cust_Type"]

????}

????mutate?{

????????convert?=>?["Cust_ID",?"integer"]

????}

}

output?{

????elasticsearch?{

????????hosts?=>?"localhost"

????????index?=>?"customers"

????????document_type?=>?"US_Based_Cust"

????}

????stdout?{}

}

要將這個(gè) CSV 文件數(shù)據(jù)插入 elasticsearch 中,您必須通知 Logstash 服務(wù)器。

為此,請(qǐng)執(zhí)行以下步驟:

  1. 打開命令提示符

  2. 進(jìn)入 Logstash 的 bin 目錄

  3. 輸入:logstash?–f X:/foldername/config_filename.config?然后按回車。一旦您的 logstash 服務(wù)器啟動(dòng)并運(yùn)行,它將開始將文件中的數(shù)據(jù)傳輸?shù)?Elasticsearch 中。

如果要檢查是否成功插入了數(shù)據(jù),請(qǐng)轉(zhuǎn)到 Sense 插件并鍵入:

GET /customers/

它會(huì)為您提供已創(chuàng)建的文檔數(shù)。

現(xiàn)在,如果要可視化此數(shù)據(jù),則必須使用 ELK Stack 的最后一個(gè)工具,即 Kibana。因此,在本教程的下一部分中,我將討論 Kibana 及其使用方式,以可視化您的數(shù)據(jù)。

Kibana

如前所述,Kibana 是一個(gè)開源的可視化和分析工具。它有助于可視化 Logstash 管道傳輸并存儲(chǔ)到 Elasticsearch 中的數(shù)據(jù)。您可以使用 Kibana 來搜索,查看此存儲(chǔ)的數(shù)據(jù)并與之交互,然后在各種圖表,表格和地圖中對(duì)其進(jìn)行可視化。Kibana 的基于瀏覽器的界面簡(jiǎn)化了海量數(shù)據(jù)并反映了 Elasticsearch 查詢中的實(shí)時(shí)變化。此外,您還可以輕松創(chuàng)建、自定義、保存和共享儀表板。

一旦您了解了如何與 Elasticsearch 和 Logstash 一起使用,學(xué)習(xí) Kibana 就不是什么大事了。在本教程的這一部分,我將向您介紹為了對(duì)數(shù)據(jù)進(jìn)行分析所需的各種功能。

  • 管理頁面

在這里,您必須執(zhí)行 Kibana 的運(yùn)行時(shí)配置。 在此頁面中,您需要指定一些搜索內(nèi)容。請(qǐng)參見以下示例,在該示例中,我已經(jīng)配置了“customer”索引的條目。


如您所見,在“索引模式(Index Patterns)”字段中,您需要指定要使用的索引。確保在“時(shí)間過濾器字段名稱”中將其選擇為 @timestamp。然后,您可以繼續(xù)并單擊創(chuàng)建以創(chuàng)建索引。如果索引創(chuàng)建成功,您將看到以下頁面類型:


在這里,您可以根據(jù)需要從下拉列表中選擇不同的過濾器。此外,要釋放內(nèi)存,您還可以刪除特定的索引。

  • 發(fā)現(xiàn)頁面?

通過“發(fā)現(xiàn)”頁面,您可以訪問存在于每個(gè)與所選索引模式匹配的每個(gè)索引的文檔。 您可以輕松地交互和瀏覽 Kibana 服務(wù)器上存在的所有數(shù)據(jù)。 此外,您可以查看文檔中存在的數(shù)據(jù)并對(duì)其進(jìn)行搜索查詢。 下面你可以看到,我正在搜索來自“洛杉磯”的“ VIP”客戶。


因此,如您所見,我們只有一位來自洛杉磯的 VIP 客戶。

  • 可視化頁面?

? ?可視化頁面使您可以可視化以圖表、條形圖、餅圖等形式顯示在 Elasticsearch 索引中的數(shù)據(jù)。您甚至可以在此處構(gòu)建儀表板,這些儀表板將基于 Elasticsearch 查詢顯示相關(guān)的可視化效果。通常,使用一系列 Elasticsearch 聚合查詢來提取和處理數(shù)據(jù)。當(dāng)您轉(zhuǎn)到“可視化”頁面并搜索保存的可視化時(shí),或者可以創(chuàng)建一個(gè)新的可視化。 您可以以任何形式匯總數(shù)據(jù)。為了方便用戶,提供了不同類型的可視化選項(xiàng)。


讓我向您展示如何根據(jù)用戶類型可視化美國客戶數(shù)據(jù)。


要執(zhí)行可視化,請(qǐng)按照以下步驟操作:

  • 選擇可視化類型。 [這里我用的是餅圖]

  • 在匯總字段中,從下拉列表中選擇“術(shù)語(term)”。

  • 在“字段(field)”中,選擇要執(zhí)行搜索的字段類型。

  • 您還可以指定可視化的順序和大小。

  • 現(xiàn)在單擊執(zhí)行按鈕以生成餅圖。


  • 儀表盤頁面

“儀表板”頁面顯示已保存的可視化的集合。在這里,您可以添加新的可視化效果,也可以使用任何保存的可視化效果。

  • Timelion 頁面?

Timelion 是一個(gè)時(shí)間序列數(shù)據(jù)可視化工具,它將完全獨(dú)立的數(shù)據(jù)源整合到一個(gè)界面中。 它由一種單行表達(dá)語言驅(qū)動(dòng),可用于檢索時(shí)間序列數(shù)據(jù),執(zhí)行計(jì)算以簡(jiǎn)化復(fù)雜問題并可視化結(jié)果。


  • 開發(fā)工具頁面

Kibana 的“開發(fā)工具”頁面包含諸如“ Beta Sense”插件之類的開發(fā)工具,可用于與 Elasticsearch 中存在的數(shù)據(jù)進(jìn)行交互。它通常被稱為 Kibana 的控制臺(tái)。以下是一個(gè)示例,其中我使用了 Kibana 的 Sense 插件來搜索類型為“ US_based_cust”的“客戶(customers)”索引:


本文到此結(jié)束。現(xiàn)在,您可以使用 Logstash、Elasticsearch 和 Kibana 對(duì)任何數(shù)據(jù)執(zhí)行各種搜索和分析。


ELK 教程 – 高效發(fā)現(xiàn)、分析和可視化你的數(shù)據(jù)的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國家法律
五河县| 菏泽市| 成安县| 林周县| 崇信县| 阿尔山市| 苏尼特左旗| 苍梧县| 吉首市| 虞城县| 福建省| 阿荣旗| 安康市| 开平市| 南昌市| 德惠市| 洛浦县| 东方市| 七台河市| 久治县| 汝南县| 榆树市| 德保县| 乌审旗| 清镇市| 海宁市| 玉环县| 凯里市| 临汾市| 灵川县| 山西省| 麻城市| 青海省| 太和县| 梁平县| 巴彦县| 大港区| 临高县| 政和县| 七台河市| 克什克腾旗|