Elastic 托管连接器
editElastic 托管连接器
edit托管的 Elastic 连接器 可以直接在您的 Elastic Cloud 部署中使用。 无需额外的基础设施。
托管连接器直接将数据源同步到 Elasticsearch 索引。 使用 Kibana 中的 连接器 工作流程创建这些索引。
以下连接器作为Elastic托管连接器提供。 请参阅每个连接器的参考文档以获取特定于每个连接器的更多信息。
- Azure Blob 存储
- Box
- Confluence(包括 Confluence 数据中心)
- Dropbox
- GitHub
- Gmail
- Google 云存储
- Google Drive
- Jira(包括 Jira 数据中心)
- Microsoft SQL
- MongoDB
- MySQL
- 网络驱动器
- Notion
- OneDrive
- Oracle
- Outlook
- PostgreSQL
- Amazon S3
- Salesforce
- ServiceNow
- SharePoint Online
- SharePoint Server
- Slack
- Teams
- Zoom
可用性和前提条件
edit托管连接器在 Elastic 版本 8.5.0 中引入。
您的 Elastic Cloud 部署必须包括以下 Elastic 服务:
- Elasticsearch
- Kibana
- 企业搜索
请参阅Elastic订阅页面上的原生集成,在Elastic Search部分中了解托管连接器的许可要求。
在 Kibana UI 中的使用
edit按照 Kibana 中的 连接器 工作流程选择 连接器 摄取方法。 选择数据源,创建一个 Elasticsearch 索引,并配置一个托管连接器来管理该索引。
选择一个连接器
edit从可用选项中选择数据源并选择继续。
创建索引
edit创建一个由连接器管理的新索引:
-
为您的索引命名,并可选择更改语言分析器以匹配您的数据源的人类语言。
(索引名称将自动加上前缀
search-。) - 选择创建索引。
索引已创建并准备好进行配置。
此操作需要:
配置连接器
edit创建一个由连接器管理的新索引。
继续从上面操作,或在 Kibana UI 中导航到以下位置:
搜索 > 内容 > Elasticsearch 索引
选择要配置的索引,然后选择配置选项卡。
配置连接器:
- 编辑连接器的名称和描述。 您的团队可以使用此信息来区分此索引与其他连接器索引。 (这些字段描述了连接器,并且与Elasticsearch索引名称无关。)
- 保存您的更改。
- 编辑数据源配置。 这里的字段因连接器而异。 有关详细信息,请参阅每个连接器的文档(参见上文的Elastic管理连接器列表)。 有关安全注意事项,请参阅安全。
- 保存您的更改。
可选择 编辑同步计划 以开始 管理连接器。
此操作需要:
管理连接器
edit要管理文档、同步、同步规则、摄取管道和其他连接器功能,请参阅 Kibana 中的连接器 UI。
管理 API 密钥
editElastic 托管连接器的 API 密钥是在 Elastic 版本 8.13.0 中引入的。 在早期版本中创建的托管连接器在升级到 8.13.0 后不会自动使用 API 密钥。 有关更多信息,请参阅 启用 API 密钥。
托管连接器使用 API 密钥与 Elasticsearch 进行通信。
在 Kibana UI 的连接器页面中管理托管连接器时,API 密钥管理会自动处理。
Elastic 托管连接器的 API 密钥具有三个索引的 manage 权限:
- 附加的索引
- 用于文档级安全性的访问控制(ACL)索引
-
内部
.elastic-connectors索引。
通过Kibana更改附加的索引将自动使现有的API密钥失效并生成一个新的密钥。 如果你想轮换现有的API密钥,请导航到配置选项卡。 向下滚动到管理API密钥并选择生成API密钥。 此操作将使之前的API密钥失效,创建一个新的API密钥,并更新连接器密钥。
Elastic 托管连接器的 API 密钥存储在一个名为 .connector-secrets 的内部系统索引中。
此索引只能通过具有 write_connector-secrets 集群权限的用户发出的 API 请求进行写入。
只有 Enterprise Search 实例有权从此索引中读取数据。
管理 Elastic 托管连接器的用户需要将其角色分配给 write_connector_secrets 集群权限。
有关安全注意事项,请参阅 安全。
以编程方式管理 API 密钥
edit您还可以以编程方式创建和存储 API 密钥。
展开以下部分以查看详细信息。
用户需要集群权限 manage_api_key、manage_connector 和 write_connector_secrets 才能以编程方式生成 API 密钥。
要为连接器创建API密钥:
-
运行以下命令,替换指示的值。 注意响应中的
id和encoded返回值:POST /_security/api_key { "name": "my-connector-api-key", "role_descriptors": { "my-connector-connector-role": { "cluster": [ "monitor", "manage_connector" ], "indices": [ { "names": [ "my-index_name", ".search-acl-filter-my-index_name", ".elastic-connectors*" ], "privileges": [ "all" ], "allow_restricted_indices": false } ] } } } -
使用
encoded值来存储连接器密钥,并注意此响应返回的id值:POST _connector/_secret { "value": "encoded_api_key" } -
使用 API 密钥
id和连接器密钥id来更新连接器:PUT /_connector/my_connector_id>/_api_key_id { "api_key_id": "API key_id", "api_key_secret_id": "secret_id" }
为升级的连接器启用API密钥
edit在升级之前创建的托管连接器(版本早于8.13.0)在升级后最初没有API密钥。 在这些连接器转换为使用API密钥之前,无法更改这些连接器的附加索引。
展开以下部分以了解为升级后的Elastic托管连接器启用API密钥的步骤。
-
在开发者工具中运行以下命令,以启用连接器的API密钥,并替换指示的值。
POST .elastic-connectors/_update/connector_id { "doc": { "features": { "native_connector_api_keys": { "enabled": true } } } } - 返回连接器页面并导航到配置选项卡。
- 向下滚动到管理API密钥并选择生成API密钥。
您的托管连接器现在使用API密钥来授权将数据导入Elasticsearch。
通过API使用
edit在8.12中,我们引入了一组连接器API,用于创建和管理Elastic连接器和同步作业,以及一个CLI工具。 如果您希望以编程方式使用连接器和同步作业,请使用这些工具。
端到端示例
edit以下示例演示了如何在Elastic Cloud上使用托管连接器:托管连接器教程(MongoDB)。
转换一个托管连接器
edit您可以将托管连接器转换为自托管连接器,以便在您自己的基础设施上运行。 您将在连接器索引的概述页面的UI中找到相关说明。
将托管连接器转换为自托管连接器是一个不可逆的操作!
MongoDB 托管连接器教程
edit本教程解释了如何从 MongoDB 数据库设置自动、持续的同步到 Elastic Cloud 上的搜索优化索引。 我们将在此教程中使用 Atlas 部署以及内置的示例数据集,但您也可以使用自己的数据。
本教程是一个示例:
- 如何使用MongoDB 连接器,该连接器兼容 MongoDB Atlas 和本地 MongoDB 服务器。 请参阅兼容性。
- 如何使用任何可用的托管连接器。 本教程中的工作流程适用于所有 Elastic 托管连接器。
本教程分为三个主要部分:
-
设置 MongoDB Atlas: 首先,您需要启动 MongoDB Atlas。 (跳过此步骤 如果您已经有想要使用的 MongoDB 实例。)
- 您将创建一个免费账户,设置一个免费的 Atlas 集群,并加载一些示例数据。
- 收集有关您的 MongoDB 实例的详细信息 一旦完成,您需要收集一些有关您的 Atlas 集群的详细信息,以便将其连接到 Elastic Cloud 部署。
-
设置 Elastic Cloud: 接下来,您需要启动 Elastic Cloud。
- 然后,您需要创建一个 Elasticsearch 索引并配置 Elastic 连接器以与您的 Atlas 集群接口。 我们将在 Kibana UI 中完成所有这些操作。
- 配置完成后,您将设置一个同步计划,以开始将您的 MongoDB 数据索引到 Elasticsearch 并确保其保持最新。
设置 MongoDB Atlas
edit按照 MongoDB 文档中的步骤 创建一个免费的 Atlas 账户:
- 创建并部署一个免费的Atlas集群。
-
在安全 > 网络访问下,添加IP访问到
0.0.0.0/0。 这个CIDR表示法允许从任何IP地址连接。 这使得运行在Elastic Cloud上的Elastic连接器能够访问Atlas。 有关完整说明,请参阅Atlas文档。 - 创建一个数据库用户,使用用户名和密码组合。 在安全 > 数据库访问中选择添加新数据库用户。 请妥善保管这些信息,因为稍后配置连接器时会需要它们。
将示例数据加载到Atlas
edit在这个示例中,我们将使用MongoDB Atlas提供的示例数据。 您可以在MongoDB Atlas用户界面中执行此操作。
在Atlas UI中,使用加载示例数据集按钮,位于数据库部署下。 通过选择集群名称旁边的"…"按钮找到此选项。
详细说明可在Atlas文档中找到。
在Atlas UI中浏览示例数据
edit加载完成后,您可以通过选择数据库部署的浏览集合按钮,在Atlas UI中查看您的样本数据。 确认样本数据库已添加到您的数据库部署中。
在这个示例中,我们将使用sample_mflix数据集,其中包含有关电影和电影院的数据。
该数据库包含用于某些元数据的集合,包括用户和对特定电影的评论。
在这个示例中,我们将重点关注comments集合。
每个文档包含一条评论,以及评论者的姓名和电子邮件地址等信息。
comments collection后来,一旦连接器将MongoDB文档转换为Elasticsearch文档,您就可以比较它们的结构。
我们已经将数据添加到我们的 MongoDB Atlas 集群中,现在我们需要配置 Elastic MongoDB 连接器。
收集有关您的 MongoDB 实例的详细信息
edit在我们切换到在 Elastic Cloud 中工作之前,我们需要收集一些关于我们的 MongoDB Atlas 集群的详细信息。 我们将需要这些详细信息来配置 Elastic MongoDB 连接器。 您可以在 Atlas UI 中找到这些详细信息。
查找以下详细信息:
-
主机: 您的 MongoDB Atlas 集群的 URI。 这应该看起来像
mongodb+srv://。 通过在 MongoDB Atlas UI 中连接到您的集群来找到这个 URI。.hjksqfc.mongodb.net - 找到这个 URI 的一种方法是选择 使用 MongoDB Shell 连接 并从 CLI 指令中复制连接字符串。
-
数据库: 您想要同步的数据库的名称。
在这个例子中,我们将使用
sample_mflix数据库。 -
集合: 您想要同步的集合的名称。
在这个例子中,我们将使用
sample_mflix数据库的comments集合。 - 用户名: 您在设置阶段创建的用户名。
- 密码: 您在设置阶段创建的密码。
请随时准备好这些细节!
设置 Elastic Cloud
edit一切都在 MongoDB Atlas 中设置好了,我们有了配置 Elastic MongoDB 连接器所需的详细信息。 首先,我们需要启动并运行一个 Elastic Cloud 部署。
创建一个 Elastic Cloud 部署
edit此步骤适用于不熟悉 Elastic Cloud 的新用户。 如果您的团队已经拥有 Elastic Cloud 部署,请跳过此步骤。
登录到 Elastic Cloud,并使用界面创建一个部署。 您需要运行版本 8.5.0+ 或更高版本。
阅读Elastic 托管连接器的前提条件以获取详细信息。
一旦您的部署创建完成,导航至搜索。
创建一个 Elasticsearch 索引
editElastic 连接器会将您的 MongoDB 数据同步到经过搜索优化的 Elasticsearch 索引中。 第一步是在 Kibana UI 中创建您的索引。
在主菜单中导航到 搜索 > 内容 > 索引。
按照以下步骤创建您的索引:
- 选择创建一个Elasticsearch索引。
- 选择连接器作为您的摄取方法。
- 选择MongoDB连接器类型。
-
命名您的新索引,例如
search-mongo-sample,然后保存。 这将带您到索引概览页面的配置选项卡。
接下来,我们需要输入我们的Atlas详细信息以配置连接器。
配置 MongoDB 连接器
edit使用之前收集的详细信息,配置MongoDB连接器。 在配置步骤下输入详细信息。
将直接连接选项设置为false以进行此示例。
您必须为MongoDB Atlas启用SSL/TLS,因此请打开SSL/TLS连接选项。
输入这些详细信息后,选择保存配置。
开始同步
edit一旦配置好您的 MongoDB 连接器,就可以安排同步了。
界面将引导您进入索引概览页面的调度选项卡。 在这个示例中,我们将安排一个每日午夜运行的定期同步。
在调度选项卡中:
- 切换启用以下计划的定期同步。
-
选择频率,“每”
天。 -
选择时间,“在”
00:00。 - 保存此同步计划。
一旦您保存了同步计划,连接器将开始将您的 MongoDB Atlas 数据同步到 Elasticsearch 中。
验证文档
edit我们的参考文档解释了如何将MongoDB数据库和集合中的文档提取并转换为Elasticsearch索引中的文档。
如果所有配置细节都正确,同步将开始,文档将开始出现在您的 Elasticsearch 索引中。
一旦您的第一个文档同步完成,您可以查看这些文档并检查索引的映射:
- 在 Kibana 中,导航到 搜索 > 内容 > 索引。
-
选择您的索引,例如
search-mongo-sample。 - 选择 文档 选项卡以查看同步的文档。 展开文档以查看其字段。
了解更多
edit- 请参阅Elastic MongoDB 连接器参考文档,以获取有关连接器的详细信息,包括同步规则的工作原理。
- 有关所有 Elastic 托管连接器的概述,请参阅Elastic 托管连接器。
- 了解 Elastic 托管连接器的同步规则。
- 了解搜索索引的摄取管道。
- 有关 MongoDB 特定问题的官方文档,请参阅MongoDB Atlas 文档。