天天看點

ELK學習實踐(六)--導入CSV檔案并建立可視化圖表1.導出源資料2.通過Logstash将資料導入Elasticsearch3.使用Kibana建立可視化圖表

近期在整理項目總結材料,順便利用學到的ELK知識對項目管理過程資料進行抽取、導入和分析。

手上的資料來源有禅道管理系統、會議紀要和問題跟蹤記錄,禅道管理系統用于日常任務配置設定和工時記錄,具有較高的參考價值,首先就以禅道管理系統中的資料為例進行工時統計。

1.導出源資料

禅道管理系統提供了資料導出功能,是以很友善拿到想要的資料。登入後進入“項目>任務”,選取所有任務,點選“導出”,選擇需要的字段并另存為CSV檔案。

ELK學習實踐(六)--導入CSV檔案并建立可視化圖表1.導出源資料2.通過Logstash将資料導入Elasticsearch3.使用Kibana建立可視化圖表

2.通過Logstash将資料導入Elasticsearch

啟動Elasticsearch,位址為http://****:9200。

啟動Kibana,位址為http://****:5601。

建立配置檔案task.conf

# 輸入
 input {
 stdin { }
 file{
		path => "D:/CSV檔案路徑/task.csv"
		start_position  => "beginning"
		sincedb_path => "D:/記錄資料/History"
	 }

 }
 # 過濾器
 filter {
	csv {
		separator => ","
		columns => ["編号","任務名稱","任務類型","優先級","預計開始","實際開始","截止日期","任務狀态","最初預計","總計消耗","預計剩餘","進度","由誰建立","建立日期","指派給","指派日期","由誰完成","實際完成","由誰取消","取消時間","由誰關閉","關閉時間","關閉原因"]
	}
	mutate {
		convert => {"最初預計" => "float"}		
		convert => {"總計消耗" => "float"}	
		convert => {"預計剩餘" => "float"}	
		remove_field => ["message"]
	}
 }
# 輸出
 output {
     stdout {
        codec => json_lines
    }
	elasticsearch {
		hosts => "localhost:9200"
		index => "task"
		document_type => "_doc"
	}
}
           

定義輸入input、過濾器filter和輸出output。在input中定義需要導入的CSV檔案路徑,在filter中定義需要導入的列和需要轉換格式的字段,在output中定義Elasticsearch服務的位址和索引名稱(定義索引為task)。

使用指令行啟動logstash

.\logstash.bat -f ..\config\task.conf
           

啟動後可以看到飛速滾動的輸出日志,說明資料在導入了。

使用浏覽器通路Kibana(http://****:5601),打開“Management>開發工具”,檢視已導入的資料。

ELK學習實踐(六)--導入CSV檔案并建立可視化圖表1.導出源資料2.通過Logstash将資料導入Elasticsearch3.使用Kibana建立可視化圖表

可以看到已導入資料4773條,同時也可以使用DSL語言進行搜尋查詢。

3.使用Kibana建立可視化圖表

3.1建立索引模式

在Kibana中打開“StackManagement>Kibana>索引模式”,點選“建立索引模式”開始建立。

ELK學習實踐(六)--導入CSV檔案并建立可視化圖表1.導出源資料2.通過Logstash将資料導入Elasticsearch3.使用Kibana建立可視化圖表

從現有索引中選擇,點選“下一步”繼續。

ELK學習實踐(六)--導入CSV檔案并建立可視化圖表1.導出源資料2.通過Logstash将資料導入Elasticsearch3.使用Kibana建立可視化圖表

3.2 建立可視化圖表

在Kibana中選擇“Dashboard儀表闆”,建立儀表闆并建立可視化。

ELK學習實踐(六)--導入CSV檔案并建立可視化圖表1.導出源資料2.通過Logstash将資料導入Elasticsearch3.使用Kibana建立可視化圖表

在可視化編輯面闆左側工具欄選擇索引模式為task。

ELK學習實踐(六)--導入CSV檔案并建立可視化圖表1.導出源資料2.通過Logstash将資料導入Elasticsearch3.使用Kibana建立可視化圖表

在中間闆塊選擇圖表類型為柱狀圖。

在右側面闆中分别定義X軸和Y軸,在這個圖表裡計劃使用開發人員姓名作為Y軸,累計工時作為X軸。是以Y軸的的設定為資料來源是“由誰完成.keyword”,顯示名稱為“完成人”。

ELK學習實踐(六)--導入CSV檔案并建立可視化圖表1.導出源資料2.通過Logstash将資料導入Elasticsearch3.使用Kibana建立可視化圖表

X軸的設定為資料源為“總計消耗”的求和,顯示名稱為“工時消耗合計”。

ELK學習實踐(六)--導入CSV檔案并建立可視化圖表1.導出源資料2.通過Logstash将資料導入Elasticsearch3.使用Kibana建立可視化圖表

點選儲存即可作為可視化圖表在儀表盤中使用和檢視。最終效果如下。

ELK學習實踐(六)--導入CSV檔案并建立可視化圖表1.導出源資料2.通過Logstash将資料導入Elasticsearch3.使用Kibana建立可視化圖表

儀表盤可作為獨立連結釋出或者嵌入至iframe中。如果覺得Kibana的圖表不好看,可以将Kibana查詢資料的接口提供給echarts等圖表控件,同樣能有很好的效果。

繼續閱讀