logstash使用总结

logstash介绍

        Logstash是一个具有实时流水线功能的开源数据收集引擎。Logstash可以动态地统一来自不同来源的数据,并将规范化的数据到你选择的目的地。为各种高级下游分析和可视化用例清理和民主化所有数据。
        虽然Logstash最初推动了日志收集方面的创新,但它的功能远远超出了这个用例。任何类型的事件都可以通过大量的输入、过滤器和输出插件进行丰富和转换,许多本机编解码器进一步简化了摄取过程。

运行logstash

下载logstash二进制包

下载Logstash安装文件,可以选择 tar.gz,deb,zip,rpm包,安装logstash前需要先安装好java环境。根据不同的包选择不同的安装方式

[root@docker1 logstash]# ll
total 393040
-rw-r--r-- 1 root root 402472840 May  8 14:05 logstash-8.13.3-linux-x86_64.tar.gz
[root@docker1 logstash]# tar -xf logstash-8.13.3-linux-x86_64.tar.gz 
[root@docker1 logstash]# cd logstash-8.13.3/
[root@docker1 logstash-8.13.3]# ll
total 680
drwxr-xr-x 2 root root    4096 May 16 13:11 bin
drwxr-xr-x 2 root root     142 May 16 13:11 config
-rw-r--r-- 1 root wheel   2276 Apr 26 04:56 CONTRIBUTORS
drwxr-xr-x 2 root wheel      6 Apr 26 04:56 data
-rw-r--r-- 1 root root    1183 Mar 14 11:30 filebeat.conf    # logstash 的pipeline,需要手动编写,不是解压包自带,logstash启动的时候需要
-rw-r--r-- 1 root wheel   4445 Apr 26 04:56 Gemfile
-rw-r--r-- 1 root wheel  31968 Apr 26 04:56 Gemfile.lock
drwxr-xr-x 9 root root     121 May 16 13:15 jdk
-rw-r--r-- 1 root wheel     17 Apr 26 04:56 JDK_VERSION
drwxr-xr-x 6 root root      84 May 16 13:11 lib
-rw-r--r-- 1 root wheel  13675 Apr 26 04:56 LICENSE.txt
drwxr-xr-x 4 root root      90 May 16 13:11 logstash-core
drwxr-xr-x 3 root root      86 May 16 13:11 logstash-core-plugin-api
drwxr-xr-x 4 root root      55 May 16 13:11 modules
-rw-r--r-- 1 root wheel 620491 Apr 26 04:56 NOTICE.TXT
drwxr-xr-x 3 root root      30 May 16 13:11 tools
drwxr-xr-x 4 root root      33 May 16 13:13 vendor
drwxr-xr-x 9 root root     193 May 16 13:14 x-pack
[root@docker1 logstash-8.13.3]# ./bin/logstash -f filebeat.conf 

配置文件

        你可以通过插件串起来创建管道,用来传输数据,插件包括:输入、输出、过滤器、解码器。要构建logstash管道,需要创建一个配置文件来指定要使用的插件和每个插件的设置。

        一个非常基本的管道可能只包含一个输入和输出。大多数管道至少包含一个过滤器插件,并在时间满足特定条件时使用条件来处理事件。

# 此配置文件为filebeat输入,输出日志到syslog
[root@docker1 logstash-8.13.3]# cat filebeat.conf 
# Sample Logstash configuration for creating a simple
# Beats -> Logstash -> Elasticsearch pipeline.
# 输入插件
input {
  beats {
    port => 5044   #接收输入日志的端口
    type => "tomcatlog"
    ecs_compatibility => disabled
    enrich => none
    enable_metric => false
  }
}
# 过滤模块
filter {
  ruby {
    code => "event.set('@timestamp',LogStash::Timestamp.at(event.get('@timestamp').time.localtime + 8*60*60))" 
   } #调整日志输出时间,默认输出日志时间差8个小时
}
# 输出模块
output {
#  stdout {
#    codec => "rubydebug"
#    codec => line { format => "%{message}"}
#  } # 输出日志到标准输出,可以进行一些测试,验证logstash是否可以正常输出日志
  syslog {
    id => "Docker"
    port => "514"              #syslog监听端口
    protocol => "udp"          #syslog使用协议
    appname => ""              #默认是 "LOGSTASH",可以使用空不输出内容
    host => "192.168.15.169"   # syslog服务器地址
    sourcehost => ""           #默认是 "%{host}",可以使用空不输出内容
    msgid => ""                #默认是 "-",可以使用空不输出内容
    procid => ""               #默认是 "-",可以使用空不输出内容
    codec => line { format => "%{message}"}     #指定日志输出格式
  }
}
[root@docker1 logstash-8.13.3]# 
  • 10
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

韩华盛

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

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

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

打赏作者

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

抵扣说明:

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

余额充值