环境准备

  1. Elasticsearch和Logstash版本:5.6.9
  2. Elasticsearch单机或集群,参考《Elasticsearch5.6.9-elasticsearch集群安装为windows服务》
  3. Logstash客户端,参考《Elasticsearch5.6.9-windows下安装logstash》
  4. json格式的数据,去json数据生成网站生成的json格式的数据。生成的数据不能直接使用,需要手动加工一下,我已经加工好了,可以点击下载数据

    补充:第4点有个坑,json格式的数据末尾需要有回车换行符,否则只能读一条数据。
    

导入数据

  1. json.conf配置文件
#读取json文件
input{
    file{
        #设置json文件路径
        #指定单一文件,填写绝对路径
        path => "D:\downloadsoftware\elasticsearch\jsonData\generated.json"
        #指定数组文件,填写绝对路径
        #path => ["D:\downloadsoftware\elasticsearch\jsonData\generated1.json","D:\downloadsoftware\elasticsearch\jsonData\generated2.json","D:\downloadsoftware\elasticsearch\jsonData\generated3.json"]
        start_position=>"beginning"

        sincedb_path=>"/dev/null"

        #设置编码
        codec=>json{
            charset=>"UTF-8"
        }
    }
}

#过滤格式化数据阶段
filter {
    mutate {
        #删除无效的字段
        remove_field=>["@version","@timestamp","host","path","message"]
    }
}

#数据输出到ES阶段
output{
    #日志输出格式,json_lines;rubydebug等
    stdout{
    codec => rubydebug
    }

    elasticsearch {
    #es地址ip端口
    hosts => "127.0.0.1:9200"
    #索引
    index => "logstashjsontest"
    #类型
    document_type => "doc"
    }
}
  1. 脚本文件importGenerated.bat
    下面统一填写绝对路径

    D:\downloadsoftware\elasticsearch\logstash-5.6.9\bin\logstash.bat -f D:\downloadsoftware\elasticsearch\jsonData\json.conf
    
  2. json格式的文件generated.json放在json.conf配置文件指定的path目录

运行脚本importGenerated.bat,即可导入数据