下面由Laravel教程欄目給大家介紹將 Laravel 的日志推到 Kafka的方法,希望對需要的朋友有所幫助!
使用擴展包 laravel-kafka-logger 將 Laravel 的日志推到 Kafka,然后由 ELK 消費、存儲、呈現(xiàn)。
要求>=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' => Hhxsv5\\LKL\\KafkaLogger::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 是異步寫入,性能更高。