标签: elastic-cloud

如何跟踪缓慢的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的调用:

ClientConnected:            17:28:44.325 
ClientBeginRequest:    17:34:34.953 
GotRequestHeaders:    17:34:34.953 
ClientDoneRequest:    17:34:34.953 
Determine Gateway:    0ms 
DNS Lookup:         0ms 
TCP/IP Connect:            0ms 
HTTPS Handshake:    0ms 
ServerConnected:       17:34:27.538 
FiddlerBeginRequest:    17:34:34.953 
ServerGotRequest:    17:34:34.953 
ServerBeginResponse:    17:34:35.171 
GotResponseHeaders:  17:34:35.171 
ServerDoneResponse:    17:34:35.172 
ClientBeginResponse:  17:34:35.172 
ClientDoneResponse:    17:34:35.178
Run Code Online (Sandbox Code Playgroud)

因此,上面说的是Elasticsearch集群花了218ms来处理请求。但是,花费的时间是1ms。

我如何跟踪这个缓慢的请求?显然,这不是查询速度(因为花费的时间很短),因此它一定是集群中的某种东西。

有什么建议吗?

编辑

这是来自Kibana的一些数据,我做了15分钟的负载测试: 在此处输入图片说明

所以..根据我的愚蠢分析,那里看上去还不错。

  • 搜索延迟/延迟快速(<5毫秒)
  • JVM堆似乎很好
  • CPU正常
  • 没有过多的GC

但是,这是我从负载测试工具中看到的内容: 在此处输入图片说明

这是我的性能监控工具的统计信息。您可以清楚地看到峰值和缓慢的异常值: 在此处输入图片说明

不知道从这里还能去哪里?我应该寻找其他指标吗?

elasticsearch elastic-cloud

7
推荐指数
1
解决办法
277
查看次数

ElasticSearch ILM 不删除索引

我已经为我的fluentd.*索引设置了一个简单的 ILM 策略,在(用于测试 - )一小段时间后将被删除。

工业光魔:

PUT _ilm/policy/fluentd
{
  "policy": {
    "phases": {
      "hot": {
        "min_age": "0ms",
        "actions": {
          "rollover": {
            "max_age": "1d",
            "max_size": "1gb"
          },
          "set_priority": {
            "priority": 100
          }
        }
      },
      "delete": {
        "min_age": "4d",
        "actions": {
          "delete": {}
        }
      }
    }
  }
}
Run Code Online (Sandbox Code Playgroud)

索引模板:

PUT _template/fluentd
{
  "order": 0,
  "index_patterns": [
    "fluentd.*"
  ],
  "settings": {
    "index": {
      "lifecycle": {
        "name": "fluentd"
      }
    }
  },
  "aliases": {
    "fluent": {}
  }
}
Run Code Online (Sandbox Code Playgroud)

通过这些设置,我预计 ES 会删除超过 5-6 天的索引,但 …

elasticsearch elasticsearch-indices elastic-cloud

4
推荐指数
1
解决办法
3747
查看次数

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

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

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

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

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

https http elasticsearch elastic-stack elastic-cloud

3
推荐指数
1
解决办法
2079
查看次数

Elastic Cloud (kibana) 中的默认用户名以及如何找到密码

我正在试用 Elastic Cloud 14 天免费试用版。

我按照视频教程部署了弹性云。我设置了密码。但是,我不记得输入我的用户名。我尝试了我的电子邮件帐户,用于确认。我尝试了我的 IP 地址,我的 cloud.elastic.co 站点中给出的云 ID。我浏览了帐户和个人资料选项卡,但找不到任何内容。我搜索了默认用户名,但有些网站提到了“kibana”,但这也不起作用。我很尴尬,但我只有14天的时间来尝试,所以如果有人用过或一直在用这个,你能帮我吗?

我还应该在哪里寻找用户名?我根本没有设置我的用户名。如果有的话,默认用户名是什么?

在此处输入图片说明

我稍微修改了这个问题。

elasticsearch kibana elastic-stack elastic-cloud

1
推荐指数
2
解决办法
3314
查看次数

Elastic Cloud:API 端点 - 搜索时未找到 404?

描述

我想使用 REST API 并通过 API 密钥授权来查询 Elastic Cloud 实例中的数据。

采取的步骤

我尝试使用 SQL API 和搜索 API。请注意,我更喜欢使用 SQL API。

基于文档中提供的以下curl命令:

curl -X POST "localhost:9200/_sql?format=txt&pretty" -H 'Content-Type: application/json' -d'
{
  "query": "SELECT * FROM library WHERE release_date < \u00272000-01-01\u0027"
}
'
Run Code Online (Sandbox Code Playgroud)

[来源]

curl -u elastic:password https://CLUSTER_ID.REGION.PLATFORM.found.io:9243/my_index/my_type -XPOST -d '{
"title": "One", "tags": ["ruby"]
}'
{"_index":"my_index","_type":"my_type","_id":"AV3ZeXsOMOVbmlCACuwj","_version":1,"result":"created","_shards":{"total":2,"successful":1,"failed":0},"created":true}
Run Code Online (Sandbox Code Playgroud)

[来源]

以及有关 REST API 的文档,我尝试了以下操作:

import base64
import json
import requests

if __name__ == '__main__':
    response1 = requests.post(
        'https://{redacted-id}.northamerica-northeast1.gcp.elastic-cloud.com:9243/_sql?format=txt',
        headers={
            "Authorization": base64.standard_b64encode(bytes('{API_KEY_ID}:{API_KEY_KEY}', 'utf-8')),
            "Content-Type": 'application/json' …
Run Code Online (Sandbox Code Playgroud)

elasticsearch elastic-cloud

1
推荐指数
1
解决办法
2592
查看次数