繁体   English   中英

如何让php api以二进制格式登录kafka

[英]How to get php api logs into kafka in binary format

假设我们有一个在 apache 网络服务器下运行的 PHP api。 我想问一下如何以结构化格式将日志从 PHP 放入 kafka(假设是 avro 或 protobuf,因为它会传输特定的业务合同,而不仅仅是纯 apache 日志)。 Php 不属于我的领域或专业知识,所以它可能很愚蠢,但解决方案可能只是从 php 本身向 kafka 发送消息。 但是考虑到它在网络服务器下运行,它很可能必须为每次调用都创建与 kafka 的连接。 另一种可能的解决方案是登录到文件,然后使用类似 filebeat 的东西将日志放入 kafka。 但我不确定如果我们使用(正如我已经提到的)结构化格式,它会如何工作。 我怀疑 filebeat 是否能够读取该二进制日志文件。 请让我知道是否可以。 所以我的问题是 - 以严格和可扩展的方式将特定于 php 的日志输入 kafka 的最佳方法是什么? 提前致谢。

Filebeat 不会读取二进制日志。 它将用于在发送到 Kafka 之前将您的纯文本消息解析为某种更结构化/二进制格式(不过,我不确定 Filebeat 的 Kafka 序列化是否可插入)

另一方面,是的,您可以尝试一个 php-librdkafka 库,但正如您所说 - 它需要与 Kafka 的一些持久连接,与具有“两次提交”类型的系统相比,每个文件中都有文件文件的行跟踪进度并且可以承受由于 Kafka 连接错误导致的进程重新启动,例如

Fluentbit 或 rsyslog 或(理想情况下,如果您是真正的日志处理)Splunk 转发器也可以工作...

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM