指标与日志设置
本页面介绍用于控制 MinIO 指标与日志相关行为的设置。 更多信息请参见 指标与告警。
这些设置用于将常规 minio server 日志和审计日志发布到 HTTP webhook。
更完整的文档请参见 将服务日志或审计日志发布到外部服务。
你可以通过以下方式建立或修改设置:
在启动或重启 MinIO Server 之前,在宿主机系统上定义 环境变量。 如何定义环境变量,请参考所用操作系统的文档。
使用
mc admin config set定义 配置项。
如果同时定义了环境变量和对应的配置项,MinIO 使用环境变量的值。
有些设置只有环境变量或配置项中的一种,而不是两者同时存在。
Important
每个配置项都会控制 MinIO 的基础行为和功能。 MinIO 强烈建议 先在 DEV 或 QA 等较低级别环境中测试配置变更,再应用到生产环境。
Prometheus 认证
此设置控制 MinIO 如何向 Prometheus 进行认证。
指定 Prometheus 抓取端点 的认证模式。
jwt- 默认 MinIO 要求抓取客户端提供 JWT token 以认证请求。使用
mc admin prometheus generate生成所需的 JWT bearer token。
publicMinIO 不要求抓取客户端对其请求进行认证。
服务器日志
以下部分介绍将 minio server 日志发布到 HTTP webhook 端点的 MinIO 配置设置。
有关这些设置的更完整文档和使用教程,请参见 将服务日志发布到 HTTP Webhook。
定义多个端点
你可以通过为每组相关日志环境变量追加唯一标识符 _ID,将多个 webhook 端点指定为日志目标。
例如,以下设置定义了两个不同的服务器日志 webhook 端点:
export MINIO_LOGGER_WEBHOOK_ENABLE_PRIMARY="on"
export MINIO_LOGGER_WEBHOOK_AUTH_TOKEN_PRIMARY="TOKEN"
export MINIO_LOGGER_WEBHOOK_ENDPOINT_PRIMARY="http://webhook-1.example.net"
export MINIO_LOGGER_WEBHOOK_ENABLE_SECONDARY="on"
export MINIO_LOGGER_WEBHOOK_AUTH_TOKEN_SECONDARY="TOKEN"
export MINIO_LOGGER_WEBHOOK_ENDPOINT_SECONDARY="http://webhook-2.example.net"
mc admin config set logger_webhook:primary \
endpoint="http://webhook-01.example.net" [ARGUMENTS=VALUE ...]
mc admin config set logger_webhook:secondary \
endpoint="http://webhook-02.example.net" [ARGUMENTS=VALUE ...]
设置
Enable
指定 "on" 以启用将 minio server 日志发布到 HTTP webhook 端点。
需要同时指定 MINIO_LOGGER_WEBHOOK_ENDPOINT。
端点
必填
webhook 的 HTTP 端点。
认证 Token
可选
端点所需类型的认证 token。 对于不需要认证的端点可省略。
为支持多种 token 类型,MinIO 会使用*完全按原样指定*的值构造请求认证头。 具体端点可能要求你附加额外信息。
例如:对于 Bearer token,请添加前缀 Bearer:
export MINIO_LOGGER_WEBHOOK_AUTH_TOKEN_myendpoint="Bearer 1a2b3c4f5e"
请根据端点要求调整该值。 自定义认证格式可能类似如下:
export MINIO_LOGGER_WEBHOOK_AUTH_TOKEN_xyz="ServiceXYZ 1a2b3c4f5e"
详情请参阅目标服务的文档。
该环境变量对应 logger_webhook auth_token 配置项。
- logger_webhook auth_token
端点所需类型的认证 token。 对于不需要认证的端点可省略。
为支持多种 token 类型,MinIO 会使用*完全按原样指定*的值构造请求认证头。 具体端点可能要求你附加额外信息。
例如:对于 Bearer token,请添加前缀
Bearer:mc admin config set myminio logger_webhook \ endpoint="https://webhook-1.example.net" \ auth_token="Bearer 1a2b3c4f5e"
请根据端点要求调整该值。 自定义认证格式可能类似如下:
mc admin config set myminio logger_webhook \ endpoint="https://webhook-1.example.net" \ auth_token="ServiceXYZ 1a2b3c4f5e"
详情请参阅目标服务的文档。
批大小
New in version MinIO: Server RELEASE.2024-03-10T02-53-48Z
可选
按批次收集并发送指定数量的事件到 webhook。 如果未设置,MinIO 每个请求发送一个事件。
客户端证书
可选
还需要同时设置 Client Key。
用于向 webhook logger 认证的 mTLS 证书路径。
客户端密钥
可选
如果定义了 Client Certificate,则为必填。
用于向 webhook logger 服务认证的 mTLS 证书密钥路径。
代理
可选
定义在 MinIO 与外部 webhook 通信时供 webhook logger 使用的代理。
队列目录
可选
New in version RELEASE.2023-05-18T00-05-36Z.
指定目录路径(例如 /opt/minio/events)以启用 MinIO 对未投递消息的持久事件存储。
MinIO 进程必须对指定目录具有读取、写入和列举权限。
当 webhook 服务离线时,MinIO 会将未投递事件存储到指定存储中,并在连接恢复后回放这些事件。
队列大小
可选
用于 logger webhook 目标队列大小的整数值。
Webhook 审计日志
以下部分介绍用于将审计日志发布到 HTTP webhook 端点的 MinIO 环境变量。 有关这些环境变量的更完整文档和使用教程,请参见 将审计日志发布到 HTTP Webhook。
多个目标
你可以通过为每组相关日志设置追加唯一标识符 _ID,将多个 webhook 端点指定为审计日志目标。
例如,以下命令设置了两个不同的审计日志 webhook 端点:
export MINIO_AUDIT_WEBHOOK_ENABLE_PRIMARY="on"
export MINIO_AUDIT_WEBHOOK_AUTH_TOKEN_PRIMARY="TOKEN"
export MINIO_AUDIT_WEBHOOK_ENDPOINT_PRIMARY="http://webhook-1.example.net"
export MINIO_AUDIT_WEBHOOK_CLIENT_CERT_SECONDARY="/tmp/cert.pem"
export MINIO_AUDIT_WEBHOOK_CLIENT_KEY_SECONDARY="/tmp/key.pem"
export MINIO_AUDIT_WEBHOOK_ENABLE_SECONDARY="on"
export MINIO_AUDIT_WEBHOOK_AUTH_TOKEN_SECONDARY="TOKEN"
export MINIO_AUDIT_WEBHOOK_ENDPOINT_SECONDARY="http://webhook-1.example.net"
export MINIO_AUDIT_WEBHOOK_CLIENT_CERT_SECONDARY="/tmp/cert.pem"
export MINIO_AUDIT_WEBHOOK_CLIENT_KEY_SECONDARY="/tmp/key.pem"
- audit_webhook
用于定义 HTTP webhook 目标并发布 MinIO audit logs 的顶层配置键。
使用
mc admin config set设置或更新 HTTP webhook 目标。 以空格(" ")分隔列表的形式指定其他可选参数。mc admin config set audit_webhook \ endpoint="http://webhook.example.net" [ARGUMENTS=VALUE ...]
你可以通过在顶层键后追加
[:name]来指定多个 HTTP webhook 目标。 例如,以下命令分别将两个不同的 HTTP webhook 目标设置为primary和secondary:mc admin config set audit_webhook:primary \ endpoint="http://webhook-01.example.net" [ARGUMENTS=VALUE ...] mc admin config set audit_webhook:secondary \ endpoint="http://webhook-02.example.net" [ARGUMENTS=VALUE ...]
设置
Enable
- MINIO_AUDIT_WEBHOOK_ENABLE
指定
"on"以启用向 HTTP webhook 端点发布审计日志。需要同时指定
MINIO_AUDIT_WEBHOOK_ENDPOINT。
配置一个 audit webhook 即表示启用该目标。
不存在单独的 enable 配置项。
端点
必填
webhook 的 HTTP 端点。
认证 Token
可选
端点所需类型的认证 token。 对于不需要认证的端点可省略。
为支持多种 token 类型,MinIO 会使用*完全按原样指定*的值构造请求认证头。 具体端点可能要求你附加额外信息。
例如,对于 Bearer token,请添加前缀 Bearer:
export MINIO_AUDIT_WEBHOOK_AUTH_TOKEN_myendpoint="Bearer 1a2b3c4f5e"
请根据端点要求调整该值。
自定义认证格式可能类似如下:
export MINIO_AUDIT_WEBHOOK_AUTH_TOKEN_xyz="ServiceXYZ 1a2b3c4f5e"
mc admin config set myminio audit_webhook \
endpoint="http://webhook.example.net" \
auth_token="Bearer 1a2b3c4f5e"
请根据端点要求调整该值。
自定义认证格式的命令可能类似如下:
mc admin config set myminio audit_webhook \
endpoint="http://webhook.example.net" \
auth_token="ServiceXYZ 1a2b3c4f5e"
详情请参阅目标服务的文档。
批大小
New in version MinIO: Server RELEASE.2024-03-10T02-53-48Z
可选
按批次收集并发送指定数量的事件到 webhook。 如果未设置,MinIO 每个请求发送一个事件。
客户端证书
可选
还需要同时指定 MINIO_AUDIT_WEBHOOK_CLIENT_KEY。
还需要同时指定 client_key。
提交给 HTTP webhook 的 x.509 客户端证书。 对于不要求客户端提供已知 TLS 证书的 webhook 可省略。
客户端密钥
可选
还需要同时指定 MINIO_AUDIT_WEBHOOK_CLIENT_CERT。
需要指定 client_cert。
提交给 HTTP webhook 的 x.509 私钥。 对于不要求客户端提供已知 TLS 证书的 webhook 可省略。
队列目录
可选
New in version RELEASE.2023-05-18T00-05-36Z.
指定目录路径(例如 /opt/minio/events)以启用 MinIO 对未投递消息的持久事件存储。
MinIO 进程必须对指定目录具有读取、写入和列举权限。
当 webhook 服务离线时,MinIO 会将未投递事件存储到指定存储中,并在连接恢复后回放这些事件。
队列大小
可选
用于 audit webhook 目标队列大小的整数值。
默认值为 100000 个事件。
Kafka 审计日志
以下部分介绍用于将审计日志发布到 Kafka broker 的 MinIO 环境变量。
- audit_kafka
用于定义 Kafka broker 目标并发布 MinIO audit logs 的顶层配置键。
使用
mc admin config set设置或更新 Kafka 审计目标。 以空格(" ")分隔列表的形式指定其他可选参数。mc admin config set audit_kafka \ brokers="https://kafka-endpoint.example.net:9092" [ARGUMENTS=VALUE ...]
设置
Enable
必填
Brokers
必填
Kafka broker 地址的逗号分隔列表:
brokers="https://kafka-1.example.net:9092,https://kafka-2.example.net:9092"
至少必须有一个 broker 在线且 MinIO server 可达,才能初始化并发送审计日志事件。 MinIO 会按指定顺序检查每个 broker。
Topic
必填
与 MinIO 审计日志事件关联的 Kafka topic 名称。
TLS
可选
设置为 "on" 以启用到指定 Kafka brokers 的 TLS 连接。
默认值为 "off"。
TLS Skip Verify
可选
设置为 "on" 以指示 MinIO 跳过对 Kafka broker TLS 证书的校验。
你可以使用该选项连接使用未知签发方 TLS 证书的 Kafka brokers,例如自签名证书或企业内部 CA(Certificate Authorities)签发的证书。
默认情况下,MinIO 会同时使用系统信任库*以及* MinIO CA directory 中的内容来校验远端客户端 TLS 证书。
默认值为 "off",即严格校验 TLS 证书。
SASL
可选
需要指定 sasl_username 和 sasl_password。
设置为 "on" 以指示 MinIO 使用 SASL 对 Kafka brokers 进行认证。
SASL Username
可选
需要指定 sasl 和 sasl_password。
MinIO 用于对 Kafka brokers 进行认证的 SASL 用户名。
SASL Password
可选
需要指定 sasl 和 sasl_username。
MinIO 用于对 Kafka brokers 进行认证的 SASL 密码。
SASL Mechanism
可选
Important
PLAIN 认证机制会以明文形式在网络中传输凭据。
使用 MINIO_AUDIT_KAFKA_TLS 以启用到 Kafka brokers 的 TLS 连接,并确保 SASL 凭据安全传输。
Important
PLAIN 认证机制会以明文形式在网络中传输凭据。
使用 tls 以启用到 Kafka brokers 的 TLS 连接,并确保 SASL 凭据安全传输。
MinIO 用于对 Kafka brokers 进行认证的 SASL 机制。
默认值为 plain。
TLS Client Auth
可选
需要指定 client_tls_cert 和 client_tls_key。
设置为 "on" 以指示 MinIO 使用 mTLS 对 Kafka brokers 进行认证。
Client TLS Certificate
可选
用于 mTLS 认证的 TLS 客户端证书路径。
Client TLS Key
可选
用于 mTLS 认证的 TLS 客户端私钥路径。
Version
可选
MinIO 在指定端点期望的 Kafka broker 版本。
如果 Kafka broker 版本与此设置指定的不匹配,MinIO 会返回错误。
Comment
可选
与该配置关联的注释。
队列目录
可选
指定目录路径(例如 /opt/minio/events)以启用 MinIO 对未投递消息的持久事件存储。
当 Kafka 服务离线时,MinIO 会将未投递事件存储到指定存储中,并在连接恢复后回放这些事件。
队列大小
可选
指定未投递消息的最大上限。
默认值为 100000。