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