文档

指标和日志记录设置

此页面涵盖了控制 MinIO 指标和日志记录相关行为的设置。有关更多信息,请参阅 指标和警报

这些设置配置将常规的 minio server 日志和审计日志发布到 HTTP webhook。有关更完整的文档,请参阅 将服务器或审计日志发布到外部服务

您可以通过定义以下方式来建立或修改设置:

  • 在启动或重新启动 MinIO 服务器之前,在主机系统上设置一个环境变量。有关如何定义环境变量的信息,请参阅您操作系统的文档。

  • 使用 mc admin config set配置设置

如果您同时定义了环境变量和类似的配置设置,MinIO 将使用环境变量的值。

有些设置只有环境变量或配置设置,但不是两者都有。

重要

每个配置设置都控制着 MinIO 的基本行为和功能。MinIO 强烈建议在将配置更改应用于生产环境之前,在较低的环境(如 DEV 或 QA)中进行测试。

Prometheus 身份验证

此设置控制 MinIO 如何向 Prometheus 进行身份验证。

MINIO_PROMETHEUS_AUTH_TYPE

此设置没有配置设置选项。

指定 Prometheus 抓取端点 的身份验证模式。

  • jwt - 默认值 MinIO 要求抓取客户端指定一个 JWT 令牌来验证请求。

    使用 mc admin prometheus generate 生成必要的 JWT 持有者令牌。

  • public MinIO 不要求抓取客户端验证其请求。

服务器日志

以下部分记录了用于配置 MinIO 将 minio server 日志发布到 HTTP webhook 端点的设置。有关使用这些设置的更完整文档和教程,请参阅 将服务器日志发布到 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 ...]

设置

启用

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 端点。

身份验证令牌

可选

MINIO_LOGGER_WEBHOOK_AUTH_TOKEN

适用于该端点的适当类型的身份验证令牌。对于不需要身份验证的端点,请省略此项。

为了支持多种令牌类型,MinIO 会完全按照指定的值来创建请求的身份验证标头。根据端点的不同,您可能需要包含额外的信息。

例如:对于 Bearer 令牌,前缀为 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

适用于该端点的适当类型的身份验证令牌。对于不需要身份验证的端点,请省略此项。

为了支持多种令牌类型,MinIO 会完全按照指定的值来创建请求的身份验证标头。根据端点的不同,您可能需要包含额外的信息。

例如:对于 Bearer 令牌,前缀为 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"

有关更多详细信息,请查阅所需服务的文档。

批处理大小

MinIO 版本新增:Server RELEASE.2024-03-10T02-53-48Z

可选

MINIO_LOGGER_WEBHOOK_BATCH_SIZE
logger_webhook batch_size

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

客户端证书

可选

还需要设置客户端密钥

MINIO_LOGGER_WEBHOOK_CLIENT_CERT
logger_webhook client_cert

用于向 webhook 日志记录器进行身份验证的 mTLS 证书的路径。

客户端密钥

可选

如果您定义了客户端证书,则此项为必需。

MINIO_LOGGER_WEBHOOK_CLIENT_KEY
logger_webhook client_key

用于向 webhook 日志记录器服务进行身份验证的 mTLS 证书密钥的路径。

代理

可选

MINIO_LOGGER_WEBHOOK_PROXY
logger_webhook proxy

MinIO 版本新增:RELEASE.2023-02-22T18-23-45Z

当 MinIO 与外部 webhook 通信时,为 webhook 日志记录器定义一个要使用的代理。

队列目录

可选

在版本 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

一个整数值,用于设置日志记录器 webhook 目标的队列大小。

Webhook 审计日志

以下部分记录了用于配置 MinIO 将审计日志发布到 HTTP webhook 端点的环境变量。有关使用这些环境变量的更完整文档和教程,请参阅 将审计日志发布到 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 审计日志 的顶级配置键。

使用 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 ...]

设置

启用

MINIO_AUDIT_WEBHOOK_ENABLE

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

需要指定 MINIO_AUDIT_WEBHOOK_ENDPOINT

配置一个审计 webhook 以启用它。没有单独的 enable 配置设置。

端点

必需

MINIO_AUDIT_WEBHOOK_ENDPOINT
audit_webhook endpoint

webhook 的 HTTP 端点。

身份验证令牌

可选

MINIO_AUDIT_WEBHOOK_AUTH_TOKEN
audit_webhook auth_token

适用于该端点的适当类型的身份验证令牌。对于不需要身份验证的端点,请省略此项。

为了支持多种令牌类型,MinIO 会完全按照指定的值来创建请求的身份验证标头。根据端点的不同,您可能需要包含额外的信息。

例如,对于 Bearer 令牌,前缀为 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"

有关更多详细信息,请查阅所需服务的文档。

批处理大小

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

在版本 RELEASE.2023-05-18T00-05-36Z 中新增。

指定目录路径,例如 /opt/minio/events,以启用 MinIO 的持久事件存储,用于存储未送达的消息。MinIO 进程必须对指定的目录具有读取、写入和列出访问权限。

当 webhook 服务离线时,MinIO 会将未送达的事件存储在指定的存储中,并在连接恢复后重新播放存储的事件。

队列大小

可选

MINIO_AUDIT_WEBHOOK_QUEUE_SIZE
audit_webhook queue_size

一个整数值,用于设置审计 webhook 目标的队列大小。默认值为 100000 个事件。

Kafka 审计日志

以下部分记录了用于配置 MinIO 将审计日志发布到 Kafka 代理的环境变量。

audit_kafka

用于定义 Kafka 代理目标以发布 MinIO 审计日志 的顶级配置键。

使用 mc admin config set 设置或更新 Kafka 审计目标。将其他可选参数指定为空格 (" ") 分隔的列表。

mc admin config set audit_kafka \
   brokers="https://kafka-endpoint.example.net:9092" [ARGUMENTS=VALUE ...]

设置

启用

必需

MINIO_AUDIT_KAFKA_ENABLE

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

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

此值没有对应的配置设置。使用环境变量来禁用已配置的审计 webhook 目标。

代理

必需

MINIO_AUDIT_KAFKA_BROKERS
audit_kafka brokers

逗号分隔的 Kafka 代理地址列表。

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

至少有一个代理必须在线并且 MinIO 服务器可以访问,才能初始化和发送审计日志事件。MinIO 按照指定顺序检查每个指定的代理。

主题

必需

MINIO_AUDIT_KAFKA_TOPIC
audit_kafka topic

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

TLS

可选

MINIO_AUDIT_KAFKA_TLS
audit_kafka tls

设置为 "on" 以启用与指定 Kafka 代理的 TLS 连接。

默认为 "off"

跳过 TLS 验证

可选

MINIO_AUDIT_KAFKA_TLS_SKIP_VERIFY
audit_kafka tls_skip_verify

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

您可以使用此选项来启用与使用由未知方(如自签名或公司内部证书颁发机构 (CA))签名的 TLS 证书的 Kafka 代理的连接。

MinIO 默认使用系统信任存储 MinIO CA 目录 的内容来验证远程客户端 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 代理进行身份验证。

SASL 用户名

可选

MINIO_AUDIT_KAFKA_SASL_USERNAME

需要指定 MINIO_AUDIT_KAFKA_SASLMINIO_AUDIT_KAFKA_SASL_PASSWORD

audit_kafka sasl_username

需要指定 saslsasl_password

MinIO 用于对 Kafka 代理进行身份验证的 SASL 用户名。

SASL 密码

可选

MINIO_AUDIT_KAFKA_SASL_PASSWORD

需要指定 MINIO_AUDIT_KAFKA_SASLMINIO_AUDIT_KAFKA_SASL_USERNAME

audit_kafka sasl_password

需要指定 saslsasl_username

MinIO 用于对 Kafka 代理进行身份验证的 SASL 密码。

SASL 机制

可选

MINIO_AUDIT_KAFKA_SASL_MECHANISM

重要

PLAIN 身份验证机制以纯文本形式通过网络发送凭据。使用 MINIO_AUDIT_KAFKA_TLS 启用与 Kafka 代理的 TLS 连接,以确保 SASL 凭据的安全传输。

audit_kafka sasl_mechanism

重要

PLAIN 身份验证机制以纯文本形式通过网络发送凭据。使用 tls 启用与 Kafka 代理的 TLS 连接,以确保 SASL 凭据的安全传输。

MinIO 用于对 Kafka 代理进行身份验证的 SASL 机制。

默认为 plain

TLS 客户端身份验证

可选

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 代理进行身份验证。

客户端 TLS 证书

可选

MINIO_AUDIT_KAFKA_CLIENT_TLS_CERT
audit_kafka client_tls_cert

用于 mTLS 身份验证的 TLS 客户端证书的路径。

客户端 TLS 密钥

可选

MINIO_AUDIT_KAFKA_CLIENT_TLS_KEY
audit_kafka client_tls_key

用于 mTLS 身份验证的 TLS 客户端私钥的路径。

版本

可选

MINIO_AUDIT_KAFKA_VERSION
audit_kafka version

MinIO 期望在指定端点处的 Kafka 代理版本。

如果 Kafka 代理版本与此设置中指定的版本不匹配,MinIO 将返回错误。

注释

可选

MINIO_AUDIT_KAFKA_COMMENT
audit_kafka comment

与配置关联的注释。

队列目录

可选

MINIO_AUDIT_KAFKA_QUEUE_DIR
audit_kafka queue_dir

指定目录路径以启用 MinIO 的持久事件存储,用于存储未送达的消息,例如 /opt/minio/events

当 Kafka 服务离线时,MinIO 会将未送达的事件存储在指定的存储中,并在连接恢复后重新播放存储的事件。

队列大小

可选

MINIO_AUDIT_KAFKA_QUEUE_SIZE
audit_kafka queue_size

指定未送达消息的最大限制。默认为 100000

English 中文