Logstash input输入 http插件

Posted 周天祥

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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、请求方式实例

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

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

https://www.cbedai.net/u014646662

以上是关于Logstash input输入 http插件的主要内容,如果未能解决你的问题,请参考以下文章

Logstash input输入 jdbc插件

ElasticSearch数据库同步插件logstash

Logstash配置语法

如何使用Logstash

logstash-2-插件配置

elk之logstash学习