你会将 Laravel 的日志推到 Kafka吗

                                                       

下面由laravel教程栏目给大家介绍将 Laravel 的日志推到 kafka的方法,希望对需要的朋友有所帮助!

你会将 Laravel 的日志推到 Kafka吗

Laravel Kafka Logger

使用扩展包 Laravellaravel 的日志推到 kafka,然后由 elk 消费、存储、呈现。

要求

依赖 要求
php-rdkafka >=4.0.0

依赖安装

1.安装 rdkafka

git clone --depth 1 https://github.com/edenhill/librdkafka.git /tmp/librdkafka && cd /tmp/librdkafka && ./configure && make -j$(nproc) && make install && rm -rf /tmp/librdkafka pecl install rdkafka

2.安装 laravel-kafka-logger

# Laravel 5.x composer require "hhxsv5/laravel-kafka-logger:~1.0.0" # Laravel 6.x & 7.x composer require "hhxsv5/laravel-kafka-logger:~2.0.0"

开始使用

1.修改配置文件 config/Logging.php

return [     'channels' => [         // ...         'kafka' => Hhxsv5LKLKafkaLogger::getDefinition(['topic' => env('LOG_KAFKA_TOPIC', 'laravel-logs')]),     ], ];

2.修改 .env

LOG_CHANNEL=kafka LOG_KAFKA_BROKER_LIST=kafka:9092 LOG_KAFKA_TOPIC=laravel-logs

3.好了,开始记日志

Log::info('用户登录', ['uid-hhxsv5']);

注:在什么情况下才需要使用到 kafka 来做日志存储?一是便于集中收集日志,不必每台机器装个客户端收集日志;二是 Kafka 是异步写入,性能更高。

© 版权声明
THE END
喜欢就支持一下吧
点赞10 分享