7.3. 配置审计日志记录策略
您可以使用配置值控制 MicroShift 审计日志文件轮转和保留。
7.3.1. 关于设置审计日志文件的限制
使用配置值控制 MicroShift 审计日志文件的轮转和保留有助于防止超过边缘设备的有限存储容量。在这样的设备中,日志记录数据积累可能会限制主机系统或集群工作负载,从而导致设备停止工作。设置审计日志策略有助于确保关键处理空间持续可用。
您设置为限制 MicroShift 审计日志的值可让您强制实施审计日志备份的大小、数字和年龄限制。字段值相互独立处理,无需优先处理。
您可以组合设置字段,为保留的日志定义最大存储限制。例如:
-
将
maxFileSize
和maxFiles
设置为创建一个日志存储上限。 -
设置
maxFileAge
值,以自动删除文件名中时间戳旧的文件,而不考虑maxFiles
值。
7.3.1.1. 默认审计日志值
MicroShift 包括以下默认审计日志轮转值:
审计日志参数 | 默认设置 | 定义 |
---|---|---|
|
| 在自动删除前保留日志文件的时长。默认值表示,日志文件永远不会根据年龄删除。可以配置这个值。 |
|
| 保留的日志文件总数。默认情况下,MicroShift 保留 10 个日志文件。创建过量文件时,会删除最旧的文件。可以配置这个值。 |
|
|
默认情况下,当 |
|
|
|
如果文件有 10 个或更少,则审计日志保留的最大默认存储使用量为 2000Mb。
如果没有为字段指定值,则使用默认值。如果删除了之前设置的字段值,则会在下一个 MicroShift 服务重启后恢复默认值。
您必须在 Red Hat Enterprise Linux (RHEL)中为应用程序 Pod 生成的日志配置审计日志保留和轮转。这些日志打印到控制台并被保存。确保为 RHEL /var/log/audit/audit.log
文件配置了日志首选项,以维护 MicroShift 集群健康状况。
其他资源
- 为安全环境配置 auditd
- 了解审计日志文件
- 如何使用 logrotate 工具轮转日志文件 (Solutions,自 2024 年 8 月 7 日)
7.3.2. 关于审计日志策略配置集
审计日志配置集定义如何记录发送到 OpenShift API 服务器和 Kubernetes API 服务器的请求。
MicroShift 支持以下预定义的审计策略配置集:
profile | 描述 |
---|---|
| 仅记录读取和写入请求的日志元数据 ;除了 OAuth 访问令牌请求外,不记录请求正文。这是默认策略。 |
|
除了记录所有请求的元数据外,还会记录对 API 服务器的写入请求( |
|
除了记录所有请求的元数据外,对 API 服务器的每个读写请求( |
| 没有记录请求,包括 OAuth 访问令牌请求和 OAuth 授权令牌请求。 警告
除非完全了解在对问题进行故障排除时无法记录数据的风险,否则不要使用 |
-
敏感资源(如
Secret
、Route
和OAuthClient
对象)仅记录在元数据级别上。
默认情况下,MicroShift 使用 Default
审计日志配置集。您可以使用另一个审计策略配置集来记录请求的具体数据,但注意这会消耗更多资源(如 CPU、内存和 I/O)。
7.3.3. 配置审计日志值
您可以使用 MicroShift 服务配置文件配置审计日志设置。
流程
-
在
/etc/microshift/
目录中生成提供的config.yaml.default
文件的副本,将它重命名为config.yaml
。在/etc/microshift/
目录中保留您创建的新的 MicroShiftconfig.yaml
。每当 MicroShift 服务启动时,会读取新的config.yaml
。创建后,config.yaml
文件优先于内置设置。 将 YAML 的
auditLog
部分中的默认值替换为您所需的有效值。默认
auditLog
配置示例apiServer: # .... auditLog: maxFileAge: 7 maxFileSize: 200 maxFiles: 1 profile: Default # ....
apiServer: # .... auditLog: maxFileAge: 7
1 maxFileSize: 200
2 maxFiles: 1
3 profile: Default
4 # ....
Copy to Clipboard Copied! - 1
- 指定日志文件要保留的最大时间(以天为单位)。超过这个限制的文件会被删除。在本例中,日志文件超过 7 天后,将被删除。无论实时日志是否达到
maxFileSize
字段中指定的最大文件大小,都会删除这些文件。文件年龄由使用轮转日志文件名称写入的时间戳决定,例如audit-2024-05-16T17-03-59.994.log
。当值为0
时,会禁用限制。 - 2
- 最大审计日志文件大小(以 MB 为单位)。在本例中,文件会在实时日志达到 200 MB 限制时进行轮转。当值设为
0
时,会禁用限制。 - 3
- 保留的最大轮转审计日志文件数。达到限制后,日志文件将从最旧的到最新的顺序删除。在本例中,除了当前活跃日志外,值
1
会导致只保留 1 个 sizemaxFileSize
的文件。当值设为0
时,会禁用限制。 - 4
- 仅记录读取和写入请求的日志元数据 ;除了 OAuth 访问令牌请求外,不记录请求正文。如果没有指定此字段,则使用
Default
配置集。
可选: 要为日志指定新目录,您可以停止 MicroShift,然后将
/var/log/kube-apiserver
目录移到所需的位置:运行以下命令来停止 MicroShift:
sudo systemctl stop microshift
$ sudo systemctl stop microshift
Copy to Clipboard Copied! 运行以下命令,将
/var/log/kube-apiserver
目录移到所需位置:sudo mv /var/log/kube-apiserver <~/kube-apiserver>
$ sudo mv /var/log/kube-apiserver <~/kube-apiserver>
1 Copy to Clipboard Copied! - 1
- 将 <
~/kube-apiserver
> 替换为您要使用的目录的路径。
如果为日志指定新目录,请运行以下命令到位于
/var/log/kube-apiserver
的自定义目录:sudo ln -s <~/kube-apiserver> /var/log/kube-apiserver
$ sudo ln -s <~/kube-apiserver> /var/log/kube-apiserver
1 Copy to Clipboard Copied! - 1
- 将 <
~/kube-apiserver
> 替换为您要使用的目录的路径。这启用了 sos 报告中的日志集合。
如果要在运行的实例上配置审计日志策略,请输入以下命令重启 MicroShift:
sudo systemctl restart microshift
$ sudo systemctl restart microshift
Copy to Clipboard Copied!
7.3.4. 审计日志配置故障排除
使用以下步骤对自定义审计日志设置和文件位置进行故障排除。
流程
运行以下命令检查配置的当前值:
sudo microshift show-config --mode effective
$ sudo microshift show-config --mode effective
Copy to Clipboard Copied! 输出示例
auditLog: maxFileSize: 200 maxFiles: 1 maxFileAge: 7 profile: AllRequestBodies
auditLog: maxFileSize: 200 maxFiles: 1 maxFileAge: 7 profile: AllRequestBodies
Copy to Clipboard Copied! 运行以下命令检查
audit.log
文件权限:sudo ls -ltrh /var/log/kube-apiserver/audit.log
$ sudo ls -ltrh /var/log/kube-apiserver/audit.log
Copy to Clipboard Copied! 输出示例
-rw-------. 1 root root 46M Mar 12 09:52 /var/log/kube-apiserver/audit.log
-rw-------. 1 root root 46M Mar 12 09:52 /var/log/kube-apiserver/audit.log
Copy to Clipboard Copied! 运行以下命令,列出当前日志目录的内容:
sudo ls -ltrh /var/log/kube-apiserver/
$ sudo ls -ltrh /var/log/kube-apiserver/
Copy to Clipboard Copied! 输出示例
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
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 Copied!