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
专家建议与常见误区
-
负载解读误区:当load average超过CPU核心数时,需结合iowait值判断是CPU还是IO瓶颈
-
内存使用误区:Linux会主动利用空闲内存做缓存,可用内存少不一定是问题
-
网络优化建议:调整TCP窗口大小和TIME_WAIT回收策略
echo "net.ipv4.tcp_tw_recycle = 1" >> /etc/sysctl.conf
sysctl -p
- 存储预警机制:建议设置inode使用率监控,特别是小文件多的系统
df -i
- 安全基线建议:定期检查setuid文件变化
rpm -Va --nogroup --nouser | grep '^.....U'
正文到此结束
相关文章
热门推荐
评论插件初始化中...