【问题标题】:RSyslog / Syslog-ng - Running Log collector inside a containerRSyslog / Syslog-ng - 在容器内运行日志收集器
【发布时间】:2019-12-12 06:46:04
【问题描述】:

假设我们有一个记录到 Logstash 的 Kubernetes 集群(在生产中)。

我们希望将特定的日志段发送到我们的远程 Splunk 机器 (VM)。

设计是添加Splunk forwarder,它将收集日志并将其转发。

我们可以只运行 splunk forwarder in a docker container 并公开它在 k8s 集群内有一个服务。

但我希望将日志收集器与 Splunk 转发器分离,并在与 Splunk 转发器共享卷的 sidecar 容器中运行更轻量级的日志收集器,例如 RsyslogSyslog-ng (或将来可能取代它的任何其他货运代理)。

在寻找解决方案时,我发现一些项目(下面列出)似乎还没有准备好生产。

日志收集器的解耦对我来说似乎是一种微不足道的设计模式,但由于缺乏稳定的官方解决方案,我开始怀疑这是否有原因。

另一方面,可能更现代(更轻量级)的解决方案(如 fluentd)接管了 Syslog 旧版解决方案。

有什么想法吗?


Rsyslog-docker 项目:

https://github.com/rsyslog/rsyslog-docker

https://github.com/jumanjihouse/docker-rsyslog

https://github.com/deoren/rsyslog-docker

https://github.com/camptocamp/docker-rsyslog-bin/blob/master/Dockerfile

https://github.com/megastef/rsyslog-logsene

Syslog-ng-docker 项目:

https://github.com/mumblepins-docker/syslog-ng-alpine

https://hub.docker.com/r/balabit/syslog-ng/

【问题讨论】:

标签: docker logging syslog rsyslog syslog-ng


【解决方案1】:

有点晚了,但也许会对某人有所帮助。

您可以使用 logstash sidecar 将日志转发到使用 HTTP (Splunk HEC) 的 splunk。 logstash 容器可以与其他容器共享卷并遵循日志文件。

在每个新日志中,它将转发给 Splunk。 这是一个logstash.conf文件示例(logstash的输入输出配置文件):

input {
 file {
  path => "${LOGS_FILE_PATH}"
  start_position => "beginning"
 }
}

 http {
  http_method => "post"
   url => "http://XX.XX.XX.XX:8088/services/collector/event"
   headers => ["Authorization", "Splunk XXXXX-XXXX-XXXXX-XXXXX"]
   mapping => {
    "event" => "%{[message]}"
   }
 }
}

有关配置 logstash 的更多信息: https://www.elastic.co/guide/en/logstash/current/docker-config.html

【讨论】:

    【解决方案2】:

    RtmY,最近我也遇到了类似的情况,Syslog 在 Docker 和 Kubernetes 集成方面受到限制。

    正如您提到的考虑替代方案时,您应该看看 Fluentbit,它很轻(需要 450Kb 内存)并且可扩展。它没有涵盖大量插件,但大多数可用的插件足以满足各种情况。

    官方文档中提供的一些默认配置集可以帮助您进行引导。

    【讨论】:

    • fluentbit 不关联 API 日志和应用程序日志。这意味着如果您直接从 fluentbit 转发日志,您的应用程序日志中不会有集群详​​细信息。
    猜你喜欢
    • 2019-08-02
    • 2017-03-01
    • 1970-01-01
    • 1970-01-01
    • 2022-07-05
    • 1970-01-01
    • 2021-12-29
    • 1970-01-01
    • 2016-12-02
    相关资源
    最近更新 更多