Linux服务器运维巡检指南与实战命令大全

一、基础系统信息核查

(1)操作系统版本识别

uname -a
cat /etc/os-release
lsb_release -a

示例输出:

Linux web01 5.4.0-150-generic #167-Ubuntu SMP Mon Oct 24 18:34:22 UTC 2022 x86_64 x86_64 x86_64 GNU/Linux

(2)系统运行时长验证

uptime

典型输出:

 10:25:03 up 68 days, 18:45,  3 users,  load average: 0.08, 0.03, 0.05

(3)硬件配置核查矩阵

lscpu | grep -E 'Architecture|CPU(s)|Thread|Model name'
free -h
df -Th

二、性能监控深度解析

(1)实时资源监控组合技

vmstat 1 5
mpstat -P ALL 1
iostat -xz 1 3

(2)内存泄漏追踪方案

watch -n 1 "free -m; echo; ps aux --sort=-%mem | head -n 5"

(3)存储IO瓶颈定位

iotop -oPa
dd if=/dev/zero of=/tmp/testfile bs=1G count=1 oflag=direct

三、网络状态全方位检测

(1)连接状态全景分析

ss -tulnp | column -t
conntrack -L | wc -l

(2)路由追踪优化方案

mtr -n --report google.com

(3)流量监控实时看板

nload -u M eth0
iftop -i eth0 -nNP

四、安全审计实战手册

(1)异常登录检测

last -f /var/log/wtmp | head -n 20
grep 'Failed password' /var/log/auth.log | awk '{print $11}' | sort | uniq -c

(2)防火墙规则验证

iptables -nvL --line-numbers
firewall-cmd --list-all-zones

(3)SUID文件审查

find / -perm -4000 -type f -exec ls -l {} \; 2>/dev/null

五、日志分析专家视角

(1)实时日志监控

journalctl -f -u nginx
tail -f /var/log/syslog | grep -E 'error|fail'

(2)日志模式识别

awk '/502 Bad Gateway/{print $1,$2}' /var/log/nginx/access.log | sort | uniq -c

(3)日志轮转验证

logrotate -d /etc/logrotate.d/nginx

六、存储管理进阶技巧

(1)LVM状态核查

pvs; vgs; lvs
lvdisplay --maps

(2)磁盘健康监测

smartctl -a /dev/sda | grep -i 'Reallocated_Sector_Ct'
hdparm -tT /dev/sda

(3)文件系统修复

fsck -y /dev/sdb1
xfs_repair /dev/sdc1

七、进程与服务管控

(1)僵尸进程排查

ps -eo pid,ppid,stat,cmd | grep '^[Zz]'

(2)服务依赖分析

systemctl list-dependencies nginx.service

(3)资源占用审计

ps -eo pid,user,%mem,%cpu,cmd --sort=-%mem | head -n 10

八、定时任务深度审查

(1)隐藏任务检测

find /etc/cron* -type f -exec grep -Hv '^#' {} \;

(2)异常路径审查

grep -r '/dev/shm' /etc/cron* /var/spool/cron

九、内核参数调优指南

(1)关键参数核查

sysctl -a | grep -E 'net.ipv4.tcp_tw_reuse|vm.swappiness'

(2)文件句柄监控

watch -n 1 'cat /proc/sys/fs/file-nr'

十、备份恢复实战方案

(1)差异备份策略

rsync -avz --delete --link-dest=/backup/previous /data/ /backup/current

(2)备份完整性验证

sha256sum /backup/*.tar.gz > checksums.txt
gpg --verify backup.tar.gz.sig

十一、自动化巡检脚本示例

#!/bin/bash
REPORT_FILE="/var/log/system_health_$(date +%Y%m%d).log"

{
  echo "===== SYSTEM CHECK START ====="
  date
  echo -e "\n[Memory Status]"
  free -h
  
  echo -e "\n[Disk Usage]"
  df -Th | grep -v tmpfs
  
  echo -e "\n[Load Average]"
  uptime
  
  echo -e "\n[Top Processes]"
  ps -eo pid,user,%mem,%cpu,cmd --sort=-%mem | head -n 5
  
  echo -e "\n[Network Connections]"
  ss -s
  
  echo -e "\n[Security Check]"
  last | head -n 10
  
  echo "===== SYSTEM CHECK END ====="
} | tee $REPORT_FILE

十二、可视化监控方案推荐

(1)Prometheus基础配置

scrape_configs:
  - job_name: 'node'
    static_configs:
      - targets: ['localhost:9100']

(2)Grafana仪表盘模板

wget https://grafana.com/api/dashboards/1860/revisions/22/download -O node-exporter.json

专家建议与常见误区

  1. 负载解读误区:当load average超过CPU核心数时,需结合iowait值判断是CPU还是IO瓶颈

  2. 内存使用误区:Linux会主动利用空闲内存做缓存,可用内存少不一定是问题

  3. 网络优化建议:调整TCP窗口大小和TIME_WAIT回收策略

echo "net.ipv4.tcp_tw_recycle = 1" >> /etc/sysctl.conf
sysctl -p
  1. 存储预警机制:建议设置inode使用率监控,特别是小文件多的系统
df -i
  1. 安全基线建议:定期检查setuid文件变化
rpm -Va --nogroup --nouser | grep '^.....U'
正文到此结束
评论插件初始化中...
Loading...