当前位置: 首页 > 知识库问答 >
问题:

使用弹性日志在不同路径中配置 Kubernetes 日志

曹鸿风
2023-03-14

我有一个在Kubernetes pod中运行的应用程序Java/Spring boot,日志配置为stdout,fluentd从默认路径获取日志:

<source>
 @type tail
 path /var/log/containers/*.log
 pos_file /pos/containers.pos
 time_key time
 time_format %Y-%m-%dT%H:%M:%S.%NZ
 tag kubernetes.*
 format json
 read_from_head true
</source>

在我的logback xml配置中,我有一个appender json文件:

<appender name="jsonAppender" class="ch.qos.logback.core.rolling.RollingFileAppender">
    <file>${LOG_PATH}/spring-boot-logger.log</file>
    <encoder class="net.logstash.logback.encoder.LogstashEncoder"/>
    <rollingPolicy class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">
        <maxIndex>1</maxIndex>
        <fileNamePattern>${LOG_PATH}.%i</fileNamePattern>
    </rollingPolicy>
    <KeyValuePair key="service" value="java-app" />
    <triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
        <MaxFileSize>1MB</MaxFileSize>
    </triggeringPolicy>
</appender>

如何在Kubernete设置中集成这个独立的日志文件,而不是stdout和Fluentd,以不同的路径发送json日志

共有2个答案

伯俊弼
2023-03-14
    < li >在spring boot应用程序的docker文件中创建一个将写入日志的目录 < li >在logback xml文件中有一个FileAppender,它将在该目录路径中写入日志 < li >将回退xml文件作为jar文件的一部分放在< code>resources文件夹中。 < li >将Fluentd sidecar添加到spring boot应用程序的pod规范中 < li >将Fluentd sidecar配置为从写入该目录路径的日志文件中跟踪日志。
孔君浩
2023-03-14

您需要:

  1. 将该文件移动到emptyDir卷(或主机路径,我猜,但使用emptyDir),然后
  2. 将fluentd/bit作为sidecar运行,读取该卷和
  3. 转发到fluentd设置的其余部分
 类似资料:
  • 这是我的配置映射(通过命令kubectl edit cm):

  • 如何编写一个简单的log4j2.xml文件,将不同级别的日志放入不同的文件中? 例如,我们有错误日志,任何信息日志,我需要将所有错误日志消息推入一个日志文件,所有信息日志消息推入另一个文件。 我怎么做?

  • kubernetes吊舱日志的绝对路径是什么? 当我尝试时,我可以看到吊舱日志。我想知道运行pod的日志文件路径。 kubectl原木npapp-0r9jw 在哪里可以看到绝对日志文件路径?

  • 对于一些人来说,这可能是一个非常简单的问题,但就我个人而言,Log4j配置非常困难,学习执行脑部手术可能没有那么困难。 我正试图让多个日志记录者登录到不同的文件。这是我的log4j中的内容。属性文件: 这是我的(非常简单的)Java应用程序用于测试配置: 我有两个问题: 有一个问题,我总是在

  • 主要内容:1. 设置错误日志,2. 设置访问日志,3. 启用条件日志记录,4. 日志记录到Syslog本节介绍如何在NGINX中配置日志记录错误和处理的请求。在本文章中将涉及以下内容 - 设置错误日志 设置访问日志 启用条件日志记录 日志记录到Syslog 1. 设置错误日志 NGINX将遇到的不同严重性级别问题的信息写入错误日志。 指令将日志记录设置为特定文件,或,并指定要记录的消息的最低级别。 默认情况下,错误日志位于(绝对路径取决于操作系统和安装),并记录来自所指定的所有严重级别的消息。

  • 在logback.xml中,您可以定义几个< code > 如果我有这样的东西: “development”概要文件是包含“developer”的两个概要文件的联合,还是“developer”概要文件只激活前一个或后一个概要文件?