2

服务器后台:3节点elasticsearch集群+kibana+logstash运行在docker环境。主机服务器运行 rhel7.7(2cpu,8GB RAM + 200GB 文件共享)。

版本

  • 弹性搜索 7.5.1
  • 基巴纳 7.5.1
  • 日志存储 7.5.1
  • filebeat 7.5.1(在单独的服务器上运行)
## Cluster health status
{
  "cluster_name" : "es-cluster",
  "status" : "green",
  "timed_out" : false,
  "number_of_nodes" : 3,
  "number_of_data_nodes" : 3,
  "active_primary_shards" : 116,
  "active_shards" : 232,
  "relocating_shards" : 0,
  "initializing_shards" : 0,
  "unassigned_shards" : 0,
  "delayed_unassigned_shards" : 0,
  "number_of_pending_tasks" : 0,
  "number_of_in_flight_fetch" : 0,
  "task_max_waiting_in_queue_millis" : 0,
  "active_shards_percent_as_number" : 100.0
}

## Node status
172.20.1.3 60 91 13 0.98 1.30 1.45 dilm - elasticsearch2
172.20.1.4 57 91 13 0.98 1.30 1.45 dilm - elasticsearch3
172.20.1.2 61 91 14 0.98 1.30 1.45 dilm * elasticsearch

## Host server TOP output
top - 11:37:10 up 11 days, 22:30,  3 users,  load average: 0.74, 1.29, 1.47                                    
Tasks: 210 total,   1 running, 209 sleeping,   0 stopped,   0 zombie                                           
%Cpu(s):  4.4 us,  0.8 sy,  0.0 ni, 94.8 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st                                
KiB Mem :  7999840 total,   712736 free,  5842300 used,  1444804 buff/cache                                    
KiB Swap:  3071996 total,  2794496 free,   277500 used.  1669472 avail Mem                                     

  PID USER      PR  NI    VIRT    RES    SHR S  %CPU %MEM     TIME+ COMMAND                                    
48491 vtha837   20   0 4003724 713564  23880 S   5.0  8.9   1:57.53 java                                       
59023 vtha837   20   0 6796456   1.5g 172556 S   2.7 20.3  28:18.07 java                                       
59006 vtha837   20   0 6827100   1.5g 176840 S   1.7 19.9  30:03.59 java                                       
  760 vtha837   20   0 6877220   1.5g 180752 S   0.7 19.9  24:37.88 java                           
59610 vtha837   20   0 1663436 258152   7336 S   0.3  3.2  16:51.84 node         

## Kibana environment variables I used for kibana docker image
    environment:
      SERVER_NAME: "kibana"
      SERVER_PORT: 9548
      ELASTICSEARCH_PASSWORD: ${ES_PASSWORD}
      ELASTICSEARCH_HOSTS: "http://elasticsearch:9550"
      KIBANA_DEFAULTAPPID: "dashboard/Default"
      LOGGING_QUIET: "true"
      XPACK_SECURITY_ENCRYPTIONKEY: ${KIBANA_XPACK_SEC_KEY}
      XPACK_SECURITY_SESSIONTIMEOUT: 600000

问题:A. 当我通过 kibana 控制台运行弹性搜索查询时,至少需要20000 毫秒才能将输出返回到控制台。但是,如果我通过 curl 或 postman 或 chrome 直接运行相同的查询(elasticsearch),则只需不到200 毫秒即可获得输出 B。即使在我加载 kibana dashboad 时发生这种情况(并非一直如此),也会收到以下错误消息和不加载一些图表。但我从控制台日志中看不到任何异常或错误

Error in visualization

[esaggs] > Request to Elasticsearch failed: {"error":{}}

如果我刷新页面,我可以看到所有图表。

Chrome 性能配置文件直接命中 elasticsearch 查询URL:http://testnode.mycompany.com.nz:9550/_cat/indices 截屏

通过 kibana 开发控制台 elasticsearch 查询Query 的 Chrome 性能配置文件:GET /_cat/indices 截屏

我不明白的是,如果我在笔记本电脑上运行相同的 docker compose 文件(windoes 10、16GB、i7 2cpu、docker 桌面运行),无论是 kibana 开发控制台查询还是直接查询 elasticseach,我都不会遇到任何缓慢的问题。

任何遇到此问题并感谢的人让我知道如何解决此问题?

提前致谢。

4

1 回答 1

0

问题是 docker 服务发现。由于某种原因,没有发生 docker 服务发现。只要我将弹性搜索主机更改为 IP,就可以获得真正的性能。

在 docker-compose 之前的 kibana 配置

ELASTICSEARCH_HOSTS: "http://elasticsearch:9550"

新配置

ELASTICSEARCH_HOSTS: "http://172.20.1.2:9550"

更多细节参考elasticsearch讨论页面

于 2020-03-08T19:45:26.643 回答