文档

指标与日志设置

本页面介绍用于控制 MinIO 指标与日志相关行为的设置。 更多信息请参见 指标与告警

这些设置用于将常规 minio server 日志和审计日志发布到 HTTP webhook。 更完整的文档请参见 将服务日志或审计日志发布到外部服务

你可以通过以下方式建立或修改设置:

  • 在启动或重启 MinIO Server 之前,在宿主机系统上定义 环境变量。 如何定义环境变量,请参考所用操作系统的文档。

  • 使用 mc admin config set 定义 配置项

如果同时定义了环境变量和对应的配置项,MinIO 使用环境变量的值。

有些设置只有环境变量或配置项中的一种,而不是两者同时存在。

Important

每个配置项都会控制 MinIO 的基础行为和功能。 MinIO 强烈建议 先在 DEV 或 QA 等较低级别环境中测试配置变更,再应用到生产环境。

Prometheus 认证

此设置控制 MinIO 如何向 Prometheus 进行认证。

MINIO_PROMETHEUS_AUTH_TYPE

此设置没有对应的配置项。

指定 Prometheus 抓取端点 的认证模式。

  • jwt - 默认 MinIO 要求抓取客户端提供 JWT token 以认证请求。

    使用 mc admin prometheus generate 生成所需的 JWT bearer token。

  • public MinIO 不要求抓取客户端对其请求进行认证。

服务器日志

以下部分介绍将 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

MINIO_LOGGER_WEBHOOK_ENABLE

指定 "on" 以启用将 minio server 日志发布到 HTTP webhook 端点。

需要同时指定 MINIO_LOGGER_WEBHOOK_ENDPOINT

logger_webhook

用于配置将日志发送到 HTTP webhook 端点的顶层配置键。

端点

必填

MINIO_LOGGER_WEBHOOK_ENDPOINT
logger_webhook endpoint

webhook 的 HTTP 端点。

认证 Token

可选

MINIO_LOGGER_WEBHOOK_AUTH_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

可选

MINIO_LOGGER_WEBHOOK_BATCH_SIZE
logger_webhook batch_size

按批次收集并发送指定数量的事件到 webhook。 如果未设置,MinIO 每个请求发送一个事件。

客户端证书

可选

还需要同时设置 Client Key

MINIO_LOGGER_WEBHOOK_CLIENT_CERT
logger_webhook client_cert

用于向 webhook logger 认证的 mTLS 证书路径。

客户端密钥

可选

如果定义了 Client Certificate,则为必填。

MINIO_LOGGER_WEBHOOK_CLIENT_KEY
logger_webhook client_key

用于向 webhook logger 服务认证的 mTLS 证书密钥路径。

代理

可选

MINIO_LOGGER_WEBHOOK_PROXY
logger_webhook proxy

New in version MinIO: RELEASE.2023-02-22T18-23-45Z

定义在 MinIO 与外部 webhook 通信时供 webhook logger 使用的代理。

队列目录

可选

New in version RELEASE.2023-05-18T00-05-36Z.

MINIO_LOGGER_WEBHOOK_QUEUE_DIR
logger_webhook queue_dir

指定目录路径(例如 /opt/minio/events)以启用 MinIO 对未投递消息的持久事件存储。 MinIO 进程必须对指定目录具有读取、写入和列举权限。

当 webhook 服务离线时,MinIO 会将未投递事件存储到指定存储中,并在连接恢复后回放这些事件。

队列大小

可选

MINIO_LOGGER_WEBHOOK_QUEUE_SIZE
logger_webhook queue_size

用于 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 目标设置为 primarysecondary

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 配置项。

端点

必填

MINIO_AUDIT_WEBHOOK_ENDPOINT
audit_webhook endpoint

webhook 的 HTTP 端点。

认证 Token

可选

MINIO_AUDIT_WEBHOOK_AUTH_TOKEN
audit_webhook auth_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

可选

MINIO_AUDIT_WEBHOOK_BATCH_SIZE
audit_webhook batch_size

按批次收集并发送指定数量的事件到 webhook。 如果未设置,MinIO 每个请求发送一个事件。

客户端证书

可选

MINIO_AUDIT_WEBHOOK_CLIENT_CERT

还需要同时指定 MINIO_AUDIT_WEBHOOK_CLIENT_KEY

audit_webhook client_cert

还需要同时指定 client_key

提交给 HTTP webhook 的 x.509 客户端证书。 对于不要求客户端提供已知 TLS 证书的 webhook 可省略。

客户端密钥

可选

MINIO_AUDIT_WEBHOOK_CLIENT_KEY

还需要同时指定 MINIO_AUDIT_WEBHOOK_CLIENT_CERT

audit_webhook client_key

需要指定 client_cert

提交给 HTTP webhook 的 x.509 私钥。 对于不要求客户端提供已知 TLS 证书的 webhook 可省略。

队列目录

可选

MINIO_AUDIT_WEBHOOK_QUEUE_DIR
audit_webhook queue_dir

New in version RELEASE.2023-05-18T00-05-36Z.

指定目录路径(例如 /opt/minio/events)以启用 MinIO 对未投递消息的持久事件存储。 MinIO 进程必须对指定目录具有读取、写入和列举权限。

当 webhook 服务离线时,MinIO 会将未投递事件存储到指定存储中,并在连接恢复后回放这些事件。

队列大小

可选

MINIO_AUDIT_WEBHOOK_QUEUE_SIZE
audit_webhook queue_size

用于 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

必填

MINIO_AUDIT_KAFKA_ENABLE

设置为 "on" 以启用该目标。

设置为 "off" 以禁用该目标。

该值没有对应的配置项。 使用环境变量可禁用已配置的 audit webhook 目标。

Brokers

必填

MINIO_AUDIT_KAFKA_BROKERS
audit_kafka brokers

Kafka broker 地址的逗号分隔列表:

brokers="https://kafka-1.example.net:9092,https://kafka-2.example.net:9092"

至少必须有一个 broker 在线且 MinIO server 可达,才能初始化并发送审计日志事件。 MinIO 会按指定顺序检查每个 broker。

Topic

必填

MINIO_AUDIT_KAFKA_TOPIC
audit_kafka topic

与 MinIO 审计日志事件关联的 Kafka topic 名称。

TLS

可选

MINIO_AUDIT_KAFKA_TLS
audit_kafka tls

设置为 "on" 以启用到指定 Kafka brokers 的 TLS 连接。

默认值为 "off"

TLS Skip Verify

可选

MINIO_AUDIT_KAFKA_TLS_SKIP_VERIFY
audit_kafka tls_skip_verify

设置为 "on" 以指示 MinIO 跳过对 Kafka broker TLS 证书的校验。

你可以使用该选项连接使用未知签发方 TLS 证书的 Kafka brokers,例如自签名证书或企业内部 CA(Certificate Authorities)签发的证书。

默认情况下,MinIO 会同时使用系统信任库*以及* MinIO CA directory 中的内容来校验远端客户端 TLS 证书。

默认值为 "off",即严格校验 TLS 证书。

SASL

可选

MINIO_AUDIT_KAFKA_SASL

需要指定 MINIO_AUDIT_KAFKA_SASL_USERNAMEMINIO_AUDIT_KAFKA_SASL_PASSWORD

audit_kafka sasl

需要指定 sasl_usernamesasl_password

设置为 "on" 以指示 MinIO 使用 SASL 对 Kafka brokers 进行认证。

SASL Username

可选

MINIO_AUDIT_KAFKA_SASL_USERNAME

需要指定 MINIO_AUDIT_KAFKA_SASLMINIO_AUDIT_KAFKA_SASL_PASSWORD

audit_kafka sasl_username

需要指定 saslsasl_password

MinIO 用于对 Kafka brokers 进行认证的 SASL 用户名。

SASL Password

可选

MINIO_AUDIT_KAFKA_SASL_PASSWORD

需要指定 MINIO_AUDIT_KAFKA_SASLMINIO_AUDIT_KAFKA_SASL_USERNAME

audit_kafka sasl_password

需要指定 saslsasl_username

MinIO 用于对 Kafka brokers 进行认证的 SASL 密码。

SASL Mechanism

可选

MINIO_AUDIT_KAFKA_SASL_MECHANISM

Important

PLAIN 认证机制会以明文形式在网络中传输凭据。 使用 MINIO_AUDIT_KAFKA_TLS 以启用到 Kafka brokers 的 TLS 连接,并确保 SASL 凭据安全传输。

audit_kafka sasl_mechanism

Important

PLAIN 认证机制会以明文形式在网络中传输凭据。 使用 tls 以启用到 Kafka brokers 的 TLS 连接,并确保 SASL 凭据安全传输。

MinIO 用于对 Kafka brokers 进行认证的 SASL 机制。

默认值为 plain

TLS Client Auth

可选

MINIO_AUDIT_KAFKA_TLS_CLIENT_AUTH

需要指定 MINIO_AUDIT_KAFKA_CLIENT_TLS_CERTMINIO_AUDIT_KAFKA_CLIENT_TLS_KEY

audit_kafka tls_client_auth

需要指定 client_tls_certclient_tls_key

设置为 "on" 以指示 MinIO 使用 mTLS 对 Kafka brokers 进行认证。

Client TLS Certificate

可选

MINIO_AUDIT_KAFKA_CLIENT_TLS_CERT
audit_kafka client_tls_cert

用于 mTLS 认证的 TLS 客户端证书路径。

Client TLS Key

可选

MINIO_AUDIT_KAFKA_CLIENT_TLS_KEY
audit_kafka client_tls_key

用于 mTLS 认证的 TLS 客户端私钥路径。

Version

可选

MINIO_AUDIT_KAFKA_VERSION
audit_kafka version

MinIO 在指定端点期望的 Kafka broker 版本。

如果 Kafka broker 版本与此设置指定的不匹配,MinIO 会返回错误。

Comment

可选

MINIO_AUDIT_KAFKA_COMMENT
audit_kafka comment

与该配置关联的注释。

队列目录

可选

MINIO_AUDIT_KAFKA_QUEUE_DIR
audit_kafka queue_dir

指定目录路径(例如 /opt/minio/events)以启用 MinIO 对未投递消息的持久事件存储。

当 Kafka 服务离线时,MinIO 会将未投递事件存储到指定存储中,并在连接恢复后回放这些事件。

队列大小

可选

MINIO_AUDIT_KAFKA_QUEUE_SIZE
audit_kafka queue_size

指定未投递消息的最大上限。 默认值为 100000