文档

指标和日志设置

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

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

您可以通过定义以下内容来建立或修改设置

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

  • 使用 mc admin config set 设置一个配置设置

  • 使用 MinIO 控制台的 管理员 > 设置 页面设置一个配置设置

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

某些设置只有环境变量或配置设置,但不会同时存在。

重要

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

Prometheus 身份验证

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

MINIO_PROMETHEUS_AUTH_TYPE

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

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

  • jwt - 默认 MinIO 要求抓取客户端指定 JWT 令牌以对请求进行身份验证。

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

  • 公有版 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

set MINIO_LOGGER_WEBHOOK_AUTH_TOKEN_myendpoint="Bearer 1a2b3c4f5e"

根据端点要求修改值。自定义身份验证格式可能如下所示

set 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

定义用于发布 MinIO 审计日志 的 HTTP Webhook 目标的顶级配置密钥。

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

set MINIO_AUDIT_WEBHOOK_AUTH_TOKEN_myendpoint="Bearer 1a2b3c4f5e"

根据端点要求修改值。

自定义身份验证格式可能如下所示

set 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 证书的验证。

您可以使用此选项启用与使用未知方签名的 TLS 证书(例如自签名证书或公司内部证书颁发机构 (CA))的 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 或启用 TLS 连接到 Kafka 代理,并确保 SASL 凭据的安全传输。

audit_kafka sasl_mechanism

重要

PLAIN 身份验证机制会通过网络以明文方式发送凭据。使用 tls 启用 TLS 连接到 Kafka 代理,并确保 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 代理版本。

如果 Kakfa 代理版本与为此设置指定的版本不匹配,则 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