问题标签 [aws-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 投票
0 回答
397 浏览

amazon-web-services - 使用 kibana 连接到远程弹性搜索时出现身份验证错误?

弹性搜索在远程 aws 服务器中运行,我已经在本地 kibana 中配置了端点链接,它显示身份验证错误。与错误对应的图像附在下面在此处输入图像描述

相应的日志消息是:

[error][status][plugin:elasticsearch@6.4.2] 状态从黄色变为红色 - 授权异常

0 投票
1 回答
313 浏览

amazon-ec2 - 将流量从 Windows EC2 实例转发到 ElasticSearch VPC Endpoint

我有用于面向公众的 C# API 的 Windows EC2 实例。VPC(以及相关的 Internet 网关、子网等)都是默认的。

我现在已经使用他们更安全的 VPC 端点选项(而不是面向公众)设置了 AWS ElasticSearch 服务,并且我已将其关联到与我上面的 Windows EC2 实例相同的子网和 vpc。

我想让他们互相交谈。

https://docs.aws.amazon.com/elasticsearch-service/latest/developerguide/es-vpc.html阅读

看来您要做的是 ssh 隧道/端口将流量从 EC2 实例上的 localhost:9200 转发到实际的 Elastic Search 服务(通过该 VPC 端点)。

似乎这个命令是魔法发生的地方: ssh -i ~/.ssh/your-key.pem ec2-user@your-ec2-instance-public-ip -N -L 9200:vpc-your-amazon-es- domain.region.es.amazonaws.com:443

但这是针对 Linux EC2 实例的。

如果我在我的 Windows EC2 实例(API)中进行远程桌面访问,我该如何做到这一点,当我进入浏览器时,http://localhost:9200 会将流量发送到我的 VPC 端点:

vpc-your-amazon-es-domain.region.es.amazonaws.com:443

谢谢!

0 投票
1 回答
104 浏览

elasticsearch - 如何在不删除可视化仪表板的情况下删除 Elasticsearch 数据?

我正在根据需要将数据摄取(使用 python-lambda)到 AWS Elasticsearch 集群中。在摄取新数据时,我想清除旧数据但保持可视化完整。如何做到这一点?

目前,我正在使用requests.delete(<url>/_all)我想更改的。

0 投票
1 回答
1615 浏览

elasticsearch - 更改 AWS Elasticsearch 属性(没有 elasticsearch.yml),例如线程池队列大小

我想更改我的 AWS Elasticsearchthread_pool.write.queue_size设置。我看到推荐的技术是更新elasticsearch.yml文件,因为它不能由较新版本的 API 动态完成。

但是,由于我使用的是 AWS 的 Elasticsearch 服务,据我所知,我无权访问该文件。无论如何要进行此更改吗?我在这里没有看到 6.3 版引用它,所以我不知道如何使用 AWS。

0 投票
1 回答
891 浏览

spring-boot - aws elasticsearch签名删除请求返回403禁止(使用apache httpclient)

我在403 forbidden尝试aws elasticsearch通过 java Jest(v6.3) elasticsearch 客户端删除索引时遇到 http 错误(它将 http 调用委托给apache httpclient(v4.5.2) 我知道我的权限在 AWS 中设置正确,因为我是能够成功使用邮递员(在 AWS 签名授权助手的帮助下)。但是,apache httpclient当我发出时,DELETE /{myIndexName}我收到以下错误:

我通过使用签署aws请求apache httpclient的拦截器配置来签署请求。(下面的代码用于Spring Framework @Configuration连接javaJest客户端和底层apache httpclient的类)但我想如果我直接使用apache httpclient我会体验到同样的问题。

由于它与邮递员合作,因此它指出了签名错误,但我不知道差异发生在哪里。上面的配置适用于apache httpclient除 http DELETE 请求之外的所有请求。

0 投票
1 回答
1858 浏览

node.js - 如何使用 npm elasticsearch 和 http-aws-es 连接到 AWS ElasticSearch?

我正在使用 npm elasticsearch 包来搜索我的 AWS ES 域。当我使用 Postman 使用我的 AWS IAM 凭证发出 POST 请求时,一切似乎都运行良好。我想在我的代码(node.js)中做同样的事情。我在这里提到了这个答案: How to call to elasticsearch apis through NodeJS?

这是代码:

但是当我运行 client.search() 时,它失败并出现错误:

它也给了我一个警告

当我只使用 aws-sdk 时,它工作正常(可能是因为我在那里签署了请求?)

有人可以建议我在这里做错了什么吗?

0 投票
1 回答
299 浏览

elasticsearch - 与弹性搜索中的 IN 运算符完全匹配

如何使用 IN 操作找到多个文本值的完全匹配?例如,

当我尝试在查询下运行时,它会返回匹配值的额外数据,例如“乔治”,而不是仅作为“乔治”的确切值

0 投票
1 回答
251 浏览

elasticsearch - 改进 ElasticSearch 索引的各种方法是什么?

我正在使用 ELK 来处理和监控相当大的日志文件。我正在从本地文件系统推送日志。

但我面临几个问题:

  1. 由于数据量大,使用 LogStash 进行解析非常慢。随着过滤器插件的增加,它变得更慢。(3.2GB 的日志用了 4 天!)
  2. 在 Kibana 中通过这些索引进行 API 调用和构建可视化也很慢。

我该如何解决这些问题?

  1. 迁移到云解决方案:AWS 还是 Google Cloud?但这些可能会增加成本。
  2. 改进索引技术。我怎样才能在 ES 中实现这一点?

任何帮助都是有益的。谢谢!

预计到达时间:

我的logstash配置:

0 投票
1 回答
1867 浏览

node.js - AWS Elastic Search Policy,只允许 lambda 访问 Elastic Search

我正在努力ElasticSearchAWS. 我的目标是只允许从我的Lambda函数到ElasticSearch实例的 http 请求。我创建了一项策略,它提供了 'Lambda access to theElasticSearch instance. The part I'm struggling with is the inline resource policy forElasticSearch that will deny all other request that aren't from the 'Lambda

我已经尝试将ElasticSearch资源策略设置为Deny所有请求,然后给我Lambda一个可以访问的角色ElasticSearch.虽然Lambda正在使用该角色,但我正在使用axiosaws4签署我的 http 请求,但请求被拒绝,The request signature we calculated does not match the signature you provided.我认为问题不是实际签署请求,而不是我创建的策略。如果有人能引导我朝着正确的方向前进,那真的很有帮助。

Lambda Policy

ElasticSearch Inline Policy

Lambda Code Using Aws4 and Axios

注意:我尝试使用ElasticSearch设置为允许 *(all) 的内联策略创建索引并删除aws4库签名,它工作正常。现在我只想保护对这个资源的访问。

0 投票
1 回答
1786 浏览

elasticsearch - Spring Micrometer:将指标发送到 AWS ElasticSearch 实例

我想将 Micrometer 的默认执行器指标(JVM 内存等)发送到 AWS ElasticSearch 实例,并在 Kibana 中可视化数据。

我认为我设置正确,但在 Kibana 中没有数据。

这是我的配置:

compile 'io.micrometer:micrometer-registry-elastic:latest.release' management.metrics.export.elastic.host=https://${url}.us-east-1.es.amazonaws.com

URL 在应用程序中是硬编码的,我只是在这里删除了它。我正在使用的 url 来自我的 ES 域的 AWS 仪表板,其中列出了:

Endpoint: https://${url}.us-east-1.es.amazonaws.com

但是使用这种配置,我无法在 Kibana 中显示任何数据。

其他注意事项:我知道 Micrometer 可以访问这些数据,因为我设置了 Prometheus 端点,我可以在其中查看执行器信息。这只是一个应该如何发送到弹性的问题。

资源:

http://micrometer.io/docs/registry/elastic

https://docs.spring.io/spring-boot/docs/current/reference/htmlsingle/#production-ready-metrics-export-elastic

https://github.com/micrometer-metrics/micrometer/blob/master/implementations/micrometer-registry-elastic/src/main/java/io/micrometer/elastic/ElasticConfig.java