问题标签 [elasticsearch-opendistro]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
236 浏览

kibana - 缺少警报目的地的“电子邮件”选项(Opendistro Elasticsearch/Kibana)

大家好,祝大家好运,

我正在 Kibana Opendistro 中配置警报,但在警报 > 目的地 > 创建的菜单中找不到“电子邮件”选项。我可以看到 Amazon、Slack 和 Custom webhook 的选项。假设“电子邮件”选项必须存在,文档中是如何说的:

https://opendistro.github.io/for-elasticsearch-docs/docs/alerting/monitors/#email-as-a-destination

我正在使用 7.8.0 并从 tarball 运行。

在 Opendistro 论坛中,我找到了这个主题,但我不明白如何解决它。 https://discuss.opendistrocommunity.dev/t/e-mail-option-in-dropdown-missing/3909

感谢您的关注

0 投票
2 回答
1739 浏览

elasticsearch - 如何防止分片从热节点迁移到热节点或冷节点?

我有什么

  • Elasticsearch (7.7.0) 集群(amazon/opendistro-for-elasticsearch:1.8.0 Docker 镜像)
    • 一个主节点
    • 一个协调节点
    • 两个数据节点node.attr.data=hot
    • 一个数据节点node.attr.data=warm

我想要什么:防止分片分配和从热数据节点重新定位到热数据节点(以及未来的冷数据节点)。

我尝试了什么

我已经"index.routing.allocation.require.data": "hot"为所有索引模板添加了索引,因此新创建的索引不会分配给除了热数据节点之外的任何节点。这工作正常。

无论如何,我不能限制分片从热节点重定位到热节点。目前我正在使用"cluster.routing.allocation.exclude._ip" : "warm data node ip"以防止从热数据节点重定位到热数据节点。但是我可以将ILM与此过滤器一起使用吗?

我也试过

然后取下"cluster.routing.allocation.exclude._ip"过滤器。无论如何,分片都从热数据节点重新定位到热数据节点。我错过了什么?

0 投票
1 回答
275 浏览

elasticsearch - 使用 Open Distro 在 Elasticsearch 中禁用状态管理历史记录

我在 AWS 上有 ElasticSearch,它使用 Open Distro 而不是 Elastics ilm。

当您对索引应用状态管理时,会导致创建大量的审计索引。我想完全禁用它。

https://opendistro.github.io/for-elasticsearch-docs/docs/ism/settings/

显然它刚刚完成设置opendistro.index_state_management.history.enabledfalse但如果我将它应用到_cluster/settings它似乎不起作用。

结果是:

该设置在索引模板上也无效,因此我无法在此处设置。

如何禁用此审核历史记录?

0 投票
1 回答
206 浏览

kibana - 如何在操作消息模板中将查询结果格式化为 json

我正在使用 Opendistro 创建警报并调用自定义 webhook 来发送警报。我希望 Opendistro 在消息中发送查询结果。唯一的问题是结果的格式不是 json 而是接近的。

例如,如果消息模板(Mustache)如下

我的 webhook 可能会收到类似这样的信息

这是查询结果,但没有格式化为json。我想知道是否有办法在 mustache 模板中将复杂变量输出为 json,或者是否有办法解析上述格式。或者也许在上下文中还有另一个变量已经被字符串化了?

我在 Opendistro 论坛上发现了另一个帖子,它暴露了同样的问题。

0 投票
1 回答
727 浏览

elasticsearch - 在 Elasticsearch 中获取缺失值

我正在寻找一个查询,它将返回给定值列表中文档中缺少的值。例如,文档中有一个国家字段,其值为 USA、Dubai、Singapore、Japan。现在我想告诉弹性搜索,我正在给你国家列表(美国、迪拜、俄罗斯),你给我的输出告诉我俄罗斯不属于任何文件。这可能吗?

0 投票
1 回答
87 浏览

elasticsearch - 我们可以将我们的数据库迁移到弹性搜索吗?

我们有一个巨大的 PostgreSQL 数据库,但它的处理速度非常慢,我们已经用 PostgreSQL 建立了一个非常好的索引,但是从 Postgres 获取我们的数据需要一段时间,我们计划将我们的数据库迁移到 Elastic Search,只是用于选择查询。我们可以将功能齐全的数据库迁移到 Elastic Search 吗?

0 投票
2 回答
1326 浏览

elasticsearch - Open Distro for Elasticsearch on-prem Kubernetes 问题

我正在尝试在本地 kubernetes 集群上为 elasticsearch 集群设置一个开放发行版。我正在使用带有大多数默认值的https://github.com/opendistro-for-elasticsearch/opendistro-build/tree/master/helm 。

values.yaml 中唯一改变的是 nodeSelector 和 storageClass 部分。

如果我尝试取消注释 config 下的任何项目,所有 pod 都会进入崩溃循环:

豆荚:

服务:

opendistro-es-data-0 pod 中的错误:

客户端 pod 抛出相同的“无法解析主机 [opendistro-es-discovery]”错误。

opendistro-es-master-0 中的 elasticsearch.yml:

当我在主 pod 内运行“curl -XGET https://localhost:9200 -u admin:admin --insecure”时,我得到响应“Open Distro Security 未初始化”。

当我在主 pod -cacert ../../../config/root-ca.pem -cert 内运行“./plugins/opendistro_security/tools/securityadmin.sh -cd ../securityconfig/ -icl -nhnv ../../../config/kirk.pem -key ../../../config/kirk-key.pem”它只是超时。

在我看来,节点无法看到对方,但我不知道如何修复它。正如我之前提到的,使用 values.yaml 中的配置部分会导致所有 pod 中断。如果你碰巧知道如何解决这个问题和/或这个问题,那就太棒了。如果需要任何其他信息,请告诉我。提前致谢!

0 投票
1 回答
377 浏览

elasticsearch - ElasticSearch:Opendistro SQL:由于违规符号而无法解析查询 [.11]

我有一个 ElasticSearch 索引,其名称为.(示例:) my_index-2020.11.06-001。当我使用 SQL 获取count所有文档时,出现以下错误

我还尝试在索引名称中使用反引号(`)和单引号('),这也无济于事

有没有其他方法可以解决这个问题?

0 投票
1 回答
759 浏览

elasticsearch - Opendistro for Elasticsearch - ISM 未触发作业

我正在尝试在 AWS Elasticsearch Service v7.8 上将 ISM 与 opendistro 一起使用。我正在尝试设置一个基本的翻转/删除策略,但该策略似乎没有触发。我假设我做错了什么,但我似乎无法追踪它......我正在使用每小时翻转一次并在 6 小时后删除它来测试它......

这是我恰当地命名为“测试”的 ISM 政策:

我创建了一个模板来维护索引创建等。这是模板。请注意,我添加了翻转别名“atest”,但 policy_id 是“test”。我没有将索引添加到此模板中的任何别名:

然后我使用模板中的索引模式创建一个索引,将它添加到我在上面定义的翻转别名中:

然后我可以在 opendistro-ism-config 索引中看到该文档:

在某些时候,我看到托管索引信息从“初始化”变为

在这一点上,什么都没有发生。kibana 的 ISM 控制台中的“atest-000001”行显示“状态”为“活动”,“操作”为“-”,“作业状态”为“正在运行”。它会保持这种状态好几天......我也尝试过:

仍然没有触发。我究竟做错了什么?

0 投票
1 回答
657 浏览

apache - keycloak、Apache、mod_auth_openidc、elasticsearch opendistro

我正在尝试设置单点登录 (SSO) 以访问 apache 2.4 上的私有目录,并为 keycloak 登录用户分配弹性搜索 (opendistro) 中的角色。在 keycloak 中为用户分配角色没有真正的问题(并且也成功连接到 openldap 服务器)。如果我将 Bearer 令牌发送到 ES,它将角色链接到后端角色。一切都迎接。

问题是elasticsearch是无状态的,它似乎没有读取从keycloak和mod_auth_openidc获得的cookie(无法正确设置config.xml)。所以,我无法让 ES 使用 opendid 连接会话。

所以,我决定为 ES 选择 Bearer Authentication,我需要在对 ES 的每个 http 请求中添加 Bearer http 标头。

我通过添加以下内容从 mod_auth_openidc 获得 Bearer 令牌:

标头集授权“承载 %{OIDC_access_token}e” env=OIDC_access_token

到我在 apache conf 中受保护的位置(启用的标头模块)。但是当我尝试将该令牌与 curl (for testing) 一起使用时,它不会工作

我得到 401 未经授权。弹性搜索日志:

编辑:我将 keycloak 中访问令牌的算法更改为 HS256,现在我得到了

这个 shell 脚本有效:

opendistro 安全插件配置:

任何想法如何设置弹性搜索来识别该令牌?