从php存储Logstash日志最简单的方法是什么


Whats the easyiest way to store Logstash logs from php

我开始使用logstash进行日志记录,因为它与弹性搜索配合得很好。

但我找不到在php中轻松存储日志的方法。

从php存储日志的最快方法是什么?

文件,tcp,udp其他?

因此,我只需在应用程序中添加一个类,然后运行一行代码,例如

$logclass->log('my_event', 'mymessage');

您可以通过两种方式从Php卷曲到弹性搜索:

  • 有了Php旋度扩展,这将是同步的
  • 使用shell_exec("curl……&"),这将是异步的,但可能会创建僵尸

如果你真的有一些流量,你可以在中间添加logstash:

  • Php-->redis-->logstash-->弹性搜索
  • Php-->UDP-->logstash-->弹性搜索

Phperror_log也是一个很好的方法,非常容易使用。

在这种情况下,单词"easy"取决于很多因素。

  • 日志是如何存储的
  • 您的日志是否已通过网络传输
  • 您的日志是否合并为一个文件
  • 您对rsyslog或其他系统日志系统了解多少

如果你只是尝试了一些东西,然后带着一个更具体的问题回来,那将是最好的。每个选项都有优缺点。。。例如,UDP数据包是fire-and-forget,这意味着数据包可能会丢失。如果丢弃的TCP数据包太多,可能会阻塞您的网络。文件需要本地存储空间来存储文件,以便可以将文件读取到logstash中。

做一些研究并尝试一些东西,但我认为我不能仅仅根据你提供的信息给你一个正确的答案。

另外,$logclass->log('my_event', 'mymessage');与是否选择TCP、UDP文件无关。