问题标签 [amazon-elasticsearch]

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 回答
522 浏览

elasticsearch - ElasticSearch - 日期范围条件应与日期范围数组中的一项完全匹配

我计划在 elasticsearch 中存储数百万套 airbnb 类型的公寓。whereavailabilty是一个包含nested对象的数组(availabilitytype 是nested)。并且这些对象中的每一个都有日期范围,其中该公寓可用。

我想搜索在特定日期范围内可用的公寓(比如2016-08-20 to 2016-12-12)。该范围应属于各种公寓的可用日期范围之一。

所以我想写一个查询,比如:

上面的查询将返回我两个公寓(与availability条件匹配的多个对象),这是不正确的,它应该只返回文档,_id: hgk87783iii86937jh因为只有一个availability对象与条件匹配,即{"start": "2016-07-21", "end": "2016-12-19"}. 因此,为了获得正确的结果,条件应该是 -availability公寓文档中应该有一个完全符合条件的对象。那么如何强制在上述查询中应该有一个匹配项呢?第二个问题 - 我的查询是否正确?

0 投票
1 回答
3119 浏览

amazon-web-services - 更改 aws kibana 的 Elasticsearch 映射

我使用订阅设置了与 CloudWatch 日志的集成。但是,我注意到映射的某些方面需要调整(例如,通过我的 Web 服务器日志中的“url”被解析为分析字段,这使得在 Kibana 中设置正确的分析变得困难)。调整此映射的最佳方法是什么?如何使字段为非分析?请注意,我正在使用 AWS cloudwatch 日志订阅 kibana。所以我没有logstash配置来修改分析字段的ES映射。

设置:Cloudwatch 日志订阅 - ES - kibana

0 投票
0 回答
256 浏览

amazon-web-services - 测试 logstash 和 aws es 集群之间的连接

所以我有一个java程序,它每秒将一个虚拟日志写入文件dummyLog.log。

我的logstash配置文件:

我的 aws elasticsearch 集群的访问策略现在对所有人开放,没有任何限制。

我检查了“dummyLog.log”,并且每秒都会将日志写入其中,但我看不到 elasticsearch 没有收到任何内容,kibana 上也没有任何内容。我检查了 logstash.log 文件,它完全是空的。

我究竟做错了什么?

0 投票
1 回答
1520 浏览

logstash - EC2 中的 Logstash 无法将日志数据发送到 AWS Elasticsearch 服务

在 EC2 中,我将 logstash 配置如下

但logstash 无法在AWS elasticsearch 中建立索引并发送日志数据。(但是,curl 和 wget 命令运行良好。我可以使用 curl 命令创建索引)

错误日志是

调试的检查点是什么?

0 投票
0 回答
377 浏览

asp.net-mvc - aspnet-redis-providers 不适用于负载均衡器后面的 AWS 中的多服务器设置

当我尝试将 redis 用作以下配置的会话服务器时,我遇到了问题:

  1. 多个 Windows 服务器使用https://github.com/Azure/aspnet-redis-providers托管相同的应用程序
  2. 具有加权路由的弹性负载均衡器将请求重定向到所有 IIS 服务器
  3. Redis 托管在 AWS 弹性缓存中,可从两台服务器访问
  4. Redis 一次充当 1 个服务器的会话服务器,没有任何问题

    为每个会话创建 3 个密钥

"{/_ktffpxxxxxxg2xixdnhe}_Write_Lock"

"{/_ktffpxxxxxxg2xixdnhe}_Data"

"{/_ktffpxxxxxxg2xixdnhe}_Internal"

问题:当 1+ 台服务器尝试为同一用户提供服务时,通过在同一实例中从 redis 访问会话,如果 server1 已放置,_Write_Lock则 server2 无法读取+更新超时或写入数据,之后它清除了密钥

--> 结果,用户对任何服务器的下一个请求无法验证他/她的会话。

我是唯一一个遇到这个问题的人吗??请帮忙 ...

注意:在 ELB 中启用会话粘性后,注销不是间歇性的,但这限制了我们在不丢失该服务器的所有用户会话的情况下取出服务器进行升级。

0 投票
2 回答
2337 浏览

amazon-web-services - 如何通过 AWS Lambda 索引 Amazon Elasticsearch Services 中的 Dynamodb 流数据?

我一步一步地按照本教程进行操作,但是当我到达“测试结果”步骤时,我在索引时间看不到我的表名,因为示例中显示了“所有产品”。

所以这意味着我的 dynamodb 表没有在我的 Amazon ES 域中建立索引。

我设置了所有授权并配置了 lambda,就像在示例中一样。

现在我只是不知道如何在 AWS ES 中触发我的 dynamodb 流。

0 投票
2 回答
4027 浏览

amazon-web-services - Amazon elasticsearch 对 FreeStorageSpace 指标的解读

我有 6 个 m3.large.elasticsearch 类型实例和存储类型实例。

在此处输入图像描述

我真的不明白平均,最小,最大......这里的意思是什么?

我现在没有任何日志进入我的集群,尽管它在这里显示 FreeStorageSpace 为 14.95GB:

在此处输入图像描述

但是我的“最小值”的 FreeStorageSpace 图表已达到零!

在此处输入图像描述

这里发生了什么?

0 投票
1 回答
132 浏览

amazon-web-services - 尝试为 Amazon ES 集群中的数据编制索引时出现 cloudwatch 日志错误

我正在按照本教程将我的所有 DynamoDB 流自动索引到我创建的 Amazon ElasticSearch 服务集群中。

我一步一步地遵循它,并创建了所有权限策略。

但是,当我进行测试时,我的 Amazon ES 集群中没有任何索引。当我检查 CloudWatch 时,我会看到以下日志:

我不明白这个问题。我只知道我的 Lambda 函数成功触发了每个 DynamoDB 流并且可以将日志发送到 CloudWatch,但无法在 Amazon ES 中索引这些数据。

有人可以帮我解决这个问题吗?

0 投票
0 回答
86 浏览

javascript - 如何使用在 elasticsearch/kibana 中索引的数据制作自动完成搜索表单?

我已将我的 dynamodb 流的实时数据索引设置到 kibana 中。一切正常。

当我在 kibana 搜索栏中进行研究时,我可以毫无问题地找到数据。

但是我想在一个 HTML 网页中创建一个小搜索引擎,我将自己创建并能够直接从该网页实时获取 kibana 索引,并制作一些功能,如自动完成、自动建议等。

所以我认为这涉及使用 kibana 作为 API 或类似的东西,以便通过使用 javascript 代码获取数据。

但我不知道如何设置这个。

任何帮助将不胜感激。

谢谢

0 投票
2 回答
1250 浏览

elasticsearch - 使用 AWS IAM 通过网关访问 AWS ElasticSearch 的 Kibana

我正在研究 ELK Stack 和 AWS Gateway。

我创建了 AWS ElasticSearch 并设置了这个访问策略: { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "AWS": "arn:aws :iam::[AWS 账户 ID]:root" }, "Action": "es:*", "Resource": "arn:aws:es:sa-east-1:[AWS 账户 ID]:domain/camarar -elk/*" } ] }

PS:我也尝试使用此策略:{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "AWS": "arn: aws:iam::[AWS 账户 ID]:user/[User]" }, "Action": "es:*", "Resource": "arn:aws:es:sa-east-1:[AWS 账户 ID ]:域/camarar-elk/*" } ] }

之后,我使用 http 代理和 GET 方法创建了一个 AWS API Gateway,将所有请求路由到 Kibana url。在这个网关中,我使用一个 AWS IAM 来访问 Kibana。

最后,我使用此策略“AmazonESFullAccess”创建了一个 AWS IAM 用户。

我一直收到相同的错误:{“消息”:“用户:匿名无权执行:es:ESHttpGet on resource:camarar-elk”}

有人能帮我解决这个问题吗?