Elasticsearch 通知设置
本文档介绍如何配置 Elasticsearch 服务作为 存储桶通知 的目标。 有关如何使用这些设置的教程,请参阅 将事件发布到 Elasticsearch。
你可以通过以下方式建立或修改设置:
- 在启动或重启 MinIO Server 之前,在宿主机系统上定义 环境变量。 如何定义环境变量,请参考所用操作系统的文档。
- 使用
mc admin config set定义 配置项。
如果同时定义了环境变量和对应的配置项,MinIO 使用环境变量的值。
有些设置只有环境变量或配置项中的一种,而不是两者同时存在。
重要
每个配置项都会控制 MinIO 的基础行为和功能。 MinIO 强烈建议 先在 DEV 或 QA 等较低级别环境中测试配置变更,再应用到生产环境。
多个 Elasticsearch 目标
可通过为每组相关设置追加唯一标识符 _ID 来指定多个 Elasticsearch 服务端点。 例如,以下命令分别将两个不同的 Elasticsearch 服务端点设置为 PRIMARY 和 SECONDARY:
示例
export MINIO_NOTIFY_ELASTICSEARCH_ENABLE_PRIMARY="on"
export MINIO_NOTIFY_ELASTICSEARCH_URL_PRIMARY="https://user:[email protected]:9200"
export MINIO_NOTIFY_ELASTICSEARCH_INDEX_PRIMARY="bucketevents"
export MINIO_NOTIFY_ELASTICSEARCH_FORMAT_PRIMARY="namespace"
export MINIO_NOTIFY_ELASTICSEARCH_ENABLE_SECONDARY="on"
export MINIO_NOTIFY_ELASTICSEARCH_URL_SECONDARY="https://user:[email protected]:9200"
export MINIO_NOTIFY_ELASTICSEARCH_INDEX_SECONDARY="bucketevents"
export MINIO_NOTIFY_ELASTICSEARCH_FORMAT_SECONDARY="namespace"
mc admin config set notify_elasticsearch:primary \
url="user:password@https://elasticsearch-endpoint.example.net:9200" \
index="bucketevents" \
format="namespace" \
[ARGUMENT=VALUE ...]
mc admin config set notify_elasticsearch:secondary \
url="user:password@https://elasticsearch-endpoint.example.net:9200" \
index="bucketevents" \
format="namespace" \
[ARGUMENT=VALUE ...]
注意,对于配置设置,唯一标识符只追加到 notify_elasticsearch,而不是每个单独参数。
设置
启用
必需
MINIO_NOTIFY_ELASTICSEARCH_ENABLE
envvar
指定 on 以启用将存储桶通知发布到 Elasticsearch 服务端点。
默认为 off。
如果设置为 on,则还必须指定以下环境变量:
notify_elasticsearch
mc-conf
用于定义 Elasticsearch 服务端点以配合 MinIO bucket notifications 使用的顶级配置键。
使用 mc admin config set 设置或更新 Elasticsearch 服务端点。 对于每个目标,以下参数为必需:
其他可选参数以空白字符(" ")分隔的列表形式指定。
mc admin config set notify_elasticsearch \
url="https://user:[email protected]:9200" \
[ARGUMENT="VALUE"] ... \
URL
必需
MINIO_NOTIFY_ELASTICSEARCH_URL
envvar
notify_elasticsearch url
mc-conf
指定 MinIO 将存储桶事件发布到的 Elasticsearch 服务端点。 例如:https://elasticsearch.example.com:9200。
MinIO 支持通过 URL 参数传递认证信息,格式为 PROTOCOL://USERNAME:PASSWORD@HOSTNAME:PORT。
变更: RELEASE.2023-05-27T05-56-19Z
在添加目标之前,如果指定的 URL 可解析且可达, MinIO 会先检查其健康状态。 如果现有目标处于离线状态,MinIO 也不再阻止添加新的通知目标。
Index
必需
MINIO_NOTIFY_ELASTICSEARCH_INDEX
envvar
notify_elasticsearch index
mc-conf
指定用于存储或更新 MinIO 存储桶事件的 Elasticsearch index 名称。 如果 index 不存在,Elasticsearch 会自动创建。
Format
必需
MINIO_NOTIFY_ELASTICSEARCH_FORMAT
envvar
notify_elasticsearch format
mc-conf
指定写入 Elasticsearch index 的事件数据格式。 MinIO 支持以下取值:
namespace
对于每个存储桶事件,MinIO 会创建一个 JSON 文档,以事件中的存储桶名和对象名作为文档 ID,并将实际事件作为文档正文的一部分。 对该对象的后续更新会修改该对象在 index 中的现有条目。 同样,删除该对象也会删除对应的 index 条目。
access
对于每个存储桶事件,MinIO 会创建一个包含事件详情的 JSON 文档,并以 Elasticsearch 生成的随机 ID 将其追加到 index。 对对象的后续更新会产生新的 index 条目,而现有条目保持不变。
Username
可选
MINIO_NOTIFY_ELASTICSEARCH_USERNAME
envvar
notify_elasticsearch username
mc-conf
用于连接启用了认证的 Elasticsearch 服务端点的用户名。
Password
可选
MINIO_NOTIFY_ELASTICSEARCH_PASSWORD
envvar
notify_elasticsearch password
mc-conf
用于连接启用了认证的 Elasticsearch 服务端点的密码。
变更: RELEASE.2023-06-23T20-26-00Z
当该值作为 mc admin config get 的返回内容一部分时,MinIO 会对其进行脱敏。
队列目录
可选
MINIO_NOTIFY_ELASTICSEARCH_QUEUE_DIR
envvar
notify_elasticsearch queue_dir
mc-conf
指定目录路径以启用 MinIO 针对未投递消息的持久化事件存储,例如 /opt/minio/events。
当 Elasticsearch 服务离线时,MinIO 会将未投递事件存储在指定存储中,并在连接恢复后重放这些已存储事件。
队列上限
可选
MINIO_NOTIFY_ELASTICSEARCH_QUEUE_LIMIT
envvar
notify_elasticsearch queue_limit
mc-conf
指定未投递消息的最大上限。 默认为 100000。
注释
可选
MINIO_NOTIFY_ELASTICSEARCH_COMMENT
envvar
notify_elasticsearch comment
mc-conf
指定与 Elasticsearch 配置关联的注释。
本页部分内容改编自 MinIO 对象存储文档,© 2020–至今 MinIO, Inc.,依据 CC BY 4.0 授权,由 Silo 项目转换与维护。归属与署名
本页为非官方中文翻译。如与英文原文有出入,以英文原文为准。