Logstash input输入 http插件

Logstash http作为输入,并输出到Elasticsearch

Logstash input输入 http插件

Logstash-7.2.0

本次以json数据为例

1、先看总体配置http.conf

input {
	http{
		host => "0.0.0.0"
		#http启动端口
		port => 8088
		#接受JSON数据
		additional_codecs => {"text/plain"=>"json"}
		codec => "plain"
		#线程数
		threads => 8
		#关闭ssl
		ssl => false
	}
}

#过滤
#filter {
#	mutate {
#根据需要是否需要headers字段,如果不需要,就删除这个字段  
#	  remove_field => "headers"
#	}
#
#	我想要的数据必须包含id,如果不包含,舍弃该数据
#	if ![id]{
#        drop { }
#    }
#	
#   我想要的数据中要有index_name,作为索引使用,如果没有,则舍弃数据
#	if ![index_name] {
#		drop { }
#	}
#}


output {

#输出到控制台
 stdout { 
    codec => json
   }
#输出到ES中  
  elasticsearch {
#填写ES集群
    hosts => ["http://node-01:9200","http://node-02:9200","http://node-03:9200"]
#ES如果有登陆验证,要配置用户名和密码
#	user => "admin"
#	password => "123456"
#索引名
    index => "test"
#传来的id作为es文档的_id
    document_id => "%{id}"
  }
}

执行:(在执行之前请删除所有中文注释)

bin/logstash -f config/http.conf

2、部分代码解析

2.1 logstash的conf配置整体结构

logstash的conf配置都是

input{ } 

filter{ }

output{}

这三块内容

input 是输入,可以从多个地方输入,不过要保证端口唯一,例如,filebeat、syslog、jdbc、http等,logstash提供输入方式比较丰富。

filter是过滤,筛选、分析都是在这里操作

output是输出,把收集的已处理好的数据转存起来,可以打印到控制台、存到es、数据库中等

Logstash 默认支持的输入和输出方式:https://blog.csdn.net/u014646662/article/details/104938156

2.2 logstash的 filter 

mutate :

mutate插件可以对事件中的数据进行修改,包括rename、update、replace、convert、split、gsub、uppercase、lowercase、strip、remove_field、join、merge等功能。

remove_field :就是删除一个字段

drop:

drop插件用于删除当前文档、日志

3 http的官方文档:

https://www.elastic.co/guide/en/logstash/current/plugins-inputs-http.html

4、请求方式实例

Logstash input输入 http插件_第1张图片

5 对人工智能感兴趣点下面链接

现在人工智能非常火爆,很多朋友都想学,但是一般的教程都是为博硕生准备的,太难看懂了。最近发现了一个非常适合小白入门的教程,不仅通俗易懂而且还很风趣幽默。所以忍不住分享一下给大家。点这里可以跳转到教程。

https://www.cbedai.net/u014646662

你可能感兴趣的:(Logstash)