將 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']);
本作品採用《CC 協議》,轉載必須註明作者和本文連結