下面由laravel教程欄目給大家介紹將 laravel 的日志推到 kafka的方法,希望對需要的朋友有所幫助!
laravel kafka logger
使用擴(kuò)展包 laravel-kafka-logger 將 laravel 的日志推到 kafka,然后由 elk 消費(fèi)、存儲(chǔ)、呈現(xiàn)。
要求
依賴要求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/librdkafkapecl install rdkafka2.安裝 laravel-kafka-logger
# laravel 5.xcomposer require "hhxsv5/laravel-kafka-logger:~1.0.0"# laravel 6.x & 7.xcomposer 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=kafkalog_kafka_broker_list=kafka:9092log_kafka_topic=laravel-logs3.好了,開始記日志
log::info('用戶登錄', ['uid-hhxsv5']);注:
在什么情況下才需要使用到 kafka 來做日志存儲(chǔ)?
一是便于集中收集日志,不必每臺(tái)機(jī)器裝個(gè)客戶端收集日志;
二是 kafka 是異步寫入,性能更高。