首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何将Lumen日志发送给麋鹿

如何将Lumen日志发送给麋鹿
EN

Stack Overflow用户
提问于 2019-06-25 15:57:56
回答 1查看 1.8K关注 0票数 1

我有一个用Lumen5.8制作的微服务,我需要将所有日志发送到Logstash,以便将它们保存在ElasticSearch中。

我需要尝试配置Lumen日志,但是没有什么是好的。

我在logging.php中创建了一个名为logstash的新通道,我使用Monolog作为驱动程序。

代码语言:javascript
运行
复制
'channels' => [
        'logstash' => [
            'driver' => 'monolog',
            'level' => 'debug',
            'path' => storage_path('logs/lumen.log'),
            'handler' => \Monolog\Handler\SocketHandler::class,
            'handler_with' => [
                'host' => env('LOGSTASH_HOST'),
                'port' => env('LOGSTASH_PORT'),
            ],
        ],
]

我还在同一个文件中更改了默认通道:

代码语言:javascript
运行
复制
    'default' => env('LOG_CHANNEL', 'stack'),

这是我的.env:

代码语言:javascript
运行
复制
LOG_CHANNEL=logstash
LOGSTASH_HOST=(here I have my Logstash URL)
LOGSTASH_PORT=5055

问题是,我没有错误,但是在ElasticSearch中没有保存任何内容。我非常肯定LogStash和Elastic之间的通信,所以我的配置肯定有问题。

EN

回答 1

Stack Overflow用户

发布于 2019-06-25 16:53:49

有点切线,但我发现对我来说真正有效的是运行菲莱来获取日志。

因此,您将使用默认的基于文件的日志配置运行Lumen/Laravel,那里不需要进行任何更改。您还可以运行Filebeat并将其配置为

  • 知道洛格斯塔什在哪里
  • 知道如何拾起拉拉维尔/鲁明原木
代码语言:javascript
运行
复制
# filebeat config
filebeat.config:
  filebeat.prospectors:
    - type: log
      enabled: true
      paths:
        - /var/www/laravel/storage/logs/*.log
      tags:
        - laravel
        - myAppName
      fields:
        app: myAppName

  output.file:
    enabled: false
  output.logstash:
    hosts: ["logstash.local:5044"]

我的部署环境是Kubernetes,所以这个工作非常好,在一个吊舱中有两个容器,共享一个emptyDir卷。

如果不希望运行任何其他组件,则此操作不适用于您。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56757944

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档