logstash的安装与配置(一)——Mac版

1. 官网下载logstash

https://www.elastic.co/cn/downloads/logstash
注意:elasticseash+kibana+logstash版本要保持一致!!!
logstash的安装与配置(一)——Mac版_第1张图片

2. movieslens官网下载数据集

https://grouplens.org/datasets/movielens/20m/
logstash的安装与配置(一)——Mac版_第2张图片

2.1 moveilens的目录结构

logstash的安装与配置(一)——Mac版_第3张图片

  • ratings.csv
    文件里面的内容包含了每一个用户对于每一部电影的评分。数据格式如下:
    userId, movieId, rating, timestamp
    userId: 每个用户的id
    movieId: 每部电影的id
    rating: 用户评分,是5星制,按半颗星的规模递增(0.5 stars - 5 stars)
    timestamp: 自1970年1月1日零点后到用户提交评价的时间的秒数
    数据排序的顺序按照userId,movieId排列的。
  • movies.csv
    文件里包含了一部电影的id和标题,以及该电影的类别。数据格式如下:
    movieId, title, genres
    movieId:每部电影的id
    title:电影的标题
    genres:电影的类别
  • links.csv
    文件里包含了一些链接到电影来源的连接,数据格式如下:
    movieId,imdbId,tmdbId

3. 配置logstash.conf文件

注意:将该文件放置在bin目录下,否则出现" Permission denied "文件无法读取的问题(个人出现过)

  • 修改 path 为你数据集的位置
  • hosts 为你es的机器端口
  • index 为索引名称
input {
  file {
    # path 为数据集的位置,需要你根据自己的位置去配置
    path => "/Users/zhouxiaobing/Documents/Application/logstash-7.8.1/movieslens/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 {}
}

4. 进入logstash的bin目录

命令:sudo ./logstash -f Logstash.conf
logstash的安装与配置(一)——Mac版_第4张图片
控制台出现如上图字样,则写入成功

你可能感兴趣的:(logstash,elasticsearch)