解决服务器故障的前5分钟我们该了解什么

回复 收藏
在服务器出现故障之前不要先急于解决问题,而是要先找出和故障相关的一些细节信息,这样才不会浪费大量的时间

     比如:

      1:出现这个故障会产生什么样的后果,反应变慢?报错?业务中断?

      2:这故障时什么时候被人发现的?

      3:这个故障会重复产生吗?

      4:在产生故障之前对服务器有过什么操作,比如修改代码,参数调整,协议栈等

      5:故障是否有特殊性?比如只针对某些用户,某个地域

      6:针对该服务故障是否存在可参考的文档?

      7:是否有监控平台? 比如:Zabbix, Nagios, New Relic

      8:是否有服务错误日志可供参考?







下面的一些命令可以让你或许一些有用信息:



查看用户

$ w
$ last



这个2个命令虽然不怎么重要,但它确可以让你知道还有谁在操作这服务器,一个厨房只要一个厨师就够了



之前操作了什么命令



$ history



有哪些进程在跑



$ pstree -a
$ ps aux





有哪些网络服务开启的,监听的端口是什么





$ netstat -ntlp
$ netstat -nulp
$ netstat -nxlp





cpu和内存信息



$ free -m
$ uptime
$ top
$ htop



硬件信息



$ lspci
$ dmidecode
$ ethtool



io 性能



$ iostat -kx 2
$ vmstat 2 10
$ mpstat 2 10
$ dstat --top-io --top-bio



挂载的文件系统信息
$ mount
$ cat /etc/fstab
$ vgs
$ pvs
$ lvs
$ df -h
$ lsof +D / /* beware not to kill your box */



内核,中断和网络负载



$ sysctl -a | grep ...
$ cat /proc/interrupts
$ cat /proc/net/ip_conntrack /* may take some time on busy servers */
$ netstat
$ ss -s

系统内容日志和内核信息



$ dmesg
$ less /var/log/messages
$ less /var/log/secure
$ less /var/log/auth



crontab 执行任务



$ ls /etc/cron* + cat
$ for user in $(cat /etc/passwd | cut -f1 -d:); do crontab -l -u $user; done



总结:

在这5分钟时间内,你应该了解到:

   1:有什么东西在运行

   2:存在的故障是否有可能和io/硬件/网络/内核 有联系

   3:有哪些应用是你可以意识到可能存在的故障
2014-04-15 20:33 举报
已邀请:
0

huang.z.p

赞同来自:

i_f48.gif

回复帖子,请先登录注册

退出全屏模式 全屏模式 回复
评分
可选评分理由: