【问题标题】:Ingestion port for seq in serilogserilog 中 seq 的摄取端口
【发布时间】:2020-06-01 13:31:20
【问题描述】:

我已经使用 dockers 在本地服务器上安装了 seq,这里是 docker 命令:

docker run -d \
 --restart unless-stopped \
 --name seq \
 -e ACCEPT_EULA=Y \
 -v /var/log/seq:/data \
 -p 8680:80 \
 -p 8631:5431 \
 datalust/seq:latest

然后,我将项目配置为使用 app.config 文件将日志发送到服务器。文件摘录在这里:

<!-- log server -->
<add key="serilog:using:Seq" value="Serilog.Sinks.Seq" />
<add key="serilog:write-to:Seq.serverUrl" value="http://192.168.1.200:8680" />
<add key="serilog:write-to:Seq.apiKey" value="CONFIGURED-API-KEY-HERE" />
<add key="serilog:write-to:Seq.restrictedToMinimumLevel" value="Debug"/>

在我将服务器端口更改为 8680 之前,我无法让它工作。在我收到 System.Net.Sockets.SocketException: Connection refused 异常之前。

关键是,我不应该使用 8631 端口而不是 8680 吗? 8680 端口仅用于网站,8631 应为摄取端口。我错过了什么吗?

【问题讨论】:

    标签: .net logging serilog seq seq-logging


    【解决方案1】:

    问题是端口映射:

    -p 8631:5431
    

    Seq 摄取端口是端口5341,而不是5431,所以这需要:

    -p 8631:5341
    

    【讨论】:

    • 并且端口的助记符是 Seq! - 5341 ;)
    • 它正在工作。我必须删除 (rm) 并重新运行 docker 才能使其正常工作。看起来编辑端口对码头工人来说并不容易。仍然不明白为什么两个端口(80 和 5341)都可以用于摄取。
    • 80 是完整的 API; 5341 仅适用于需要最小暴露表面积的情况。 HTH!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-12-25
    • 1970-01-01
    相关资源
    最近更新 更多