ELK 之 Logstash 的安装与导入数据

关注我,学习弯道超车技术


前文回顾:

上一节主要介绍了数据可视化工具 Kibana 工具的使用,不过并没有过多的介绍怎么大量的导入数据。

这一节我们将实践将著名数据集导入 Elasticsearch,前提条件是 ES 已经安装好了,可以参考《Elastic Stack 之 Kibana UI界面使用》 将 ES 和 Kibana 安装好。

数据集下载

下载地址:https://grouplens.org/datasets/movielens/

我们选择最小数据集即可

Logstash 下载与安装

首先去官网下载 Logstash 安装包:https://www.elastic.co/downloads/logstash

logstash download

如果下载速度太慢可以选用这个代理地址下载:http://mirror.azk8s.cn/elastic/logstash/

azk8s

下载完安装包并解压进入 config 目录:

logstash-config

同时配置如下内容,你只需要按照你的数据集的路径改一下配置文件中最开始的path即可:

  • logstash.conf

    input { file { path => "/Users/tanjian/Desktop/logstash-7.6.1/movielens/ml-latest-small/movies.csv" # 这里指定数据集路径 start_position => "beginning" sincedb_path => "/dev/null" }}filter { csv { separator => "," columns => ["id","content","genre"] } mutate { split => { "genre" => "|" } remove_field => ["path", "host","@timestamp","message"] } mutate { split => ["content", "("] add_field => { "title" => "%{[content][0]}"} add_field => { "year" => "%{[content][1]}"} } mutate { convert => { "year" => "integer" } strip => ["title"] remove_field => ["path", "host","@timestamp","message","content"] }}output { elasticsearch { hosts => "http://localhost:9200" index => "movies" document_id => "%{id}" } stdout {}}

Logstash 运行

配置好上面的 logstash.conf 文件后,我们就可以启动 Logstash 并开始导入数据了:

sudo ./bin/logstash -f config/logstash.conf

如下图 Logstash 日志所示,正在导入数据集:

logstash log

打开 Kibana 查看数据

在查看数据之前,我们需要打开 http://localhost:5601 通过 Kibana 创建一个 Index Pattern:

Index Pattern

之后,我们就可以通过 Discover 去查看我们的数据了:

Discover

剩下的就交给你自己折腾吧,你可以去 Dev Tools 通过 QSL 语法搜索数据熟悉一下语法。

总结

本文通过安装 Logstash 与导入数据集学会了 Logstash 基本使用。


最后,分享一些比较系统的学习资料,更多资料持续更新中···:

获取方式:点击右下角 “在看” 后台回复关键词:【kubernetes】、【人工智能】、【java】、【java毕设】、【Elasticsearch】或者 【打包】一键带走领取网盘链接。

你点的每个赞,我都认真当成了喜欢

本文分享自微信公众号 - 一万小时极客(coding-Hub)。
如有侵权,请联系 support@oschina.cn 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。

点赞
收藏

评论区

加载中...

相关推荐

MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1

文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s

Oracle 分组与拼接字符串同时使用

SELECTT.,ROWNUMIDFROM(SELECTT.EMPLID,T.NAME,T.BU,T.REALDEPART,T.FORMATDATE,SUM(T.S0)S0,MAX(UPDATETIME)CREATETIME,LISTAGG(TOCHAR(

MySQL部分从库上面因为大量的临时表tmp_table造成慢查询

背景描述Time:20190124T00:08:14.70572408:00User@Host:@Id:Schema:sentrymetaLast_errno:0Killed:0Query_time:0.315758Lock_

皕杰报表之UUID

​在我们用皕杰报表工具设计填报报表时,如何在新增行里自动增加id呢?能新增整数排序id吗?目前可以在新增行里自动增加id,但只能用uuid函数增加UUID编码,不能新增整数排序id。uuid函数说明:获取一个UUID,可以在填报表中用来创建数据ID语法:uuid()或uuid(sep)参数说明:sep布尔值,生成的uuid中是否包含分隔符'',缺省为

手写Java HashMap源码

HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程22

java将前端的json数组字符串转换为列表

记录下在前端通过ajax提交了一个json数组的字符串,在后端如何转换为列表。前端数据转化与请求varcontracts{id:'1',name:'yanggb合同1'},{id:'2',name:'yanggb合同2'},{id:'3',name:'yang