7.3. 配置审计日志记录策略


您可以使用配置值控制 MicroShift 审计日志文件轮转和保留。

7.3.1. 关于设置审计日志文件的限制

使用配置值控制 MicroShift 审计日志文件的轮转和保留有助于防止超过边缘设备的有限存储容量。在这样的设备中,日志记录数据积累可能会限制主机系统或集群工作负载,从而导致设备停止工作。设置审计日志策略有助于确保关键处理空间持续可用。

您设置为限制 MicroShift 审计日志的值可让您强制实施审计日志备份的大小、数字和年龄限制。字段值相互独立处理,无需优先处理。

您可以组合设置字段,为保留的日志定义最大存储限制。例如:

  • maxFileSizemaxFiles 设置为创建一个日志存储上限。
  • 设置 maxFileAge 值,以自动删除文件名中时间戳旧的文件,而不考虑 maxFiles 值。

7.3.1.1. 默认审计日志值

MicroShift 包括以下默认审计日志轮转值:

表 7.2. MicroShift 默认审计日志值
审计日志参数默认设置定义

maxFileAge:

0

在自动删除前保留日志文件的时长。默认值表示,日志文件永远不会根据年龄删除。可以配置这个值。

maxFiles:

10

保留的日志文件总数。默认情况下,MicroShift 保留 10 个日志文件。创建过量文件时,会删除最旧的文件。可以配置这个值。

maxFileSize:

200

默认情况下,当 audit.log 文件达到 maxFileSize 限制时,audit.log 文件会被轮转,MicroShift 开始写入新的 audit.log 文件。这个值以 MB 为单位,可以进行配置。

配置集

default

Default 配置集只为读取和写入请求记录元数据;除了 OAuth 访问令牌请求外,请求正文不会被记录。如果没有指定此字段,则使用 Default 配置集。

如果文件有 10 个或更少,则审计日志保留的最大默认存储使用量为 2000Mb。

如果没有为字段指定值,则使用默认值。如果删除了之前设置的字段值,则会在下一个 MicroShift 服务重启后恢复默认值。

重要

您必须在 Red Hat Enterprise Linux (RHEL)中为应用程序 Pod 生成的日志配置审计日志保留和轮转。这些日志打印到控制台并被保存。确保为 RHEL /var/log/audit/audit.log 文件配置了日志首选项,以维护 MicroShift 集群健康状况。

7.3.2. 关于审计日志策略配置集

审计日志配置集定义如何记录发送到 OpenShift API 服务器和 Kubernetes API 服务器的请求。

MicroShift 支持以下预定义的审计策略配置集:

profile描述

default

仅记录读取和写入请求的日志元数据 ;除了 OAuth 访问令牌请求外,不记录请求正文。这是默认策略。

WriteRequestBodies

除了记录所有请求的元数据外,还会记录对 API 服务器的写入请求(create, update, patch, delete, deletecollection)。这个配置集的资源开销比 Default 配置集大。[1]

AllRequestBodies

除了记录所有请求的元数据外,对 API 服务器的每个读写请求(getlistcreateupdatepatch)都进行日志记录。这个配置集的资源开销最大。[1]

None

没有记录请求,包括 OAuth 访问令牌请求和 OAuth 授权令牌请求。

警告

除非完全了解在对问题进行故障排除时无法记录数据的风险,否则不要使用 None 配置集禁用审计日志记录。如果禁用审计日志记录且出现支持情况,您可能需要启用审计日志记录并重现问题,才能正确排除故障。

  1. 敏感资源(如 SecretRouteOAuthClient 对象)仅记录在元数据级别上。

默认情况下,MicroShift 使用 Default 审计日志配置集。您可以使用另一个审计策略配置集来记录请求的具体数据,但注意这会消耗更多资源(如 CPU、内存和 I/O)。

7.3.3. 配置审计日志值

您可以使用 MicroShift 服务配置文件配置审计日志设置。

流程

  1. /etc/microshift/ 目录中生成提供的 config.yaml.default 文件的副本,将它重命名为 config.yaml。在 /etc/microshift/ 目录中保留您创建的新的 MicroShift config.yaml。每当 MicroShift 服务启动时,会读取新的 config.yaml。创建后,config.yaml 文件优先于内置设置。
  2. 将 YAML 的 auditLog 部分中的默认值替换为您所需的有效值。

    默认 auditLog 配置示例

    apiServer:
    # ....
      auditLog:
        maxFileAge: 7 
    1
    
        maxFileSize: 200 
    2
    
        maxFiles: 1 
    3
    
        profile: Default 
    4
    
    # ....
    Copy to Clipboard

    1
    指定日志文件要保留的最大时间(以天为单位)。超过这个限制的文件会被删除。在本例中,日志文件超过 7 天后,将被删除。无论实时日志是否达到 maxFileSize 字段中指定的最大文件大小,都会删除这些文件。文件年龄由使用轮转日志文件名称写入的时间戳决定,例如 audit-2024-05-16T17-03-59.994.log。当值为 0 时,会禁用限制。
    2
    最大审计日志文件大小(以 MB 为单位)。在本例中,文件会在实时日志达到 200 MB 限制时进行轮转。当值设为 0 时,会禁用限制。
    3
    保留的最大轮转审计日志文件数。达到限制后,日志文件将从最旧的到最新的顺序删除。在本例中,除了当前活跃日志外,值 1 会导致只保留 1 个 size maxFileSize 的文件。当值设为 0 时,会禁用限制。
    4
    仅记录读取和写入请求的日志元数据 ;除了 OAuth 访问令牌请求外,不记录请求正文。如果没有指定此字段,则使用 Default 配置集。
  3. 可选: 要为日志指定新目录,您可以停止 MicroShift,然后将 /var/log/kube-apiserver 目录移到所需的位置:

    1. 运行以下命令来停止 MicroShift:

      $ sudo systemctl stop microshift
      Copy to Clipboard
    2. 运行以下命令,将 /var/log/kube-apiserver 目录移到所需位置:

      $ sudo mv /var/log/kube-apiserver <~/kube-apiserver> 
      1
      Copy to Clipboard
      1
      将 < ~/kube-apiserver > 替换为您要使用的目录的路径。
    3. 如果为日志指定新目录,请运行以下命令到位于 /var/log/kube-apiserver 的自定义目录:

      $ sudo ln -s <~/kube-apiserver> /var/log/kube-apiserver 
      1
      Copy to Clipboard
      1
      将 < ~/kube-apiserver > 替换为您要使用的目录的路径。这启用了 sos 报告中的日志集合。
  4. 如果要在运行的实例上配置审计日志策略,请输入以下命令重启 MicroShift:

    $ sudo systemctl restart microshift
    Copy to Clipboard

7.3.4. 审计日志配置故障排除

使用以下步骤对自定义审计日志设置和文件位置进行故障排除。

流程

  • 运行以下命令检查配置的当前值:

    $ sudo microshift show-config --mode effective
    Copy to Clipboard

    输出示例

    auditLog:
        maxFileSize: 200
        maxFiles: 1
        maxFileAge: 7
        profile: AllRequestBodies
    Copy to Clipboard

  • 运行以下命令检查 audit.log 文件权限:

    $ sudo ls -ltrh /var/log/kube-apiserver/audit.log
    Copy to Clipboard

    输出示例

    -rw-------. 1 root root 46M Mar 12 09:52 /var/log/kube-apiserver/audit.log
    Copy to Clipboard

  • 运行以下命令,列出当前日志目录的内容:

    $ sudo ls -ltrh /var/log/kube-apiserver/
    Copy to Clipboard

    输出示例

    total 6.0M
    -rw-------. 1 root root 2.0M Mar 12 10:56 audit-2024-03-12T14-56-16.267.log
    -rw-------. 1 root root 2.0M Mar 12 10:56 audit-2024-03-12T14-56-49.444.log
    -rw-------. 1 root root 962K Mar 12 10:57 audit.log
    Copy to Clipboard

返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2025 Red Hat