- Kibana 教程
- Kibana - 首頁
- Kibana - 概述
- Kibana - 環境設定
- Kibana - ELK堆疊介紹
- Kibana - 載入示例資料
- Kibana - 管理
- Kibana - 探索 (Discover)
- Kibana - 聚合和指標
- Kibana - 建立視覺化
- Kibana - 使用圖表
- Kibana - 使用圖形
- Kibana - 使用熱力圖
- 使用座標地圖
- Kibana - 使用區域地圖
- 使用儀表和目標
- Kibana - 使用畫布 (Canvas)
- Kibana - 建立儀表板
- Kibana - Timelion
- Kibana - 開發工具 (Dev Tools)
- Kibana - 監控
- 使用Kibana建立報表
- Kibana有用資源
- Kibana - 快速指南
- Kibana - 有用資源
- Kibana - 討論
Kibana - ELK堆疊介紹
Kibana是一個開源的視覺化工具,主要用於分析大量日誌,形式包括折線圖、條形圖、餅圖、熱力圖等。Kibana與Elasticsearch和Logstash協同工作,共同構成所謂的ELK堆疊。
ELK代表Elasticsearch、Logstash和Kibana。ELK是全球流行的日誌管理平臺之一,用於日誌分析。
在ELK堆疊中:
Logstash從不同的輸入源提取日誌資料或其他事件。它處理這些事件,然後將其儲存在Elasticsearch中。
Kibana是一個視覺化工具,它從Elasticsearch訪問日誌,並能夠以折線圖、條形圖、餅圖等形式向用戶顯示。
在本教程中,我們將緊密結合Kibana和Elasticsearch,並以不同的形式視覺化資料。
在本章中,讓我們瞭解如何將ELK堆疊結合使用。此外,您還將看到如何:
- 將CSV資料從Logstash載入到Elasticsearch。
- 在Kibana中使用Elasticsearch中的索引。
將CSV資料從Logstash載入到Elasticsearch
我們將使用CSV資料透過Logstash將資料上傳到Elasticsearch。為了進行資料分析,我們可以從kaggle.com網站獲取資料。Kaggle.com網站上傳了各種型別的資料,使用者可以使用它進行資料分析。
我們從這裡獲取了countries.csv資料:https://www.kaggle.com/fernandol/countries-of-the-world。您可以下載csv檔案並使用它。
我們將要使用的csv檔案包含以下詳細資訊。
檔名 - countriesdata.csv
列 - “國家”,“地區”,“人口”,“面積”
您也可以建立一個虛擬csv檔案並使用它。我們將使用logstash將此資料從countriesdata.csv轉儲到elasticsearch。
在您的終端啟動elasticsearch和Kibana,並保持執行狀態。我們必須為logstash建立配置檔案,其中包含有關CSV檔案列以及其他詳細資訊,如下所示的logstash-config檔案中所示:
input {
file {
path => "C:/kibanaproject/countriesdata.csv"
start_position => "beginning"
sincedb_path => "NUL"
}
}
filter {
csv {
separator => ","
columns => ["Country","Region","Population","Area"]
}
mutate {convert => ["Population", "integer"]}
mutate {convert => ["Area", "integer"]}
}
output {
elasticsearch {
hosts => ["localhost:9200"]
=> "countriesdata-%{+dd.MM.YYYY}"
}
stdout {codec => json_lines }
}
在配置檔案中,我們建立了3個元件:
輸入
我們需要指定輸入檔案的路徑,在本例中為csv檔案。csv檔案儲存的路徑提供給path欄位。
過濾器
將包含csv元件及其使用的分隔符(在本例中為逗號),以及csv檔案的可用列。由於logstash將所有傳入資料視為字串,如果我們想將任何列用作整數或浮點數,則必須使用mutate進行指定,如上所示。
輸出
對於輸出,我們需要指定需要放置資料的位置。在這裡,在本例中我們使用的是elasticsearch。需要提供給elasticsearch的資料是其執行的主機,我們將其指定為localhost。下一個欄位是index,我們將其命名為countries-currentdate。一旦資料更新到Elasticsearch,我們必須在Kibana中使用相同的索引。
將上述配置檔案儲存為logstash_countries.config。請注意,在下一步中,我們需要將此配置檔案的路徑提供給logstash命令。
要將資料從csv檔案載入到elasticsearch,我們需要啟動elasticsearch伺服器:
現在,在瀏覽器中執行https://:9200以確認elasticsearch是否成功執行。
我們的elasticsearch正在執行。現在轉到安裝logstash的路徑,並執行以下命令將資料上傳到elasticsearch。
> logstash -f logstash_countries.conf
以上螢幕顯示了從CSV檔案載入資料到Elasticsearch的過程。要了解我們是否在Elasticsearch中建立了索引,我們可以按如下方式檢查:
我們可以看到如上所示建立的countriesdata-28.12.2018索引。
索引countries-28.12.2018的詳細資訊如下:
請注意,當從logstash上傳資料到elasticsearch時,會建立具有屬性的對映詳細資訊。
在Kibana中使用Elasticsearch中的資料
目前,我們的Kibana在localhost埠5601上執行 - https://:5601。Kibana的UI顯示在此處:
請注意,我們已經將Kibana連線到Elasticsearch,我們應該能夠在Kibana中看到索引:countries-28.12.2018。
在Kibana UI中,單擊左側的管理選單選項:
現在,單擊索引管理:
Elasticsearch中存在的索引顯示在索引管理中。我們將在Kibana中使用的索引是countriesdata-28.12.2018。
因此,由於我們已經在Kibana中擁有elasticsearch索引,接下來我們將瞭解如何在Kibana中使用該索引以餅圖、條形圖、折線圖等形式視覺化資料。