微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

javascript – Kibana卡在加载屏幕上[UPDATE – Nginx只提供部分JS文件]

Kibana没有正常启动.当我打开控制台时,它似乎是一个javascript资源问题.当我直接打开js文件(点击它们在控制台中的链接)时,它们看起来是不完整的,并且突然被切断了.不确定这是否是浏览器文件限制或某种方式我的文件已被切断?请看下面的图片,向您展示我所看到的.

Kibana stuck on loading screen

文件在chrome中看到.根据chrome加载它的方式,这是文件的最底部.

commons.bundle.js

我重新启动了kibana,看看是否可以解决它,没有运气.

我认为浏览器在js文件中有最大行限制.我不确定为什么kibana没有缩小js文件?它是以某种开发模式启动的吗?

问题摘要

我想我已经发现kibana没有加载的原因是因为js没有完全加载,这会改变我的问题,我怎么能得到我的所有javascript加载?

更新

我已将JS文件放在kibana bundles文件夹中,发现该文件完好无损.它确实是一个加载完整文件问题的浏览器.我很困惑为什么突然那些文件太长而无法被浏览器加载?两周前工作正常.仍然试图找出如何让chrome加载文件.

正如@asettouf所建议的,我删除了(备份)/ opt / kibana / optimize目录中的bundles文件夹,并再次启动了kibana.这确实重新生成了bundle文件夹但文件是相同的,这意味着我仍然有同样的问题.为什么Kibana在捆绑文件进行缓存时不会缩小js?

我的kibana.yml.我认为粘贴链接更简洁:

07002

返回打开详细日志记录,这是我删除优化文件夹并重新启动的输出.没有什么是对我的错误信息.

/var/log/kibana/kibana.log

出于隐私和安全原因,将主机名替换为localhost

07003

我认为这是一个错误,webpack模块没有正确编译JS.但是我不太了解模块来调试它.

优化文件夹中的相关文件是:

commons.bundle.js是65723行

kibana.bundle.js在108950行

这些远未优化,文件内的内容不会缩小.

curl -v localhost:5601的结果

07004

CURL直接向KIBANA JS资源请求

我可以确认卷曲-ukibanaadmin -v http://localhost/bundles/commons.bundle.js返回完整的108950内衬JS文件和卷曲-ukibanaadmin -v http://actual_kibana_hostname/bundles/commons.bundle.js返回与浏览器相同的内容(行数).

根据这些信息,我可以假设这根本不是Kibana问题.正如@val所提到的,它可能是Nginx中的一个设置,它阻止整个文件被提供,除非被localhost访问.

我想我可以排除Cloudflare,因为当我直接从浏览器点击我的服务器时,我仍然会遇到问题.

感谢大家的建议和帮助到目前为止.越来越接近解决我的问题.我将对Nginx及其设置进行更多研究.

Nginx更新

Nginx似乎只加载了我的havascript文件的前72kbs.我在我的Nginx配置文件周围搜索,无法在任何地方看到此设置.我添加了类似的东西

location / {
    ...
    proxy_max_temp_file_size 1m;
    ...
}

location / {
    ...
    sendfile on;
    sendfile_max_chunk 1m;

    ...
}

但是我仍然无法覆盖这个只允许加载文件的第一部分的奇怪设置.

该连接使用Nginx proxy_pass将端口80发送到kibanas端口’5601′.我觉得可能有一个限制文件传输超过代理的设置?只是不知道在哪里找到它.

proxypass连接看起来像:

server {
    listen 80;

    server_name logs.mydomain.com;

    auth_basic "Restricted Access";
    auth_basic_user_file /etc/Nginx/htpasswd.users;

    location / {
        proxy_pass http://localhost:5601;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection 'upgrade';
        proxy_set_header Host $host;
        proxy_cache_bypass $http_upgrade;
    }
}

我的Nginx设置发布在这里.

/etc/Nginx/Nginx.conf

07005

我尝试添加sendfile_max_chunk 512k并将worker_processes从4更改为2.任何其他配置已经存在.我不是最初设置ELK堆栈的人.

在提到的更改后,它看起来像这样:

/etc/Nginx/Nginx.conf

07006

错误返回 – 磁盘空间更新

这个问题又回来了.当我检查VMs运行状况时,我注意到磁盘驱动器已满. Elasticsearch每天都会将几GB的文本记录到错误日志中.我仍然没有完全确定为什么弹性搜索充斥错误日志.

但我认为过多的磁盘空间使用导致了这个错误. Nginx可以检测到这一点并切换到最小安全配置,这样只允许每个文件提供72kbs的数据.

当我清除了过多的日志时,我不再需要重新启动Nginx或kibana而停止获取不完整的js错误.

解决方法:

由于您在代理后面访问Kibana,您需要绕过代理并查看问题是否仍然存在,即比较加载时间

// through proxy
curl -v kibana_host/bundles/commons.bundle.js
curl -v kibana_host/bundles/kibana.bundle.js

// bypass proxy
curl -v localhost:5601/bundles/commons.bundle.js
curl -v localhost:5601/bundles/kibana.bundle.js

如果绕过代理时加载时间较短,那么您知道这不是Kibana问题,而是配置代理的方式更多.

UPDATE

由于我们已将此范围缩小到代理问题,因此请尝试使用此更新您的Nginx配置

sendfile_max_chunk 512k
worker_processes 2

更新2

尝试对Nginx配置进行另一次修改

proxy_buffering: off;

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐