你會將 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 分享