问题标签 [elastic-cloud]

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 投票
1 回答
460 浏览

elasticsearch - Elasticsearch - 一般架构和 Elastic Cloud 问题

背景

我们现在正在使用 Elasticsearch 设计一个新系统的架构,并且我们计划使用 Elastic Cloud,基于对比他们的服务与 AWS 的服务的评论,以及在 EC2 实例上的自托管。在我们设计系统时,我试图从我的团队 6 个月前部署在 Elastic Cloud 上的一个小型测试项目中学习。虽然我花了很多时间阅读Elasticsearch DocsElasticsearch: The Definitive GuideElastic Cloud's Docs,但这里有一些概念我仍然不明白。

我们的测试项目的问题

我们的测试项目使用默认的 5 个主分片和每个主分片 1 个副本分片。它是使用 Elastic Cloud 上的默认部署选项配置的,具有单个节点,当前具有 2GB 内存。因为只有一个节点,并且副本分片从未分配到与其主分片相同的节点(原因 2),所以没有一个副本被分配。此外,该项目使用基于时间的数据,并且每天为每个账户创建一个索引,从而每天产生大约 10 个索引(或 100 个分片),并且随着时间的推移,会产生众所周知的Kagillion Shards。这个系统本来只打算一次有几个月的数据,所以解决方案是在这个部署的内存用完时手动删除旧数据。

新系统

我们的新系统旨在拥有 5 年的基于时间的数据,预计其大小将增长到 250 GB。当前的实现对基于时间的数据使用单个索引,每个主分片有 6 个主分片和 1 个副本。这个决定是基于单个分片的最大目标是 30GB 的阅读而做出的。

问题

  1. 我们的旧系统有一个节点的索引太多(超过 100 个)和分片太多(超过 1000 个),而我们的新系统似乎设计的太少了(一个索引用于 5 年以上的数据)。根据基于时间的数据建议,似乎更好的索引策略是每周或每月创建一个索引?话虽如此,根据SO 上的另一个答案,每个节点的最佳索引数是 1,那么如果我们只在一个节点上运行,那么首先为基于时间的数据创建多个索引有什么用处?
  2. 如何将节点添加到 Elastic Cloud 中的 ES 部署?目前测试项目中的所有副本节点都未分配,因为部署只有一个节点。有一个滑块可让您轻松选择部署中每个节点的内存(介于 1GB 和 250B 之间),但是我认为无法添加多个节点,这令人困惑,因为它似乎是 Elasticsearch 的基本功能。
  3. 我们测试项目的节点已经重启了好几次,总是在节点上有很多旧数据的时候,因此内存压力很大。解决方案是删除旧数据(因为测试项目一次只需要几个月的数据),但似乎节点在重新启动时并没有丢失数据。为什么会这样?
  4. 我们的测试项目没有拍摄快照,这些快照应该每 30 分钟在 Elastic Cloud 上自动发生一次。我已经询问了他们对此的支持,但只是想知道是否有人知道可能导致此问题的原因以及如何解决?
0 投票
1 回答
908 浏览

logstash - 尝试将数据从 logstash 发送到 Elastic Cloud 时收到“pipeline_id 的空配置”错误

附加信息:

  • Logstash 版本:6.3.1
  • 操作系统:macOS 10.13.4
  • 弹性搜索:弹性云上的 6.2.24
  • Kibana:弹性云上的 6.2.24

问题:

你好,

我正在尝试将数据从 logstash 发送到 Elastic Cloud,但是当 logstash 运行时我收到以下错误:

但是,如果我尝试在 logststah.yml 中不定义 xpack 配置的情况下运行 logstash,这可以正常工作,并且 stdout {} 将收集到的数据发送到输出。

请查看我的配置文件:

日志存储.yml

管道.yml

艺术家个人资料视图

样本数据:

怎么了?

谢谢。

0 投票
2 回答
3014 浏览

elasticsearch - Logstash Elastic Cloud 401 未经授权的错误

官方logstash弹性云模块

开始的官方文档

我的logstash.yml样子:

前面有 2 个空格,最后没有空格,在""

这就是我所拥有的logstash.yml,没有别的了,
我得到:

[2018-08-29T12:33:52,112][WARN ][logstash.outputs.elasticsearch] Attempted to resurrect connection to dead ES instance, but got an error. {:url=>"https://myserverurl:12345/", :error_type=>LogStash::Outputs::ElasticSearch::HttpClient::Pool::BadResponseCodeError, :error=>"Got response code '401' contacting Elasticsearch at URL 'https://myserverurl:12345/'"}

my_config_file_name.conf看起来像:

我正在做的是bin/logstash在 windows上点击cmd
它从我在 conf 文件的输入中配置的数据库加载数据,然后显示错误,我想在 Cloud 上索引我的数据MySQLelasticsearch我试用了 14 天并创建了一个测试索引,用于学习目的,因为我稍后必须部署它。我的管道看起来像:

如果日志不包含敏感数据,我也可以提供。 基本上我不想在云上
同步(计划检查)我的MYSQL数据,即ElasticSearchAWS

0 投票
2 回答
1929 浏览

elasticsearch - Elasticsearch 从快照恢复单个索引

在我做一些愚蠢的事情之前,我可以与其他 Elastic 用户仔细检查一下吗:

我的集群有 2000 多个索引。我只弄乱了其中一个,需要从快照中恢复它。如果我选择要恢复的那个索引,我只是想确保我不会最终得到一个只有那个索引而我的另一个 1999+ 丢失的集群。

我想相反的情况会发生,1999+ 将保持不变,只是会恢复,但我需要确定在我点击之前。

如果它对事物有任何影响,我正在使用 Elastic Cloud。

0 投票
0 回答
97 浏览

authentication - 在 Elastic Cloud 上保护 Elasticsearch 集群

考虑到我们有数十万用户并且我想在后端本身而不是在 Elasticsearch 上处理授权逻辑,确保 Elastic Cloud 上托管的 Elasticsearch 集群和后端之间的连接的最佳方法是什么?
是在本机领域创建一个具有所有读写访问权限的“系统”用户(看起来用户功能是为真正的最终用户设计的)还是使用其他类型的身份验证(但 SAML、PKI 或 Kerberos也是面向最终用户的)?还是使用其他安全手段,如基于 IP 的?
我习惯了 AWS 上的 Elasticsearch 服务,其中授权基于 IAM 角色,所以我在这里有点迷失了。

编辑:18 个月后,对此没有明确的答案,如果我不得不再做一次,我可能最终会使用 JWT。

0 投票
2 回答
2799 浏览

http - 为什么 Elastic Cloud 提供专用端口 (9243) 而不是仅使用默认端口 (443)?

我刚刚设置了一个 Elastic Cloud 部署,想知道为什么我的端点有一个特定的端口 (9243) 而默认的 HTTPS 端口 443 也可以工作?

  • 这种行为将来会改变吗?
  • 是否会逐步淘汰其中一个端口?
  • 我应该从哪一个开始?

文档上,我只能找到这个:

端口 9200 用于 HTTP 连接,端口 9243 和 443 用于 HTTPS。通常建议使用 HTTPS,因为它更安全。

0 投票
1 回答
19 浏览

elasticsearch - Migrating from source

I want to migrate data from an old Elastic Search deployment to a new one with a newer version. I read that the only way to do so is by 'migrating from source'.

I can't really find any documentation on this. Do they really just mean uploading all the data again from the same source that you aquired it from before?

0 投票
1 回答
1501 浏览

elasticsearch - 如何追踪缓慢的 Elasticsearch 查询?

我需要一些关于如何诊断慢速 Elasticseach 查询的建议。

设置

  • ElasticCloud 中的 1 个节点集群(1 个主分片,0 个副本)。注意:ElasticCloud = 没有慢日志。(也是的,我知道我应该有更多节点..但这只是 DEV)
  • 使用 NEST 库通过我的 Azure .NET Web App 与集群交互

行为

  • 我的网络服务器的大多数响应时间是 50-80 毫秒
  • ES 中的所有查询时间(例如已占用)均 < 5 毫秒。
  • 我的 Web 服务器和 ElasticCloud 之间的网络延迟约为 15 毫秒

问题 - 有时,响应时间会在 100-200 毫秒之间跳跃,但花费的时间仍然是 1 毫秒。我也能够在本地复制这种行为(使用 ElasticSearch docker)。

这是我捕获的 Fiddler 的跟踪,这是我的应用程序对 Elasticsearch 的调用:

所以,上面说 Elasticsearch 集群需要 218 毫秒来处理请求。但是花费了1ms。

我怎样才能跟踪这个缓慢的请求?显然不是查询速度的问题(因为 take 是低的),所以它一定是集群中的东西。

有什么建议吗?

编辑

这是来自 Kibana 的一些数据,在我进行的 15 分钟负载测试期间: 在此处输入图像描述

所以..根据我的菜鸟分析,那里没有什么不好的。

  • 搜索延迟/延迟很快(< 5ms)
  • JVM堆似乎很好
  • CPU没问题
  • 没有过多的GC

然而,这是我从负载测试工具中看到的: 在此处输入图像描述

这是我的性能监控工具的统计数据。您可以清楚地看到尖峰和缓慢的异常值: 在此处输入图像描述

不知道从这里可以去哪里?我应该寻找其他一些指标吗?

0 投票
0 回答
138 浏览

elasticsearch - CloudWatch 到 Elastic Cloud:缺少数据?

我目前正在使用 Elastic Cloud 来存储我的 AWS CloudWatch 日志。一切似乎都很好,因为我已经能够显示图表并正确查询 ElasticSearch。然而,我有一个奇怪的行为,我无法解释。

我正在从我的应用程序中记录一些事件。让我们说request_startrequest_end。它们都在 Kibana 上可用。然而,我还在记录另一个事件,比如说request_middle. 我可以在 CloudWatch 上看到它。

签入DiscoverKibana 的选项卡时,我没有看到此事件。我试过event:"request_middle"查询,徒劳。如果我在同一个选项卡下显示所有事件的列表,我会得到一个完整列表,除了request_middle.

我尝试直接查询 Elastic Search,以防万一。但也没有结果。

你们中的一些人是否已经遇到过这样的情况?如果是这样,你是如何解决的?

0 投票
1 回答
2975 浏览

elasticsearch - Elasticseach - RestHighLevelClient 连接到弹性云

我无法使用以下方式连接到由 Elastic Cloud 托管的集群RestHighLevelClient

我可以使用连接org.elasticsearch.client.Client但不能使用org.elasticsearch.client.RestHighLevelClient.

这是我的代码:

这是完整的堆栈跟踪:

我正在使用 Elasticsearch 6.5.4。

构建.gradle

这是相关的依赖报告:

知道我做错了什么吗?提前致谢!