如何从.Net Core中的Docker容器将日志发送到Graylog

时间:2018-10-18 18:05:43

标签: docker asp.net-core nlog graylog2

我曾经使用 NLog 登录文件,但是由于我移至Docker容器,所以我试图利用集中式日志管理系统。

我已经创建了一个包含灰度日志图像的docker-compose.yml文件

graylog:
    image: graylog/graylog:2.4
    environment:
      # CHANGE ME!
      - GRAYLOG_PASSWORD_SECRET=somepasswordpepper
      # Password: admin
      - GRAYLOG_ROOT_PASSWORD_SHA2=8c6976e5b5410415bde908bd4dee15dfb167a9c873fc4bb8a81f6f2ab448a918
      - GRAYLOG_WEB_ENDPOINT_URI=http://127.0.0.1:9000/api
    links:
      - mongo
      - elasticsearch

遵循灰色日志documentation

我已安装Nlog.Targets.GraylogHttp作为nuget来推送日志消息。

目前,我不确定如何配置Graylog和nlog.config文件以使其协同工作。

在greylog中,我创建了这样的GELF http输入。

enter image description here

nlog.config的要旨如下:

<targets>
    <target name="graylog" 
              xsi:type="GraylogHttp" 
              facility="WHAT GOES HERE?"
              graylogServer="http://127.0.0.1:9000/api"
              graylogPort="12201">                                                            
      </target>
</targets>
<rules>
    <logger name="*" minlevel="Trace" appendTo="graylog"/>
</rules>

我是Graylog和Docker的新手。任何帮助表示赞赏。

0 个答案:

没有答案