在线排查,你遇到过以下场景吗?1.了解机器连接数问题:1.2.3.4中sshd的监听端口为22,如何统计1.2.3.4中sshd服务的各种连接状态(TIME_WAIT/CLOSE_WAIT/ESTABLISHED)连接数。常用方法:netstat-n|grep1.2.3.4:22|awk'/^tcp/{++S[$NF]}END{for(ainS)printa,S[a]}'netstat-lnpta|grepssh|egrep“TIME_WAIT|关闭等待|ESTABLISHED”n[仅限阿里云]注:netstat是一个常用的网络连接问题追踪工具,配合grep/awk使用效果更佳。当然,如果你在阿里云上,还有更方便的方法。2、从备份的日志中查询数据:从备份的suyun.2019-06-26.log.bz2日志中,查询出有多少条日志包含关键字1.2.3.4。常用方法:bzcatsuyun.2019-06-26.log.bz2|grep'1.2.3.4'|wc-lbzgrep'1.2.3.4'suyun.2019-06-26.log.bz2|wc-l少素云。2019-06-26.log.bz2|grep'10.37.9.11'|wc-l解释:在线日志文件一般在bz2压缩后保留。如果解压再查询,会消耗大量的空间和时间。bzcat和bzgrep是研发同学必须掌握的工具。3、备份服务技巧:对/opt/web/suyun_web目录进行打包备份,排除目录下的日志和目录,打包后的文件存放在/opt/backup目录下。常用方法:tar-zcvf/opt/backup/shenjian.tar.gz\-exclude/opt/web/suyun_web/logs\/opt/web/suyun_web说明:网上经常用到这个命令,当项目需要打包的时候而迁移后,经常需要排除日志目录,exclude是一个需要掌握的参数。4、查询线程数:查询服务器上运行的线程总数。当机器线程数超过报警阈值时,可以快速查出相关进程和线程信息。参考答案:ps-eLf|wc-lpstree-p|wc-l5.磁盘告警,清除最大文件问题:找出服务器上运行tomcat产生的大量异常日志,找出文件,释放空间。不妨设置包含log关键字的文件,并且大于1G。常用方法:第一步,找到文件find/-typef-name"*log*"|xargsls-lSh|moredu-a/|sort-rn|greplog|morefind/-name'*log*'-size+1000M-execdu-h{}\;第二步是清除文件。假设找到的文件是a.log,正确的做法应该是:echo"">a.log文件空间会立即释放。很多同学会用到:虽然rm-rfa.log这个文件被删除了,但是由于tomcat服务还在运行,所以空间不会马上释放,需要重启tomcat才能释放空间。6、显示文件,过滤注释问题:显示server.conf文件,屏蔽#开头的注释行。常用方法:sed-n'/^[#]/!p'server.confsed-e'/^#/d'server.confgrep-v"^#"server.conf七、磁盘IO异常排查:如何排查磁盘IO异常,如写入慢或电流高,请找出导致磁盘IOID异常高的进程。常用方法:第一步:iotop-o查看当前正在写入磁盘的所有进程ID信息。第二步:如果此时所有写指标都很低,基本没有大写操作,需要检查磁盘本身。可以查看系统dmesg或cat/var/log/message是否有相关的磁盘异常错误,同时可以在慢写磁盘上touch一个空文件,看磁盘故障是否防止写作。【本文为专栏作者《58神剑》原创稿件,转载请联系原作者】点此阅读更多该作者好文
