高效工作之-----如何看中间件日志

       虽然日益流行的的docker让中间件的安装部署使用零成本,还是整理一下老码农在日常工作中对于中间间的经验,纯从部署角度因为参与了很多部署支撑相关的工作,以及整理发布包可能知识有些落伍,分享的有些晚但也算记录一下老年码农的艰辛历史。毕竟docker也是会出现一些意向不到的问题。

       场景一: 服务器centos7.2 , docker1.12  的独立node服务启动。

       问题: 产品有5个服务 分别为 服务1,服务2,nginx,consul,redis ,在一次掉电经历之后因为配置了docker 进程守护,容器配置的也是自动重启,所以docker1.12在启动的时候整个服务都启动不了。

       原因: docker1.12版本在启动之后会分批次的启动容器一次只启动4个,当出现redis第一轮启动没有到位的情况下,会导致其他两个服务启动不起来,导致整个服务不能运行。(原因是简单的,重要的发现这个原因的过程,但是过程也是简单的,但是思想还是有点用处。)

        排查问题的方法: 看日志 /var/log/message 中有docker的详细启动日志。

        总结:这可能是唯一比较有用的案例,但是现在docker越来越强,已经让人变得太懒了。中间件变得easey的不要要的,但是如果你用的老版本docker或者出现什么不知道的细节导致服务的在系统级出现异常, 先怀疑docker是没有问题的,毕竟中间件很多年级都跟我们差不多大对业务影响是存在的,但是对服务影响基本可能性很低。

      场景二: 同事处理mysql的时候面向百度处理,导致服务无数据。

       问题:有一次线上生产环境同事要整理线上所有用户权限,以避免违规操作,同事面向百度修改mysql的权限导致所有数据拿不到。

       解决办法:那可是生产环境,当时同事懵逼了(是一个线网黑时间,那可是要走人赔钱的。),然后让我去处理/var/log/mysql(反正就是mysql的日志文件一看),permisson “/某个文件地址”,重新赋权不到一分解决潇洒走人。当时觉得有点牛逼,毕竟同事是个美女而且是我老大,而且她周围坐着3(2java,1ios)个5年以上的大佬都没解决,哈哈哈……

       反思:其实不要让程序员去管运维的事情,这个很重要。  嗯还有就是关于生产可能遇到的问题要熟悉linux,知道他的原理毕竟很多运维也是超级不靠谱。

        总结:做程序员一定要知道中间见日志怎么看,尤其是什么数据库,不然不要盲目面向百度去搞生产环境,不然可是拿职业生涯做赌注。

        场景n:其实写下去没必要了,都是在中间件看日志,你可以不用懂这些中间件,但是你一定要懂怎么看他们的日志。

中间件日志的排查:

       所有的apt,yum 安装如果不配置特殊参数那么日志都会存在、/var/log/中。熟练使用 vi  在命令模式下"/"+你要搜索的关键字shift+u 上翻? u下翻? 反正就可以找到你要找的关键字,搞出来百度就行了。

 

 

你可能感兴趣的:(高效工作,日志)