【问题标题】:Forwarding logs from kubernetes to splunk将日志从 kubernetes 转发到 splunk
【发布时间】:2018-06-01 09:01:40
【问题描述】:

我对 Kubernetes 非常陌生,没有动手经验。

我的团队正面临由 推送到 的日志格式问题。

应用程序正在以这种格式将日志推送到标准输出

{"logname" : "app-log", "level" : "INFO"}

Splunk最终得到这种格式(使用splunkforwarder)

{
  "log" : "{\"logname\": \"app-log\", \"level\": \"INFO \"}",
  "stream" : "stdout",
  "time" : "2018-06-01T23:33:26.556356926Z" 
 }

这种格式会使 Splunk 中的事情更难根据属性进行查询。

Kubernetes 中是否有任何选项可以从应用程序转发 raw logs 而不是分组到另一个 json 中?

我在Splunk中看到this的帖子,但是配置是在Splunk端完成的

如果我们有任何选项可以从Kubernetes 方发送应用程序的原始日志,请告诉我

【问题讨论】:

    标签: kubernetes splunk kubernetes splunk


    【解决方案1】:

    Kubernetes 架构提供了三种收集日志的方式:

    1.使用在每个节点上运行的节点级日志记录代理。

    您可以通过在每个节点上包含节点级日志记录代理来实现集群级日志记录。日志代理是公开日志或将日志推送到后端的专用工具。通常,日志代理是一个容器,它可以访问包含该节点上所有应用程序容器的日志文件的目录。

    日志格式取决于 Docker 设置。您需要在每个节点的/etc/docker/daemon.json 中设置log-driver 参数。

    例如,

    {
      "log-driver": "syslog"
    }
    

    {
      "log-driver": "json-file"
    }
    
    • none - 没有可用于容器的日志,并且 docker 日志不可用 返回任何输出。
    • json-file - 日志格式为 JSON。这 Docker 的默认日志记录驱动程序。
    • syslog - 将日志消息写入 系统日志工具。

    更多选项,请查看link

    2。包含用于登录应用程序 pod 的专用 sidecar 容器。

    您可以通过以下方式之一使用 sidecar 容器:

    • sidecar 容器将应用程序日志流式传输到它自己的标准输出。
    • sidecar 容器运行一个日志代理,该代理配置为从应用程序容器中提取日志。

    通过让 sidecar 容器流式传输到它们自己的 stdout 和 stderr 流,您可以利用 kubelet 和已经在每个节点上运行的日志代理。 Sidecar 容器从文件、套接字或日志中读取日志。每个单独的 sidecar 容器都将日志打印到自己的 stdout 或 stderr 流中。

    3.将日志从应用程序内直接推送到后端。

    您可以通过直接从每个应用程序公开或推送日志来实现集群级别的日志记录。

    更多信息可以查看Kubernetes的official documentation

    【讨论】:

      【解决方案2】:

      本周我们遇到了同样的问题。

      1. 使用 splunk 转发器 DaemonSet

      2. 在 splunk 上安装 https://splunkbase.splunk.com/app/3743/ 这个插件将解决您的问题。

      【讨论】:

      • Pamir,感谢您推荐我们的解决方案。 @tomalex,您可以在我们的网站outcoldsolutions.com 上找到有关我们用于监控 kubernetes 和日志转发的解决方案的更多详细信息
      【解决方案3】:

      只想更新我们尝试过的解决方案,这适用于我们的日志结构

      SEDCMD-1_unjsonify = s/{"log":"(?:\\u[0-9]+)?(.*?)\\n","stream.*/\1/g
      SEDCMD-2_unescapequotes = s/\\"/"/g
      BREAK_ONLY_BEFORE={"logname":
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-11-14
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多