发现网络插件kube-flannel一直在尝试重启,有时能够正常,有时提示 CrashLoopBackOff有时OOMKilled 3 查看kublet日志
pod 处于以上情况,可通过kubectl describe pod -n<namepsaces> <podname> 查看对应event 展示信息,基于对应报错信息进行解决;
在排错过程中,kubectl 是最重要的工具,通常也是定位错误的起点。这里也列出一些常用的命令,在后续的各种排错过程中都会经常用到。
得到上述指标后,便可灵活定义自己的业务和应用监控大盘: 我们也可以使用 PromQL,灵活定义告警规则,例如我们可以定义一个关于订单支付延时的告警: K8s 排障实践 接下来,我们将一起探讨常见的 Kubernetes 故障及其根因,并从具体案例出发,分析如何借助 Prometheus,对 K8s 进行全面排障。 排障案例 如果我们采访 K8s 运维工程师,问他们最常见、最头疼的 K8s 故障是啥,那么遥遥领先的必然是这俩: Pod 处于 pending 状态。 满足您全链路、端到端的统一监控诉求,提高运维排障效率,为业务的健康和稳定保驾护航。
我们以一些典型的场景为切入,来看看排障定位为什么会出现如此困境:01. 运维痛点——排障过程存在困境1)单点用户排障流程过去传统运维单点排障的工作实录:用户纷至沓来,客服电话被打爆,运维人员看看堆积如山的工单汗如雨下。只能一个个工单进行故障排查。 2)前端排障原理与流程当然,随着代码技术的不断演进,现在的程序员一般是不会一行一行的去排查代码的,不然动辄上万行的代码,如此去排障,运维人员、前后端人员早就“崩溃”了。 为防止前后端的“撕逼”,我们需要从什么角度去建立前端监控体系,保证前后端的工作定位准确,精准排障呢?03. 对症下药——跨越障碍实现精准排障从用户端来看,任何一个角度出现问题,都会导致用户的体验不佳,导致流失。
系统连接状态篇: 1.查看TCP连接状态 netstat -nat|awk'{print$6}'|sort|uniq-c|sort-rnnetstat-n|awk'/^tcp/{print$NF}'|sort|uniq-c|sort-rnnetstat-ant|awk'{print$NF}'|grep-v'[a-z]'|sort|uniq-c 2.查找请求数请20个IP(常用于查找攻来源): netstat -anlp|grep80|greptcp|awk'{print$5}'|awk-F:'{print$1}'|sort|uniq-c|sort-nr|head-n20 netstat -ant|awk'/:80/{split($5,ip,":");++A[ip[1]]}END{for(iinA)printA[i],i}'|sort-rn|head-n20 3.用tcpdump嗅探80端口的访问看看谁最高 tcpdump -ieth0-tnndstport80-c1000|awk-F"."'{print$1"."$2"."$3"."$4}'|sort|uniq-c|sort-nr|head-20 6.根据端口列进程 netstat -ntlp|grep 80|awk'{print$7}'|cut-d/-f1 网站日志分析篇1(Apache): 1.获得访问前10位的ip地址 cat access.log|awk'{print$1}'|sort|uniq-c|sort-nr|head-10 cat access.log|awk'{counts[$(11)]+=1};END{for(urlincounts)printcounts[url],url}' 2.访问次数最多的文件或页面,取前20 cat access.log|awk'{print$11}'|sort|uniq-c|sort-nr|head-20 3.列出传输最大的几个exe文件(分析下载站的时候常用) cat access.log|awk'($7~/\.exe/){print$10""$1""$4""$7}'|sort-nr|head-20 4.列出输出大于200000byte(约200kb)的exe文件以及对应文件发生次数 cat access.log|awk'($10>200000&&$7~/\.exe/){print$7}'|sort-n|uniq-c|sort-nr|head-100 7.列出传输时间超过30秒的文件 cat access.log|awk'($NF>30){print$7}'|sort-n|uniq-c|sort-nr|head-20 8.统计网站流量(G) cat access.log|awk'{sum+=$10}END{printsum/1024/1024/1024}' 9.统计404的连接 awk'($9~/404/)'access.log|awk'{print$9,$7}'|sort 网站日分析2(Squid篇) 2.按域统计流量 zcat squid_access.log.tar.gz|awk'{print$10,$7}'|awk'BEGIN{FS="[/]"}{trfc[$4]+=$1}END{for(domainintrfc){printf"%s\t%d\n",domain,trfc[domain]}}' 数据库篇 1.查看数据库执行的sql /usr/sbin/tcpdump-ieth0-s0-l-w-dstport3306|strings|egrep-i'SELECT|UPDATE|DELETE|INSERT|SET|COMMIT|ROLLBACK|CREATE|DROP|ALTER|CALL'
这时我们还是需要一个全面的排障流程,不能无厘头地进行优化;全面的排障流程可以帮助我们找到真正的根因和性能瓶颈,以及实施正确高效的优化方案。 这篇文章我们就从可能导致 Redis 延迟的方方面面开始,逐步深入排障深水区,以提供一个「全面」的 Redis 延迟问题排查思路。 排障事大,但咱也不能冤枉了Redis;首先我们还是应该把其它因素都排除完了,再把焦点关注在业务服务到 Redis 这条链路上。 导致 Redis Latency 的具体原因 如果使用我们的快速清单并不能解决实际的延迟问题,我们就得深入 redis 性能排障的深水区,多方面逐步深究其中的具体原因了。 总结 Redis 排障是一个循序渐进的复杂流程,涉及到 Redis 运行原理,设计架构以及操作系统,网络等等。
①安装微软Sysmon并启用 analytic and debug logging
工作中需要将原本部署在物理机或虚拟机上的一些基础服务搬到kubernetes中,在搬的过程中遇到了不少坑,这里记录一下。
以下是30个常用的排障命令 附带详细说明和一些用于华为网络设备的命令示例 以帮助小白网络工程师更好地理解: 1. Ping测试: • 方法:使用ping命令测试目标设备的连通性。
建设大模型训练排障平台是提升训练效率、降低运维成本、保障研发进度的关键基础设施。 以下是构建这样一个平台的系统化方案:一、核心建设目标故障快速定位:分钟级定位硬件/软件/算法故障根源训练过程透明化:实时监控千卡级集群训练状态智能预警:提前发现潜在故障风险(如梯度异常)知识沉淀:构建可复用的排障知识库二
现象:某个Node频繁出现“PLEG is not healthy: pleg was last seen active 3m46.752815514s ago; threshold is 3m0s”错误,频率在5-10分钟就会出现一次。
Windows Cloud-Init 排障思路 确认Windows Server内部 cloudbase-init 服务是正常运行 1、登录虚拟机(如果忘记密码或者因为cloudbase-init 服务异常重置密码失败了
网络工程师经常接到各种求助电话,例如“电脑突然无法上网” 、“网页无法正常显示”、“游戏没法玩了”…… 报告故障:主动沟通确认 在电话里询问用户上面的内容,并记录在排障报告中。 逐一排查 在逐一排查阶段同样需要平衡解决问题的迫切性与引入新故障的风险性之间的矛盾。所以,应该明确告知用户排查工作可能带来的风险,并在得到许可的情况下才能执行操作。 有些情况下,通过逐一排查验证推断的过程涉及到网络变更,这时必须做好完善的应急预案和回退准备。 解决故障 如果通过逐一排查找到了故障的根本原因,并排除了故障,网络故障排除的流程就可以结束了。
实战干货:编程严选网 1 排障过程 系统从圣诞节那天晚上开始,每天晚上固定十点多到十一点多这个时段,大概瘫痪1h左右,过这时段系统自动恢复。系统瘫痪时的现象就是,网页和App都打不开,请求超时。
rancher 所在 k8s 集群(local 集群)间歇性挂,而其纳管的另一个生产 k8s 集群没有这个问题。
网络无法通信通用排障流程 ✔ 基础连通性验证 1)ping 本机IP 2)ping 网关 3)ping 同网段设备 4)ping 其他网段 5)traceroute 跳点定位 判定逻辑: 能否 ping 问题 典型现象 水晶头歪斜 速度跌为10M、随机断链 光模块速率不匹配 单向链路Up/Down反复抖动 光功率过低(>-23dBm即危险) 帧错,丢包增大 双绞线过长 > 100m 速率自动降级 排障动作 switchport trunk allowed vlan add 10,20 5 秒全楼恢复 广播风暴 / 环路导致整网卡死 现象 ping随机丢包50%+ CPU升到80%以上 交换机流量飙到线速 核心排障
一、概述 1.1 什么是Traceroute 当遇到网络问题,通常会用Traceroute去排查,但Traceroute是什么? 根据百度百科定义,Traceroute是一种电脑网络工具,它可显示数据包在IP网络经过的路由器的IP地址。 Traceroute有三大特点: 跨平台。Traceroute工具存在与各个操作系统平台,包括主流系统MAC OS、Windows、Linux、Android、IOS等; 使用方便。只要在Traceroute后输入IP或域名即可; 信息全面。Traceroute能够显示跳数
Redis 执行 GET、SET、DEL 命令耗时也很久为什么我的 Redis 突然慢了一波,之后又恢复正常了为什么我的 Redis 稳定运行了很久,突然从某个时间点开始变慢了这时我们还是需要一个全面的排障流程 ,不能无厘头地进行优化;全面的排障流程可以帮助我们找到真正的根因和性能瓶颈,以及实施正确高效的优化方案这篇文章我们就从可能导致 Redis 延迟的方方面面开始,逐步深入排障深水区,以提供一个「全面」的 当某进程又需要这些数据且OS发现还有空闲物理内存时,又会把SWAP分区中的数据交换回物理内存中,这个过程称为SWAP IN,详情可参考这篇文章redis 监控指标合理完善的监控指标无疑能大大助力我们的排障 系统引起的延迟比在物理机上也要高得多 结果就是,即使 Redis 在亚微秒的时间级别上能处理大多数命令,网络和系统相关的延迟仍然是不可避免的Redis实例所在的机器带宽不足 / docker网桥性能问题等排障事大 启用并使用 Redis 的延迟监控功能,更好的监控 Redis 实例中的延迟事件和原因导致Redis Latency的具体原因如果使用我们的快速清单并不能解决实际的延迟问题,我们就得深入 redis 性能排障的深水区
JVM 运维实用排障工具 1、jps 用来查看Java进程的具体状态, 包括进程ID,进程启动的路径及启动参数等等,与unix上的ps类似,只不过jps是用来显示java进程,可以把jps理解为ps的一个子集