logstash入门1

2020-04-09  本文已影响0人  安全的小飞飞

1、安装

这里是logstash7.3.1版本的。官方文档:https://www.elastic.co/guide/en/logstash/7.6/introduction.html
下载ZIP连接:https://artifacts.elastic.co/downloads/logstash/logstash-7.3.1.zip
需要Java环境,下载后解压。

2、初步学习

解压后目录。
image.png

config是放置配置文件。
bin是二进制脚本,包括用来启动Logstash的logstash和用来安装插件的logstash-plugin。

3、demo:

初步了解后,这儿先测试下从文件读取后输出到控制台。打开config文件夹,复制logstash-sample.conf 一份重命名为logstash.conf。打开logstash.conf。写入配置:


image.png

文件路径为绝对路径。

4、修改完后可以测试下配置文件:

打开命令行,跳到bin目录下运行 ./logstash -f ../config/logstash.conf -t。

image.png
5、启动: ./logstash -f ../config/logstash.conf

成功输出:

image.png
输出后结束进程就行。本来想着多试几次,但是第二次运行,半天也没有输出,还以为是出问题了。找到一篇文章知道了原因:https://blog.51cto.com/zhangtaoze/1917274。看来测试的时候,文件内容必须改变下,不然一时半会也输不出来。

Logstash在输出内容中会给事件添加一些额外信息。比如@version、host、@timestamp都是新增的字段,而最重要的是@timestamp,用来标记事件的发生时间。由于这个字段涉及到Logstash内部流转,如果给一个字符串字段重命名为@timestamp的话,Logstash就会直接报错。另外,也不能删除这个字段。还有一个字段type,表示事件的唯一类型。tags,表示事件的某方面属性。

6、过滤掉输出的多余字段:

修改配置文件 如下:

input {
  file {
    path => ["/xxx/1.txt"]
    type => "system"
    start_position => "beginning"
  }
}

filter {
    mutate {
     remove_field => ["@version","path","host","type","@timestamp"]
    }
}
output {
 stdout {}
}

结果:


image.png
上一篇 下一篇

猜你喜欢

热点阅读