概述
Logstash是一个开源数据收集引擎,具有实时管道功能。Logstash可以动态地将来自不同数据源的数据统一起来,并将数据标准化到你所选择的目的地
输入
输入:采集各种样式、大小和来源的数据
过滤器
过滤器:实时解析和转换数据
Logstash 能够动态地转换和解析数据,不受格式或复杂度的影响:
1)利用 Grok 从非结构化数据中派生出结构
2)从 IP 地址破译出地理坐标
3)将 PII 数据匿名化,完全排除敏感字段
4)整体处理不受数据源、格式或架构的影响
输出
管道事件
启动命令
两种启动方式
-
#>/logstash -e ‘input { stdin {} } output { stdout {codec=>rubydebug} }’
-
logstash -f 文件(将以上’'放置于文件中)
非root用户启动,并且logstash目录需要授权,否则报错,日志路径打不开等
hello world{
“message” => “hello world”,
“@version” => “1”,
“@timestamp” => 2019-04-25T12:12:50.581Z,
“host” => “Master”
}
命令解释
input {stdin 标准输入 FILE:文件 ES:elasticsearch}
output { FILE:文件 es:elasticsearch kafka等}
获取文件中信息
配置文件intput_file.conf
input {
file{
path =>["/home/hadoop/logstash/message.log"]
start_position => “beginning”
type =>“system”
}
}
output{stdout{}}
启动命令
logstash -f intput_file.conf
input{
file{
path=>""//home/hadoop/logstash/message.log"
start_position => “beginning”
type =>“system”
}
}
output{
elasticsearch{
hosts=>“192.168.8.xxx:9200”
index => “logstash-%{type}-%{+YYYY.MM.dd}”
document_type => “%{type}”
sniffing =>true
template_overwrite=>true
}
}
结果显示: