input {
    stdin{
    }
    elasticsearch {
	    type => "type类型和output的type类型保持一致"
        hosts => ["http://es输入数据ip:es输入数据端口"]
        user => "用户名"
        index => "es上的索引"
        password => "密码"       
		#设置为true,将会提取ES文档的元数据信息,例如index、type和id。
        docinfo => true
    }

}

output {
	
	if [type]=="索引名" {
		elasticsearch {
			hosts => ["http://es目标数据ip:es目标数据端口"]
			user => 用户名
			password => 密码        
			#指定同步索引名。input中设置为*,表示同步全部索引;
			#output中设置为%{[@metadata][_index]},表示匹配元数据中的index,即迁移前后两台服务器ES的索引相同。
			index => "%{[@metadata][_index]}"       
			
			#设置为%{[@metadata][_type]},
			#表示匹配元数据中索引的type,即迁移前后ES服务器的索引类型相同。
			document_type => "%{[@metadata][_type]}"      
			#设置为%{[@metadata][_id]},
			#表示匹配元数据中文档的id,即迁移前后ES服务器的文档id相同。
			document_id => "%{[@metadata][_id]}"
		}
	}

    stdout {
        codec => json_lines
    }
    
}

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐