多服务器分布式架构下 Laravel 的日志如何统一管理
请问下大家:
多服务器、分布式架构下 Laravel 的日志如何统一管理?
希望可以做到多服务器的日志文件整合在一起,方便日志查看。
有经验的伙伴,请分享一下,谢谢。
tip:
我有了解到可以使用 ELK 搭建分布式日志收集系统,但我觉得这个太重了,就想问下有没有其他简单的方案。
目前项目使用的 Laravel 版本为 5.8,项目部署在 n 个服务器上,每个服务器上都是同一套代码在运行。
<?php
// config/logging.php 配置
return [
'default' => env('LOG_CHANNEL', 'stack'),
'channels' => [
'stack' => [
'driver' => 'stack',
'channels' => ['daily'],
],
'daily' => [
'driver' => 'daily',
'path' => storage_path('logs/laravel.log'),
'level' => 'debug',
'days' => 15,
],
],
];
可以直接写本地文件然后用 Filebeat 收集再发送到 Elasticsearch 或者直接用让 Laravel 将日志写入 Elasticsearch,可以参考 betterde/logger 这个包