Logstash - 收集日志
-
简述
使用托运人收集来自不同服务器或数据源的日志。托运人是安装在服务器中的 Logstash 实例,它访问服务器日志并发送到特定的输出位置。它主要将输出发送到 Elasticsearch 进行存储。Logstash 从以下来源获取输入 -- STDIN
- Syslog
- Files
- TCP/UDP
- Microsoft windows Eventlogs
- Websocket
- Zeromq
- Customized extensions
-
使用 Apache Tomcat 7 服务器收集日志
在此示例中,我们使用文件输入插件收集安装在 windows 中的 Apache Tomcat 7 服务器的日志并将它们发送到另一个日志。logstash.conf
这里,Logstash被配置为访问本地安装的Apache Tomcat 7的访问日志。正则表达式模式用于文件插件的路径设置以从日志文件中获取数据。这在其名称中包含“访问”,并添加了 apache 类型,这有助于将 apache 事件与集中目标源中的其他事件区分开来。最后,输出事件将显示在 output.log 中。运行 Logstash
我们可以使用以下命令运行 Logstash。Apache Tomcat 日志
访问 Apache Tomcat 服务器及其 Web 应用程序 (http://localhost:8080) 生成日志。日志中更新的数据由 Logstash 实时读取,并按照配置文件中的指定存储在 output.log 中。Apache Tomcat 根据日期生成一个新的访问日志文件,并在那里记录访问事件。在我们的例子中,它是 localhost_access_log.2016-12-24.txt 在logsApache Tomcat 目录。输出日志
您可以在输出事件中看到,添加了一个类型字段,并且该事件出现在消息字段中。 -
使用 STDIN 插件收集日志
在本节中,我们将讨论另一个使用STDIN Plugin.logstash.conf
这是一个非常简单的示例,其中 Logstash 正在读取用户在标准输入中输入的事件。在我们的例子中,它是命令提示符,它将事件存储在 output.log 文件中。运行 Logstash
我们可以使用以下命令运行 Logstash。在命令提示符中写入以下文本 -用户输入以下两行。Logstash 通过分隔符设置分隔事件,默认值为 '\n'。用户可以通过更改文件插件中分隔符的值来进行更改。输出日志
以下代码块显示了输出日志数据。