你會將 Laravel 的日誌推到 Kafka嗎

2020-08-10 18:02:11

下面 下麪由教學欄目給大家介紹將 Laravel 的日誌推到 Kafka的方法,希望對需要的朋友有所幫助!

Laravel Kafka Logger

使用擴充套件包 laravel-kafka-logger 將 Laravel 的日誌推到 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' => 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 是非同步寫入,效能更高。

以上就是你會將 Laravel 的日誌推到 Kafka嗎的詳細內容,更多請關注php中文網其它相關文章!