ELK学习实践(六)--导入CSV文件并创建可视化图表

近期在整理项目总结材料,顺便利用学到的ELK知识对项目管理过程数据进行抽取、导入和分析。

手上的数据来源有禅道管理系统、会议纪要和问题跟踪记录,禅道管理系统用于日常任务分配和工时记录,具有较高的参考价值,首先就以禅道管理系统中的数据为例进行工时统计。

1.导出源数据

禅道管理系统提供了数据导出功能,所以很方便拿到想要的数据。登录后进入“项目>任务”,选取所有任务,点击“导出”,选择需要的字段并另存为CSV文件。
在这里插入图片描述

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>开发工具”,查看已导入的数据。

在这里插入图片描述
可以看到已导入数据4773条,同时也可以使用DSL语言进行搜索查询。

3.使用Kibana创建可视化图表

3.1创建索引模式

在Kibana中打开“StackManagement>Kibana>索引模式”,点击“创建索引模式”开始创建。

在这里插入图片描述

从现有索引中选择,点击“下一步”继续。
在这里插入图片描述

3.2 创建可视化图表

在Kibana中选择“Dashboard仪表板”,创建仪表板并创建可视化。
在这里插入图片描述

在可视化编辑面板左侧工具栏选择索引模式为task。

在这里插入图片描述

在中间板块选择图表类型为柱状图。

在右侧面板中分别定义X轴和Y轴,在这个图表里计划使用开发人员姓名作为Y轴,累计工时作为X轴。因此Y轴的的设定为数据来源是“由谁完成.keyword”,显示名称为“完成人”。
在这里插入图片描述

X轴的设置为数据源为“总计消耗”的求和,显示名称为“工时消耗合计”。
在这里插入图片描述

点击保存即可作为可视化图表在仪表盘中使用和查看。最终效果如下。

在这里插入图片描述

仪表盘可作为独立链接发布或者嵌入至iframe中。如果觉得Kibana的图表不好看,可以将Kibana查询数据的接口提供给echarts等图表控件,同样能有很好的效果。


  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值