Getting Started with Logstach 2
Parsing Logs with Logstash 之前,我们已经通过一个最基础的Logstash pipeline,验证了我们的Logstash环境已经准备就绪。在现实世界里,那样基础的pipeline没有什么存在的价值,我们需要更加复杂的pipeline:一般都会包含多个input、filter以及output插件。 在这个章节,我们会创建一个Logstash pipeline,使用Filebeat读取Apache的日志作为输入,并对日志进行解析、创建指定的命名字段信息,再将解析过的数据写入到Elasticsearch。这次不在命令行中配置pipeline,咱使用配置文件。 开始之前,下载sample数据,在接下来会用。 配置Filebeat,将日志信息发送给Logstash 开始创建Logstash pipeline前,得先配置Filebeat,负责将日志中的文本行发送给Logstash。Filebeat用来搜集服务器上的文件,并转发给Logstash示例进行处理。Filebeat具备可靠、低延迟的设计特性 默认的Logstash安装会包含Beats input插件。这个插件让Logstash具备接收Elastic Beats框架发来的 事件 ,诸如PacketBeat、MetricBeat都可以向Logstash发送 事件 本文略过Filebeat的安装过程。 安装好Filebeat后,需要为Filebeat提供配置文件。Filebeat配置文件使用YAML格式。创建filebeat.yml文件,内容如下: filebeat.prospectors: \- type: log paths: \- /path/to/file/logstash-tutorial.log output.logstash: hosts: \[“localhost:5043\] 为了简化配置,这里没有使用TLS/SSL设置——真实世界里,我们需要安全设置。 启动Filebeat: sudo ./filebeat -e -c filebeat.yml -d “publish” Filebeat会尝试连接5043端口,因为目前为止,Logstash以及Beats plugin还没有启动,所以不会从这个端口得到应答。 配置Logstash来接受Filebeat输入 下面是Logstash pipeline的配置文件主干: ``` The # character at the beginning of a line indicates a comment. Use