Logstash安装使用

Logstash简介

主要是用来日志的搜集、分析、过滤日志的工具。用于管理日志和事件的工具,你可以用它去收集日志、"转换日志、解析日志并将他们作为数据提供给其它模块调用,例如搜索、存储等。基于java语言开发
安装Logstash也是为了搭建ELK,而且Logstash也被ElasticSeatch整合到一起了,所以下载的话也是在ElasticSearch官网下载
ES官网下载Logstash,网络慢的情况耐心等待,直到ES官网脚本,界面完全渲染完成
在这里插入图片描述
这里版本如果是要搭建ELK的话要和ElasticSearch、Kibana的版本保持一致

Logstash安装

1.上传并解压
在这里插入图片描述

unzip -n logstash-6.5.4.zip /data/elk/

2.编写读写配置

1.读命令行输出并打印

vi test.conf

input{
  stdin{}
}
output{
  stdout{codec=>"rubydebug"}
}
cd logstash-6.5.4
./bin/logstash -f config/test.conf

后台启动

nohup bin/logstash -f config/test.conf &

在这里插入图片描述

2.读文件输出

input{
 file{
  path => ["path"]
  start_position => "beginning"
  type => "web"
 }
}

output{
 stdout{
  codec => "rubydebug"
 }
}

在这里插入图片描述
3.读取ES数据

input{
 elasticsearch{
  hosts => "120.27.16.240"
  index => "test"
  query => '{"query": { "match_all":{} }}'
 }
}

output{
 stdout{
  codec => "rubydebug"
 }
}

在这里插入图片描述
在这里插入图片描述
4.读取命令行并输入到ES

input{
  stdin{}
}
output{
  stdout{
   codec=>"rubydebug"
  }
  elasticsearch{
   hosts => ["http://xxx.xxx.x.xxx:9200"]
   index => "logstash"
  }
}

host: 是一个数组类型的值,后面跟的值是elasticsearch节点的地址与端口,默认端口是9200。可添加多个地址。
index: 写入elasticsearch的索引的名称,这里可以使用变量。Logstash提供了%(+YYYY.MM.dd}这种写法。在语法解析的时候,看到以+号开头的,就会自动认为后面是时间格式,尝试用时间格式来解析后续字符串。这种以天为单位分割的写法,可以很容易的删除老的数据或者搜索指定时间范围内的数据。此外,注意索引名中不能直大写字母。
manage-template: 用来设置是否开启logstash自动管理模板功能,如果设置为false将关闭自动管理模板功能。如果我们自定义了模板,那么应该设置为false
template_name: 这个配置项用来设置在Elasticsearch中模板的名称。
在这里插入图片描述
在这里插入图片描述

5.读取kafka写入ES
这里需要确认kafka中的topics 是否存在

input{
  kafka{
	type => "kafka"
	codec =>"json"#指定json中的编码格式json{charset => "UTF-8"}
	topics => "testtopic"
	bootstrap_servers => "xxx.xxx.x.xxx:9092"
	#add_field => {"[@metadate][tagid]" =>"test_log"} 增加一个字段,用于标识和判断,在output输出中会用到。
  }
}
output{
  stdout{
   codec=>"rubydebug"
  }
  elasticsearch{
   hosts => ["http://xxx.xxx.x.xxx:9200"]
   index => "logstash"
  }
}

在这里插入图片描述
在这里插入图片描述
6.读取命令行输出指定目录文件

input{
  stdin{}
}
output{
  stdout{codec=>"rubydebug"}
  file{
	path => "/data/elk/logstash-6.5.4/config/log/%{+yyyy-MM-dd}/%{host}_%{+HH}.log"
  }
}

在这里插入图片描述
这里输出到文件中是这样显示的
在这里插入图片描述
设置一下编码即可让输出和输入的内容保持一致

input{
  stdin{}
}
output{
  stdout{codec=>"rubydebug"}
  file{
	path => "/data/elk/logstash-6.5.4/config/log/%{+yyyy-MM-dd}/%{host}_%{+HH}.log"
	codec => line {format => "%{message}"}
  }
}

在这里插入图片描述

以上选择任意一种配置作为启动配置即可根据自己的业务场景选择配置

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

程序员劝退师-TAO

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值