将服务日志或审计日志发布到外部服务
MinIO 会将所有 minio server 操作输出到系统控制台。 如何读取这些日志取决于 server 进程的管理方式。 例如,如果 server 通过 systemd 脚本进行管理, 你可以使用 journalctl -u SERVICENAME.service 读取日志。 请将 SERVICENAME 替换为 MinIO 服务名称。
MinIO 还支持将服务日志和审计日志发布到 HTTP Webhook。
- 服务日志 包含与系统控制台中相同的
minio server操作日志。服务日志适用于常规监控与运维排障。 - 审计日志 会以更细粒度描述 MinIO 部署上的每一次操作。审计日志适用于要求对操作进行详细追踪的 安全标准与合规规范。
MinIO 会将日志作为 JSON 文档,通过 PUT 请求发送到每个已配置端点。 端点服务器负责处理这些 JSON 文档。 MinIO 要求显式配置每个 Webhook 端点,默认情况下 不会 向 Webhook 发布日志。
将服务日志发布到 HTTP Webhook
你可以通过环境变量 或 运行时配置项,配置一个新的 HTTP Webhook 端点, 让 MinIO 将 minio server 日志发布到该端点。
MinIO 支持使用 环境变量 指定 minio server 日志 HTTP Webhook 端点及其相关配置项。
下面的示例代码设置了配置日志 HTTP Webhook 端点所需的 全部 环境变量。 其中最少 必须 配置的变量为:
Windows
Linux 与 macOS
-
将
<IDENTIFIER>替换为该 HTTP Webhook 端点的唯一描述字符串。 与新日志 HTTP Webhook 相关的所有环境变量都应使用同一个<IDENTIFIER>。如果指定的
<IDENTIFIER>与现有日志端点匹配, 新设置将 覆盖 该端点的现有设置。 可使用mc admin config get logger_webhook查看当前已配置的日志 HTTP Webhook 端点。 -
将
https://webhook-1.example.net替换为 HTTP Webhook 端点的 URL。 -
将
TOKEN替换为适用于该端点的认证令牌类型。 对于无需认证的端点,可省略该项。
为支持多种令牌类型,MinIO 会按 原样 使用该值创建请求认证头。 根据端点不同,你可能需要包含额外信息。
例如,对于 Bearer token,请在前面加上 Bearer:
Windows
Linux 与 macOS
请根据端点要求调整该值。 自定义认证格式可能类似如下:
Windows
Linux 与 macOS
详情请参阅目标服务的文档。
重启 MinIO server 以应用新的配置项。 你必须在部署中的 所有 MinIO server 上指定相同的环境变量和设置。
MinIO 支持在 MinIO 部署上使用 mc admin config set 命令和 logger_webhook 配置键新增或更新日志 HTTP Webhook 端点。 应用任何新增或更新后的配置项都需要重启 MinIO 部署。
下面的示例代码设置了配置日志 HTTP Webhook 端点相关的 全部 配置项。 其中最少 必须 配置的项为 logger_webhook endpoint:
-
将
<IDENTIFIER>替换为该 HTTP Webhook 端点的唯一描述字符串。 与新日志 HTTP Webhook 相关的所有环境变量都应使用同一个<IDENTIFIER>。如果指定的
<IDENTIFIER>与现有日志端点匹配, 新设置将 覆盖 该端点的现有设置。 可使用mc admin config get logger_webhook查看当前已配置的日志 HTTP Webhook 端点。 -
将
https://webhook-1.example.net替换为 HTTP Webhook 端点的 URL。 -
将
TOKEN替换为适用于该端点的认证令牌类型。 对于无需认证的端点,可省略该项。为支持多种令牌类型,MinIO 会按 原样 使用该值创建请求认证头。 根据端点不同,你可能需要包含额外信息。
例如,对于 Bearer token,请在前面加上
Bearer:请根据端点要求调整该值。 自定义认证格式可能类似如下:
详情请参阅目标服务的文档。
将审计日志发布到 HTTP Webhook
你可以通过环境变量 或 运行时配置项,配置一个新的 HTTP Webhook 端点, 让 MinIO 将审计日志发布到该端点:
MinIO 支持使用 环境变量 指定审计日志 HTTP Webhook 端点及其相关配置项。
下面的示例代码设置了配置审计日志 HTTP Webhook 端点所需的 全部 环境变量。 其中最少 必须 配置的变量为:
Windows
Linux 与 macOS
-
将
<IDENTIFIER>替换为该 HTTP Webhook 端点的唯一描述字符串。 与新审计日志 HTTP Webhook 相关的所有环境变量都应使用同一个<IDENTIFIER>。如果指定的
<IDENTIFIER>与现有日志端点匹配, 新设置将 覆盖 该端点的现有设置。 可使用mc admin config get audit_webhook查看当前已配置的审计日志 HTTP Webhook 端点。 -
将
https://webhook-1.example.net替换为 HTTP Webhook 端点的 URL。 -
将
TOKEN替换为适用于该端点的认证令牌类型。 对于无需认证的端点,可省略该项。
为支持多种令牌类型,MinIO 会按 原样 使用该值创建请求认证头。 根据端点不同,你可能需要包含额外信息。
例如,对于 Bearer token,请在前面加上 Bearer:
Windows
Linux 与 macOS
请根据端点要求调整该值。 自定义认证格式可能类似如下:
Windows
Linux 与 macOS
详情请参阅目标服务的文档。
- 将
cert.pem和cert.key替换为要向 HTTP Webhook server 提交的 x.509 TLS 证书公钥与私钥。 对于不要求客户端出示 TLS 证书的端点,可省略该项。
重启 MinIO server 以应用新的配置项。 你必须在部署中的 所有 MinIO server 上指定相同的环境变量和设置。
MinIO 支持在 MinIO 部署上使用 mc admin config set 命令和 audit_webhook 配置键新增或更新审计日志 HTTP Webhook 端点。 应用任何新增或更新后的配置项都需要重启 MinIO 部署。
下面的示例代码设置了配置审计日志 HTTP Webhook 端点相关的 全部 配置项。 其中最少 必须 配置的项为 audit_webhook endpoint:
-
将
<IDENTIFIER>替换为该 HTTP Webhook 端点的唯一描述字符串。 与新审计日志 HTTP Webhook 相关的所有环境变量都应使用同一个<IDENTIFIER>。如果指定的
<IDENTIFIER>与现有日志端点匹配, 新设置将 覆盖 该端点的现有设置。 可使用mc admin config get audit_webhook查看当前已配置的审计日志 HTTP Webhook 端点。 -
将
https://webhook-1.example.net替换为 HTTP Webhook 端点的 URL。 -
将
TOKEN替换为适用于该端点的认证令牌类型。 对于无需认证的端点,可省略该项。为支持多种令牌类型,MinIO 会按 原样 使用该值创建请求认证头。 根据端点不同,你可能需要包含额外信息。
例如,对于 Bearer token,请在前面加上
Bearer:请根据端点要求调整该值。 自定义认证格式可能类似如下:
详情请参阅目标服务的文档。
-
将
cert.pem和cert.key替换为要向 HTTP Webhook server 提交的 x.509 TLS 证书公钥与私钥。 对于不要求客户端出示 TLS 证书的端点,可省略该项。
审计日志结构
MinIO 审计日志类似于以下 JSON 文档:
-
api.timeToFirstByte和api.timeToResponse字段以纳秒表示。 -
对于 纠删码部署,
tags.objectErasureMap提供与对象相关的以下详细信息: