Bootstrap

【BUG】ES使用过程中问题解决汇总

安装elasticsearch内存不足问题

问题回顾

运行kibana服务的时候,无法本地访问

解决

首先排查端口问题,然后检查错误日志

无法运行kibana服务,是因为elasticsearch没有启动的原因

发现致命错误,确定是elasticsearch服务没有运行导致的问题 

排查错误日志

被9号进程干死了 

确认问题根源,内存不足导致elasticsearch无法运行 

通过使用交换区实现内存扩容 

sudo fallocate -l 2G /swapfile
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile
free -h
echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab
sudo systemctl restart elasticsearch

浏览器无法访问5601和9200端口问题

问题回顾

安全组配置没问题

服务启动正常

9200端口可以返回内容;5601无法返回 

解决 

尝试解决

  • 首先检查 Kibana 和 Elasticsearch 服务状态,检查其日志是否有错误
  • 测试了内网的访问,测试通过Window cmd ping云服务器地址发现没问题
  • 后续检查网路配置
    • 检查监听地址以及端口监听状态
    • 测试网络连通性
  • 最后检查安全组

最终问题出现在安全组

安全组没有正确的的打开其所需要的端口,在原地址访问设置成了安全组,而不是所有地址

 总结反思

 类似问题排查清单

  • 服务状态是否正常
  • 服务监听地址是否正确
  • 本地访问是否正确
  • 网络层(安全组或防火墙)是否开放所有端口
  • 外网测试连通性是否正常

无法正确加载Kibana

问题回顾

 9200端口正常访问,但是5601Web可视化界面无法正常访问

解决

 问题排查:怀疑 kibana 无法连接到 Elastricsearch从而导致错误

 找到Kibana配置文件,在文件显式的设置elasticsearch.hosts

修改后访问网页问题

检查Elasticsearch服务是否正常

检查Elasticsearch服务和Kibana索引初始化

检查两者版本 

主版本号一致,兼容性不会出现问题

修改配置文件后并没解决问题,反而导致导致了进一步加载不成功的问题

怀疑默认的配置已经将两者连接,所以不需要二次连接;将配置删除后,问题重新回到起点

网页可以加载,但是加载不出来资源,从网页加载资源反推问题原因

错误分析

  • Refused to execute inline script (安全策略问题)
    • 因为 Kibana 设置了严格的内容安全策略 (CSP),禁止直接在 HTML 中运行内联脚本
  • ERR_INCOMPLETE_CHUNKED_ENCODING
    • 该错误表示资源文件未能正确加载,通常与网络传输中断或服务器内存不足有关
  • Uncaught TypeError: Cannot read properties of null
    • 该错误通常意味着脚本未加载完全,依赖的资源缺失或未正确解析

排除问题1

Kibana启动正常,没有错误提示;Elasticsearch状态良好 


进一步排除问题

 检查网络状态

检查端口监听状态

进一步优化kibana.yml中的配置

重启服务保存配置;测试Kibana和Elasticsearch之间的连接是否正常

检查网络和代理设置

该处提示内容安全策略出现了问题,怀疑其阻止了脚本的执行 

 修改CSP配置文件,进一步放宽CSP限制,然后重启Kibana服务

修改后问题依然存在


允许内联脚本或者指定哈希值

报错的主要原因还是因为某些内联脚本被阻止;根据错误提醒允许该脚本执行

然后重启服务进行验证

结论:非该处脚本错误


重新安装尝试

卸载清除原有的服务

sudo apt remove --purge kibana elasticsearch
sudo apt autoremove --purge

 删除配置文件并验证

sudo rm -rf /etc/kibana /var/lib/kibana /var/log/kibana
sudo rm -rf /etc/elasticsearch /var/lib/elasticsearch /var/log/elasticsearch
dpkg -l | grep kibana 

添加elastic官方源

wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo apt-key add -
sudo apt-get install apt-transport-https
echo "deb https://artifacts.elastic.co/packages/8.x/apt stable main" | sudo tee -a /etc/apt/sources.list.d/elastic-8.x.list
sudo apt update

重新安装

sudo apt install elasticsearch kibana

总结

最终问题是本机浏览器(微软+谷歌)无法访问该接口服务,通过更换平板设备可以正常访问,配置同上,后续等项目结束再深究原因

;