一、logstash简介
-
集中、转换和存储数据
Logstash 是免费且开放的服务器端数据处理管道,能够从多个来源采集数据,转换数据,然后将数据发送到您最喜欢的“存储库”中。
Logstash 能够动态地采集、转换和传输数据,不受格式或复杂度的影响。利用 Grok 从非结构化数据中派生出结构,从 IP 地址解码出地理坐标,匿名化或排除敏感字段,并简化整体处理过程。
数据从源传输到存储库的过程中,Logstash 过滤器能够解析各个事件,识别已命名的字段以构建结构,并将它们转换成通用格式,以便进行更强大的分析和实现商业价值。 -
Logstash 能够动态地转换和解析数据,不受格式或复杂度的影响:
利用 Grok 从非结构化数据中派生出结构
从 IP 地址破译出地理坐标
将 PII 数据匿名化,完全排除敏感字段
简化整体处理,不受数据源、格式或架构的影响. -
选择您的存储库,导出您的数据
尽管 Elasticsearch 是我们的首选输出方向,能够为我们的搜索和分析带来无限可能,但它并非唯一选择。
Logstash 提供众多输出选择,您可以将数据发送到您要指定的地方,并且能够灵活地解锁众多下游用例。 -
Logstash 采用可插拔框架,拥有 200 多个插件。您可以将不同的输入选择、过滤器和输出选择混合搭配、精心安排,让它们在管道中和谐地运行。
二、下载安装Logstash
下载地址:https://www.elastic.co/cn/downloads/past-releases/logstash-7-17-4
解压
tar -zxvf logstash-7.17.4-linux-x86_64.tar.gz# 解压后:
[root@nb002 logstash-7.17.4]# ll
总用量 476
drwxr-xr-x 2 root root 4096 6月 26 07:37 bin
drwxr-xr-x 2 root root 142 6月 26 07:37 config
-rw-r--r-- 1 root wheel 2276 5月 18 23:31 CONTRIBUTORS
drwxr-xr-x 2 root wheel 6 5月 18 23:31 data
-rw-r--r-- 1 root wheel 4050 5月 18 23:31 Gemfile
-rw-r--r-- 1 root wheel 28942 5月 18 23:31 Gemfile.lock
drwxr-xr-x 9 root root 121 6月 26 07:37 jdk
drwxr-xr-x 6 root root 84 6月 26 07:37 lib
-rw-r--r-- 1 root wheel 13675 5月 18 23:31 LICENSE.txt
drwxr-xr-x 4 root root 90 6月 26 07:37 logstash-core
drwxr-xr-x 3 root root 86 6月 26 07:37 logstash-core-plugin-api
drwxr-xr-x 4 root root 55 6月 26 07:37 modules
-rw-r--r-- 1 root wheel 424030 5月 18 23:31 NOTICE.TXT
drwxr-xr-x 3 root root 30 6月 26 07:37 tools
drwxr-xr-x 4 root root 33 6月 26 07:37 vendor
drwxr-xr-x 9 root root 193 6月 26 07:37 x-pack
启动,接收控制台的输入,并输出到控制台
./logstash -e 'input{stdin{type => stdin}} output{stdout{codec => rubydebug}}'
完整启动日志如下,Successfully started Logstash API endpoint {:port=>9600, :ssl_enabled=>false}
然后,我们在控制台输入,也会有响应的输出打印到控制台,如下:
host:主机名称
@timestamp:处理消息的时间
message:消息本身,接收输入的内容
type:输入类型
三、以配置文件方式启动Logstash
3.1 在config目录下新建first-pipeline.conf文件, 内容如下:
input{stdin{type => stdin}
}output{stdout{codec => rubydebug}
}
3.2 然后以配置文件启动:
./logstash -f ../config/first-pipeline.conf
然后我们在控制台中输入一条日志消息:发现OK