一次kibana服务失败的排查过程
公司在kubernetes集群上稳定运行数月的kibana服务于昨天下午突然无法正常提供服务,访问kibana地址后提示如下信息:
排查过程:
看到提示后,第一反应肯定是检查elasticsearch集群,碰巧昨天下午公司VPN奇慢,频繁连接不上亦庄机房,因此问题排查一度集中在elasticsearch服务上,另一方面也是因为kibana服务由docker镜像提供,只读服务本身是没有状态变化的,在kubernetes集群中查看pod状态,也没有崩溃重启的记录,因此只能怀疑是连接的elasticsearch数据源无法访问。
在公司VPN逐渐正常后,确认目标elasticsearch集群状态也一直正常,问题排查稍微有些停顿。kibana服务本身及数据源elasticsearch集群都正常,那么问题只能出在kibana服务的运行环境,即docker或kubernetes集群之上,由于提示信息是请求超时,因此问题进一步定位到kubernetes及docker的网络状态。
进入容器内部访问elasticsearch集群,不出意外,无法ping通,看来确实是由于网络问题引起的kibana服务无法正常访问elasticsearch集群。
进一步测试得知,所有容器内部都无法访问外部地址,但是docker寄宿的虚拟机是可以访问外部地址的,因此最终定位问题在docker的虚拟网桥docker0工作不正常导致。
问题解决:
问题定位后,仍然不确定为何会产生这个问题,kubernetes集群的docker节点采用docker 1.12.1版本:
问题原因未知,仅定位了问题,解决问题只有采用笨办法:重新启动kubernetes集群节点机上的docker服务及kubelet服务。
在重启后,kubernetes自动重新调度kibana服务至节点机,进入pod内部后,访问外部网络恢复正常,在浏览器访问kubernetes提供的kibana服务,恢复正常,问题解决。但问题产生的原因依然未知:docker0网桥中止包转发,导致docker0挂接的所有容器网络异常。如有高人知道请不吝指出,谢谢。
最新文章
- (转)TortoiseSVN与VisualSVN Server搭建SVN版本控制系统
- WPF 自定义TextBox,可控制键盘输入内容
- Lua: 好的, 坏的, 和坑爹的
- IntelliJ IDEA安装AngularJS插件
- 获取table的行数
- gerrit 使用笔记
- 深入探索 Java 热部署
- Junit3.8
- art.dialog
- Hortonworks HDP Sandbox定制(配置)开机启动服务(组件)
- 【二分+最大团】【HDU3585】【maximum shortest distance】
- spring整合flex
- wired-wireless_priority
- Contest2195 - 2019-4-25 高一noip基础知识点 测试8 题解版
- day 14 - 2 生成器练习
- 单机单网卡最大 tcp 长连接数是 65535 吗
- FICO-初级会计学
- PHP读取HTML生成doc
- 剑指offer——python【第40题】数组中只出现一次的数字
- export to excel
热门文章
- 航旅事业群面试(li)
- volatile
- Linux下history命令用法
- python学习笔记- 多线程(1)
- 高性能 TCP &; UDP 通信框架 HP-Socket v3.5.1
- arcgis api for js入门开发系列一arcgis api离线部署
- Javascript前端和JAVA后端对加密库的处理实例
- android AsynTask处理返回数据和AsynTask使用get,post请求
- UICollectionViewCell定制Button
- 网络安全——数据的加密与签名,RSA介绍