告警
晚七点刚好上地铁,握在手里的手机震动了好几下,根据震动这几下的手感已经判断出这是钉钉在告警了,十有八九就是线上的问题,通过Zabbix监控的一台线上服务器已经五分钟不可达,这应该不会是网络网络问题了,如果是网络问题,其他线上机器应该都会不可达。没背电脑,只能干着急,后来大概看了一下云平台是因为CPU过高导致的。过了大概半个小时,有自动恢复了。
其实这个问题隐隐约约出现好几次了,只是没去重视,今天一来到公司就开始打开xshell,啪啪啪几下登录上去之后,袖子一卷,准备好好排查一下,看看到底是何方妖怪让我的CPU飙升还机器都连不上去。
排查
呆呆的看着这个黑色的框框,没错,我呆呆的看着他看了一天了。因为我完全没有头绪,没有思路,从哪里下手?按照平时的套路,看日志,打开几个相关的日志,眼睛都瞄没了,也没找到什么有用的东西。网上搜索一下,看看有么有什么好的办法排查,打开Google,打开baidu,千篇一律,简直就是复制粘贴,基本上使用top找到CPU占用高的进程,然后看进程的日志。但是我现在已经不是第一现场了。回想起了以前面试的时候面试过经常会问当你的机器CPU突然很高时,你怎么办?头脑里也一次又一次的出现平时说要好好看看linux系统的书,没看,真后悔,等这次后我一定要把这方面的知识好好学习学习,系统的学习。可是等今晚回去睡一觉,明早一醒来,还是原样。
反思
日复一日,年复一年,毕业已三年半,运维职业生涯将近四年。三天打鱼,两天晒网,今天看Docker,明天看ELK,样样都没学通。基础底层的东西还是一窍不通。有时候能明显的感觉到自己脑袋里那点知识是少之又少。现在做运维感觉都是很先进的东西,AIOps,DevOps,这些东西不学也不行。但我觉得不管什么Ops,基础还是很重要。还是打算在跟上时代的脚步时,想往系统运维这一块深入发展。
单从Zabbix的这几个CPU监控项来说,每个监控项的意义是什么,估计会难道一大批跟我一样的工程师们。
system.cpu.switches system.cpu.util[,guest_nice] system.cpu.util[,guest] system.cpu.util[,idle] system.cpu.util[,interrupt] system.cpu.util[,iowait] system.cpu.util[,nice] system.cpu.util[,softirq] system.cpu.util[,steal] system.cpu.util[,system] system.cpu.util[,user] system.cpu.intr system.cpu.load[percpu,avg1]
不知不觉天已黑,又到了下班,心里多了几分沉重感。