通过 kibana 控制台的 Elasticsearch 查询响应缓慢
Elasticsearch query slow response via kibana console
服务器后台:3节点elasticsearch集群+kibana+logstash运行ning在docker环境中。主机服务器 运行s rhel7.7(2cpu,8GB RAM + 200GB 文件共享)。
版本:
- 弹性搜索 7.5.1
- kibana 7.5.1
- logstash 7.5.1
- filebeat 7.5.1(运行s 在单独的服务器上)
## 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 控制台 运行 elasticsearch 查询时,至少需要 20000 ms return 输出到控制台。但是,如果我 运行 通过 curl 或邮递员或 chrome 直接(elasticsearch)进行相同的查询,则只需要不到 200 毫秒 就可以得到输出
B. 即使在我加载 kibana 仪表板时发生这种情况(并非所有时间),也会收到以下错误消息并且不会加载一些图表。但我无法从控制台日志中看到任何异常或错误
Error in visualization
[esaggs] > Request to Elasticsearch failed: {"error":{}}
如果我刷新页面,我可以看到所有的图表。
Chrome performance profile directly hitting elasticsearch query URL: http://testnode.mycompany.com.nz:9550/_cat/indices
Chrome performance profile via kibana dev console elasticsearch query Query : GET /_cat/indices
我不明白的是如果我 运行 在我的笔记本电脑中 docker 撰写文件(windoes 10、16GB、i7 2cpu、docker 桌面 运行ning)我没有遇到任何缓慢的问题,无论是 kibana 开发控制台查询还是直接查询 elasticseach。
任何人遇到这个问题并感谢让我知道如何解决这个问题?
提前致谢。
问题是 docker 服务发现。由于某种原因 docker 服务发现没有发生。只要我将 elasticsearch 主机更改为 IP 即可获得真正的性能。
在docker-compose 之前的kibana配置
ELASTICSEARCH_HOSTS: "http://elasticsearch:9550"
新配置
ELASTICSEARCH_HOSTS: "http://172.20.1.2:9550"
服务器后台:3节点elasticsearch集群+kibana+logstash运行ning在docker环境中。主机服务器 运行s rhel7.7(2cpu,8GB RAM + 200GB 文件共享)。
版本:
- 弹性搜索 7.5.1
- kibana 7.5.1
- logstash 7.5.1
- filebeat 7.5.1(运行s 在单独的服务器上)
## 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 控制台 运行 elasticsearch 查询时,至少需要 20000 ms return 输出到控制台。但是,如果我 运行 通过 curl 或邮递员或 chrome 直接(elasticsearch)进行相同的查询,则只需要不到 200 毫秒 就可以得到输出 B. 即使在我加载 kibana 仪表板时发生这种情况(并非所有时间),也会收到以下错误消息并且不会加载一些图表。但我无法从控制台日志中看到任何异常或错误
Error in visualization
[esaggs] > Request to Elasticsearch failed: {"error":{}}
如果我刷新页面,我可以看到所有的图表。
Chrome performance profile directly hitting elasticsearch query URL: http://testnode.mycompany.com.nz:9550/_cat/indices
Chrome performance profile via kibana dev console elasticsearch query Query : GET /_cat/indices
我不明白的是如果我 运行 在我的笔记本电脑中 docker 撰写文件(windoes 10、16GB、i7 2cpu、docker 桌面 运行ning)我没有遇到任何缓慢的问题,无论是 kibana 开发控制台查询还是直接查询 elasticseach。
任何人遇到这个问题并感谢让我知道如何解决这个问题?
提前致谢。
问题是 docker 服务发现。由于某种原因 docker 服务发现没有发生。只要我将 elasticsearch 主机更改为 IP 即可获得真正的性能。
在docker-compose 之前的kibana配置
ELASTICSEARCH_HOSTS: "http://elasticsearch:9550"
新配置
ELASTICSEARCH_HOSTS: "http://172.20.1.2:9550"