一次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挂接的所有容器网络异常。如有高人知道请不吝指出,谢谢。
一次kibana服务失败的排查过程的更多相关文章
- MySQL-记一次备份失败的排查过程
山竹来临,窝在家里整理个人文档. 本篇文章主要讲解排查问题的思路,涉及linux 删除文件的原理.实例误删数据恢复.MySQL实例初始化参数优先级别等,虽然涉及知 ...
- mac上用ssh登录服务失败的排查方法
ssh -vvv user@ip/ traceroute ip telnet ip 22 ping
- Linux(2)---记录一次线上服务 CPU 100%的排查过程
Linux(2)---记录一次线上服务 CPU 100%的排查过程 当时产生CPU飙升接近100%的原因是因为项目中的websocket时时断开又重连导致CPU飙升接近100% .如何排查的呢 是通过 ...
- 记一次生产环境Nginx日志骤增的问题排查过程
摘要:众所周知,Nginx是目前最流行的Web Server之一,也广泛应用于负载均衡.反向代理等服务,但使用过程中可能因为对Nginx工作原理.变量含义理解错误,或是参数配置不当导致Nginx工作异 ...
- 干货!一次kafka卡顿事故排查过程
由于一次功能上线后,导致某数据量急剧下滑,给我们紧张的呢!排查过程也是个学习过程(这其中有大部分是领导们的功劳,不过分享给大家应该也不犯法吧,ᐓ) 1. 确认问题的真实性? 被数据部门告知,某数据量下 ...
- 【Redis连接超时】记录线上RedisConnectionFailureException异常排查过程
项目架构: 部分组件如下: SpringCloudAlibaba(Nacos+Gateway+OpenFeign)+SpringBoot2.x+Redis 问题背景: 最近由于用户量增大,在高峰时期, ...
- 使用Spring Security Oauth2完成RESTful服务password认证的过程
摘要:Spring Security与Oauth2整合步骤中详细描述了使用过程,但它对于入门者有些重量级,比如将用户信息.ClientDetails.token存入数据库而非内存.配置 ...
- Linux系统重启network服务失败
问题描述 使用KVM通过修改配置文件配置好网卡IP,使用命令行service network restart 重启网络服务失败. 如图: 使用图形化管理工具配置IP,在系统界面右上角可以看到网卡状态为 ...
- Connection refused 排查过程
Connection refused 排查过程 connection refused 排查 起因 今天在连接 rabbitmq 时,报 Connection refused (如下图),借此机会记 ...
随机推荐
- mysql数据库乱码的问题解决
排查原因:打断点,查看到底是在执行存数据库操作之前就已经乱码了,还是存数据库操作后乱码的. 1.前者解决方案: 在web.xml里面加上: <filter> <filter-name ...
- Live555流媒体服务器编译(Windows下)
最近在回顾之前做过的相关项目,其中包括live555流媒体服务器相关,今天先把live555开源框架在Windows下的编译方法记录一下. live555是一套使用使用开放的标准协议(RTP/RTCP ...
- 数据结构:队列 链表,顺序表和循环顺序表实现(python版)
链表实现队列: 尾部 添加数据,效率为0(1) 头部 元素的删除和查看,效率也为0(1) 顺序表实现队列: 头部 添加数据,效率为0(n) 尾部 元素的删除和查看,效率也为0(1) 循环顺序表实现队列 ...
- Spring的IOC和AOP之深剖
今天,既然讲到了Spring 的IOC和AOP,我们就必须要知道 Spring主要是两件事: 1.开发Bean:2.配置Bean.对于Spring框架来说,它要做的,就是根据配置文件来创建bean实例 ...
- 兼容javascript和C#的RSA加密解密算法,对web提交的数据进行加密传输
Web应用中往往涉及到敏感的数据,由于HTTP协议以明文的形式与服务器进行交互,因此可以通过截获请求的数据包进行分析来盗取有用的信息.虽然https可以对传输的数据进行加密,但是必须要申请证书(一般都 ...
- 深入理解javascript选择器API系列第三篇——h5新增的3种selector方法
× 目录 [1]方法 [2]非实时 [3]缺陷 前面的话 尽管DOM作为API已经非常完善了,但是为了实现更多的功能,DOM仍然进行了扩展,其中一个重要的扩展就是对选择器API的扩展.人们对jQuer ...
- 初识IOS,Label控件的应用。
初识IOS,Label控件的应用. // // ViewController.m // Gua.test // // Created by 郭美男 on 16/5/31. // Copyright © ...
- 离开Autodesk,开启新篇章
我已经离开了Autodesk,开启新篇章.在过去7年多时间中,我先后支持Autodesk 基础设施相关产品的开发,包括MapGuide/AIMS,Map3D,Civil 3D,Infraworks等, ...
- 做一个 App 前需要考虑的几件事
做一个 App 前需要考虑的几件事 来源:limboy的博客 随着工具链的完善,语言的升级以及各种优质教程的涌现,做一个 App 的成本也越来越低了.尽管如此,有些事情最好前期就做起来,避免当 ...
- iOS --SQL的增加、删除、查找、修改
iOS对于数据库的操作:增加.删除.查找.修改 首先需要创建一个数据库:本程序的数据库是在火狐浏览器里的插件里写的微量型数据库 火狐找查找SQLite Manager的步骤: 第一步:在工具栏找到附加 ...