在 StorageGRID 中配置日志管理
根据需要,配置审核级别、协议标头以及审核消息和日志的位置。
所有 StorageGRID 节点都会生成审计消息和日志,以跟踪系统活动和事件。审计消息和日志是监控和故障排除的重要工具。
或者,您可以"配置外部 syslog 服务器"远程保存审核信息。使用外部服务器可最大限度地减少审核消息日志记录的性能影响,而不会降低审核数据的完整性。如果您拥有大型网格、使用多种类型的 S3 应用程序或希望保留所有审核数据,则外部 syslog 服务器特别有用。
-
您已使用 "支持的 Web 浏览器" 登录到网格管理器。
-
您有 "维护或 root 访问权限"。
-
如果您计划配置外部 syslog 服务器,则已查看并遵循 "使用外部 syslog 服务器的注意事项"。
-
如果您计划使用 TLS 或 RELP/TLS 协议配置外部 syslog 服务器,则拥有所需的服务器 CA 和客户端证书以及客户端私钥。
更改审核消息级别
可为审核日志中的以下每类消息设置不同的审核级别:
| 审核类别 | 默认设置 | 更多信息 |
|---|---|---|
系统 |
正常 |
|
存储 |
错误 |
|
管理 |
正常 |
|
客户端读取 |
正常 |
|
客户端写入 |
正常 |
|
ILM |
正常 |
|
跨网格复制 |
错误 |
|
|
在升级期间,审核级别配置不会立即生效。 |
-
选择*配置* > 监控 > 日志管理。
-
对于每个审计消息类别,从下拉列表中选择一个审计级别:
审核级别 问题描述 关闭
该类别中没有任何审核消息被记录。
错误
仅记录错误消息——结果代码未"成功"(SUCS)的审核消息。
正常
将记录标准事务性消息——这些说明中列出的该类别的消息。
调试
已弃用。此级别与正常审核级别相同。
任何特定级别所包含的消息,也包括将在更高级别记录的消息。例如,Normal 级别包含所有 Error 消息。
如果您不需要 S3 应用程序的客户端读取操作的详细记录,可以选择将*客户端读取*设置更改为*错误*,以减少审核日志中记录的审核消息数量。 -
选择 Save。
定义 HTTP 请求标头
可以选择定义要包含在客户端读取和写入审核消息中的任何 HTTP 请求标头。
-
在*审核协议标头*部分中,定义要包含在客户端读取和写入审核消息中的 HTTP 请求标头。
使用星号 (*) 作为通配符,以匹配零个或多个字符。使用转义序列 (\*) 匹配文字星号。
-
如果需要,选择 Add another header 以创建其他标题。
当在请求中找到 HTTP 标头时,它们将包含在 HTRH 字段下的审核消息中。
仅当*客户端读取*或*客户端写入*的审核级别不为*关闭*时,才会记录审核协议请求标头。 -
选择 Save
配置日志位置
默认情况下,审核消息和日志保存在生成它们的节点上。它们会定期轮换并最终删除,以防止占用过多的磁盘空间。如果要在外部保存审核消息和日志子集,请 使用外部 syslog 服务器。
如果要在内部保存日志文件,请选择用于日志存储的租户和存储区并启用日志存档。
使用外部 syslog 服务器
您可以选择配置外部 syslog 服务器,以将审核日志、应用程序日志和安全事件日志保存到网格外部的位置。
|
|
如果不想使用外部 syslog 服务器,请跳过此步骤并转到 选择日志位置。 |
|
|
如果此过程中提供的配置选项不够灵活,无法满足您的要求,则可以使用 `audit-destinations`端点应用其他配置选项,这些端点位于"网格管理 API"的私有 API 部分。例如,如果要为不同的节点组使用不同的 syslog 服务器,则可以使用 API。 |
输入 syslog 信息
访问配置外部 syslog 服务器向导,并提供 StorageGRID 访问外部 syslog 服务器所需的信息。
-
从本地节点和外部服务器选项卡中,选择*配置外部 syslog 服务器*。或者,如果您之前已配置过外部 syslog 服务器,请选择*编辑外部 syslog 服务器*。
此时将显示Configure external syslog server向导。
-
对于向导的 Enter syslog info 步骤,请在 Host 字段中为外部 syslog 服务器输入有效的完全限定域名或 IPv4 或 IPv6 地址。
-
输入外部 syslog 服务器上的目标端口(必须是 1 到 65535 之间的整数)。默认端口为 514。
-
选择用于将审核信息发送到外部 syslog 服务器的协议。
建议使用 TLS 或 RELP/TLS。您必须上传服务器证书才能使用这些选项之一。使用证书有助于保护网格与外部 syslog 服务器之间的连接。有关详细信息,请参见"管理安全证书"。
所有协议选项都需要外部 syslog 服务器的支持和配置。您必须选择一个与外部 syslog 服务器兼容的选项。
可靠事件日志记录协议 (RELP) 扩展了 syslog 协议的功能,以提供事件消息的可靠传递。使用 RELP 有助于防止在外部 syslog 服务器重新启动时丢失审计信息。 -
选择 Continue。
-
如果您选择了 TLS 或 RELP/TLS,请上传服务器 CA 证书、客户端证书和客户端私钥。
-
选择要使用的证书或密钥的*浏览*。
-
选择证书或密钥文件。
-
选择*打开*以上传文件。
证书或密钥文件名旁边将显示一个绿色复选标记,通知您已成功上传。
-
-
选择 Continue。
管理系统日志内容
您可以选择要发送至外部 syslog 服务器的信息。
-
对于向导的*管理 syslog 内容*步骤,选择要发送到外部 syslog 服务器的每种类型的审核信息。
-
发送审核日志:发送 StorageGRID 事件和系统活动
-
Send security events:发送安全事件,例如当未经授权的用户尝试登录或用户以 root 身份登录时
-
发送应用程序日志:发送"StorageGRID 软件日志文件"用于故障排除,包括:
-
bycast-err.log -
bycast.log -
jaeger.log -
nms.log(仅管理节点) -
prometheus.log -
raft.log -
hagroups.log
-
-
发送访问日志:将外部请求的 HTTP 访问日志发送到 Grid Manager、Tenant Manager、配置的负载均衡器端点以及来自远程系统的网格联合请求。
-
-
使用下拉菜单为要发送的每个审核信息类别选择严重性和设施(消息类型)。
设置严重程度和设施值可以帮助您以可自定义的方式聚合日志,以便更轻松地进行分析。
-
对于*严重程度*,选择*Passthrough*,或选择一个介于 0 到 7 之间的严重程度值。
如果选择一个值,则所选值将应用于所有此类型的消息。如果使用固定值覆盖严重性,则有关不同严重性的信息将丢失。
严重性 问题描述 Passthrough
发送到外部 syslog 的每条消息都具有与本地记录到节点上时相同的严重性值:
-
对于审核日志,严重性为"info"。
-
对于安全事件,严重性值由节点上的 Linux 发行版生成。
-
对于应用程序日志,严重程度在"info"和"notice"之间有所不同,具体取决于问题是什么。例如,添加 NTP 服务器和配置 HA 组会给出"info"的值,而故意停止 SSM 或 RSM 服务会给出"notice"的值。
-
对于访问日志,严重性为"info"。
0
紧急情况:系统无法使用
1
警告:必须立即采取行动
2
严重:严重情况
3
错误:错误条件
4
警告:警告条件
5
注意:正常但重要的状况
6
Informational:信息性消息
7
调试:调试级消息
-
-
对于 Facilty,选择 Passthrough,或选择一个介于 0 到 23 之间的设施值。
如果选择一个值,则它将应用于所有此类型的消息。如果使用固定值覆盖设施,则有关不同设施的信息将丢失。
工具 问题描述 Passthrough
发送到外部 syslog 的每条消息都具有与本地登录到节点时相同的设施值:
-
对于审核日志,发送到外部 syslog 服务器的设施为"local7"。
-
对于安全事件,设施值由节点上的 linux 发行版生成。
-
对于应用程序日志,发送到外部 syslog 服务器的应用程序日志具有以下设施值:
-
bycast.log:user 或 daemon -
bycast-err.log:user、daemon、local3 或 local4 -
jaeger.log:local2 -
nms.log: local3 -
prometheus.log: local4 -
raft.log: local5 -
hagroups.log:local6
-
-
对于访问日志,发送到外部 syslog 服务器的设施为"local0"。
0
kern(内核消息)
1
用户(用户级消息)
2
邮件
3
守护程序(系统守护程序)
4
auth(安全/授权消息)
5
syslog(由 syslogd 内部生成的消息)
6
lpr(行打印机子系统)
7
news(网络新闻子系统)
8
UUCP
9
cron(时钟守护进程)
10
安全(安全/授权消息)
11
FTP
12
NTP
13
logaudit(日志审核)
14
logalert(日志警报)
15
clock(时钟守护进程)
16
local0
17
local1
18
local2
19
local3
20
local4
21
local5
22
local6
23
local7
-
-
选择 Continue。
发送测试消息
在开始使用外部 syslog 服务器之前,应请求网格中的所有节点将测试消息发送到外部 syslog 服务器。在确认将数据发送到外部 syslog 服务器之前,您应使用这些测试消息来帮助验证整个日志收集基础架构。
|
|
请勿使用外部 syslog 服务器配置,直到您确认外部 syslog 服务器收到来自网格中每个节点的测试消息,并且该消息已按预期处理。 |
-
如果您不想发送测试消息,因为您确定外部 syslog 服务器已正确配置并且可以从网格中的所有节点接收审核信息,请选择*跳过并完成*。
绿色横幅指示配置已保存。
-
否则,请选择*发送测试消息*(推荐)。
测试结果会不断显示在页面上,直至您停止测试为止。在测试进行期间,您的审核消息将继续发送到先前配置的目的地。
-
如果在 syslog 服务器配置或运行时收到任何错误,请更正并再次选择*发送测试消息*。
请参阅"对外部 syslog 服务器进行故障排除"以帮助解决任何错误。
-
等待,直到您看到一个绿色横幅,指示所有节点已通过测试。
-
检查您的 syslog 服务器,以确定是否按预期接收和处理测试消息。
如果使用的是 UDP,请检查整个日志收集基础设施。UDP 协议不支持像其他协议那样严格的错误检测。 -
选择*停止并完成*。
您将返回到*审核和syslog服务器*页面。绿色横幅指示已保存syslog服务器配置。
在选择包含外部 syslog 服务器的目标之前,StorageGRID 审核信息不会发送到外部 syslog 服务器。
选择日志位置
您可以指定审核日志、安全事件日志、"StorageGRID 应用程序日志"和访问日志的发送位置。
|
|
StorageGRID 默认为本地节点审核目标,并将审核信息存储在 `/var/local/log/localaudit.log`中。 使用 `/var/local/log/localaudit.log`时,网格管理器和租户管理器审核日志条目可能会发送到存储节点。您可以使用 `run-each-node --parallel "zgrep MGAU /var/local/log/localaudit.log | tail"`命令查找哪个节点具有最新条目。 仅当配置了外部 syslog 服务器时,某些目标才可用。 |
-
选择*日志位置* > 本地节点和外部服务器。
-
要更改日志类型的日志位置,请选择其他选项。
*仅本地节点*和*外部 syslog 服务器*通常提供更好的性能。 选项 问题描述 仅本地节点(默认)
审核消息、安全事件日志和应用程序日志不会发送到管理节点。相反,它们仅保存在生成它们的节点("本地节点")上。在每个本地节点上生成的审核信息存储在 `/var/local/log/localaudit.log`中。
注意:StorageGRID 会定期轮换删除本地日志,以释放空间。当节点的日志文件达到 1 GB 时,将保存现有文件,并启动一个新的日志文件。日志的轮换限制为 21 个文件。当创建日志文件的第 22 个版本时,将删除最旧的日志文件。每个节点上平均存储约 20 GB 的日志数据。要长时间存储日志,请 使用租户和存储桶进行日志存储。
管理节点/本地节点
审核消息发送到管理节点上的审核日志,安全事件日志和应用程序日志存储在生成它们的节点上。审核信息存储在以下文件中:
-
管理节点(主节点和非主节点):
/var/local/audit/export/audit.log -
所有节点:
/var/local/log/localaudit.log文件通常为空或缺失。它可能包含辅助信息,例如某些消息的其他副本。
外部 syslog 服务器
审核信息将发送到外部 syslog 服务器并保存在本地节点上(
/var/local/log/localaudit.log)。发送的信息类型取决于您如何配置外部 syslog 服务器。只有在完成已配置外部 syslog 服务器之后,才会启用此选项。管理节点和外部 syslog 服务器
审核消息发送到管理节点上的审核日志(
/var/local/audit/export/audit.log),审核信息发送到外部 syslog 服务器并保存在本地节点上(/var/local/log/localaudit.log)。发送的信息类型取决于您如何配置外部 syslog 服务器。只有在完成已配置外部 syslog 服务器之后,才会启用此选项。 -
-
选择 Save。
此时将显示一条警告消息。
-
选择*OK*以确认要更改审核信息的目标。
新日志将发送到您选择的目的地。现有日志保留在其当前位置。
使用存储桶
日志会定期轮换。使用同一网格中的 S3 存储桶将日志存储较长时间。
-
选择*日志位置* > 使用存储桶。
-
选中*启用归档日志*复选框。
-
如果列出的租户和存储桶不是您要使用的,请选择 Change tenant and bucket,然后选择 Create tenant and bucket 或 Select tenant and bucket。
创建租户和存储桶-
输入新的租户名称。
-
输入并确认新租户的密码。
-
输入新的存储桶名称。
-
选择*创建并启用*。
选择租户和存储桶-
从下拉列表中选择租户名称。
-
从下拉菜单中选择一个存储桶。
-
选择*选择并启用*。
-
-
选择 Save。
日志将存储在您指定的租户和存储桶中。日志的对象键名称采用以下格式:
system-logs/{node_hostname}/{absolute_path_to_log_file_on_node}--{last_modified_time}.gz例如:
system-logs/DC1-SN1/var/local/log/localaudit.log--2025-05-12_13:41:44.gz