logstash可以直接从远程日志中读取吗?

时间:2014-07-21 09:25:35

标签: logstash

我是logstash的新手,几天后我正在阅读它。像大多数人一样,我正在尝试使用集中式日志系统并将数据存储在elasticsearch中,然后使用kibana来可视化数据。我的应用程序部署在许多服务器中,因此我需要从所有这些服务器获取日志。在所有这些机器中安装logstash转发器并配置它们似乎是一项非常繁琐的任务(如果这是唯一的方法,我会这样做)。是否有一种方法可以让logstash访问这些日志,方法是在conf文件中的某处提及日志的URL而不是logstash转发器将其转发到logstash?仅供参考,我的应用程序部署在tomcat上,日志可通过URL http://:8080 / application_name / error.log访问。

1 个答案:

答案 0 :(得分:4)

不是直接但有一些紧密的解决方法 - 想法是创建一个程序/脚本,使用curl(或它的等价物)来有效地执行" tail -f"远程日志文件以及输出到logstash的运行。

这是一个捣蛋的bash脚本:

  

<强> url-tail.sh

     

此bash脚本监视url的更改并将其尾部打印到   标准输出。它充当&#34; tail -f&#34; linux命令。它可能会有所帮助   用于跟踪http。

可访问的日志

https://github.com/maksim07/url-tail

另一个类似的是:

https://gist.github.com/habibutsu/5420781

还有其他人用PHP或java编写:Tail a text file on a web server via HTTP

一旦你运行了这个问题就是如何让它进入logstash - 你可以:

  1. 将其传输到stdin并使用stdin输入

  2. 将其附加到文件并使用文件输入

  3. 使用管道输入来运行命令本身并从中读取 命令的标准输出

  4. 魔鬼在细节思想中,尤其是使用logstash,因此您需要进行实验,但这种方法应该适合您。