面向人群:具备Linux基础的系统管理员/运维工程师
核心目标:掌握生产环境故障排查、性能调优与自动化运维
一、系统深度监控与诊断
1. atop
- 高级进程监控
实时记录系统级资源占用(支持历史回溯)
bash
atop -R # 显示磁盘I/O详情 atop -m # 聚焦内存分析
输出关键列:
SYSCPU
(内核态CPU)、USRCPU
(用户态CPU)、VGROW
(虚拟内存增长)、RGROW
(常驻内存增长)
2. iotop
- 磁盘I/O监控
实时追踪进程级磁盘读写
bash
iotop -oPa # 仅显示活跃I/O进程(按累积量排序)
3. nmon
- 一体化性能分析
生成CPU/内存/磁盘/网络的综合报表
bash
nmon -f -s 5 -c 100 # 每5秒采样1次,共100次(生成.csv报表)
4. dstat
- 自定义监控仪表盘
bash
dstat -tcmnd --disk-util # 同时显示时间戳/CPU/内存/网络/磁盘利用率
二、网络高级排查工具
1. tcpdump
- 网络抓包分析
bash
tcpdump -i eth0 port 80 -w http.pcap # 捕获80端口流量并保存 tcpdump 'tcp[tcpflags] & tcp-syn != 0' # 抓取所有SYN包(半连接检测)
2. iftop
- 实时带宽监控
动态显示网络连接流量排名
bash
iftop -P -i eth0 # 显示端口详情(-P)
3. ss
- 现代版netstat
bash
ss -tulpn # 比netstat更快:显示监听端口及进程 ss -s # 统计TCP状态(ESTAB/TIME_WAIT数量)
4. mtr
- 网络路径诊断
bash
mtr -r -c 100 google.com # 发送100个包并生成报告(定位丢包节点)
三、存储与磁盘进阶管理
1. LVM
逻辑卷管理
命令 | 作用 |
---|---|
pvcreate /dev/sdb |
初始化物理卷 |
vgcreate vg0 /dev/sdb |
创建卷组 |
lvcreate -L 100G -n lv_data vg0 |
创建逻辑卷 |
lvextend -l +100%FREE /dev/vg0/lv_data |
动态扩容 |
2. ZFS
- 企业级文件系统
bash
zpool create tank mirror /dev/sdc /dev/sdd # 创建RAID1存储池 zfs set compression=lz4 tank/db # 启用透明压缩 zfs snapshot tank/db@20240806 # 秒级快照
3. iostat
- 磁盘I/O性能分析
bash
iostat -dxm 2 # 每2秒显示设备扩展统计(%util>90%表示过载)
4. btrfs
- 高级文件系统操作
bash
btrfs subvolume create /mnt/data # 创建子卷 btrfs send /snap1 | btrfs receive /backup # 增量快照同步
四、自动化运维与脚本
1. find
高级文件搜索
bash
find /var/log -name "*.log" -mtime +30 -exec rm {} \; # 删除30天前日志 find . -size +100M -printf "%p %s\n" # 打印大于100MB的文件及大小
2. rsync
- 增量同步神器
bash
rsync -avz --delete -e ssh /data/ user@backup:/backup/ # 镜像同步(删除目标多余文件)
3. cron
进阶用法
bash
# 避免任务重叠(使用flock) * * * * * /usr/bin/flock -xn /tmp/backup.lock -c '/opt/backup.sh'
4. systemd
服务深度管理
bash
systemd-analyze blame # 分析启动耗时服务 journalctl -u nginx -f -p 3 # 实时追踪nginx错误日志(-p 3=ERR级)
五、安全审计与防护
1. auditd
- 内核级审计框架
bash
auditctl -w /etc/passwd -p wa -k passwd_change # 监控passwd文件写入 ausearch -k passwd_change -i # 查询审计日志(-i转译为可读格式)
2. SELinux
故障排查
bash
sealert -a /var/log/audit/audit.log # 分析SELinux拒绝事件 semanage port -a -t http_port_t -p tcp 8080 # 允许Nginx监听8080端口
3. fail2ban
- 自动封禁攻击IP
bash
fail2ban-client status sshd # 查看sshd防护状态
六、性能调优工具箱
1. perf
- 内核性能分析
bash
perf top -g # 实时函数级CPU热点 perf record -a -g # 全系统采样(生成perf.data) perf report --call-graph flamegraph # 生成火焰图
2. eBPF
动态追踪
bash
# 使用bcc工具包 opensnoop-bpfcc # 监控文件打开行为 biolatency-bpfcc # 统计磁盘I/O延迟分布
3. numactl
- NUMA架构优化
bash
numactl --cpunodebind=0 --membind=0 ./app # 绑定CPU和内存节点
七、容器与云原生支持
1. cgroups
资源限制
bash
cgcreate -g cpu,memory:/myapp echo "100000" > /sys/fs/cgroup/cpu/myapp/cpu.cfs_quota_us # 限制10% CPU
2. kubectl
核心命令
bash
kubectl top pod -A # 查看Pod资源消耗 kubectl debug node/node1 -it --image=busybox # 节点调试容器
3. podman
无守护进程容器
bash
podman run --userns keep-id -v $PWD:/app:Z quay.io/app # 安全身份映射
八、内核与硬件诊断
1. lshw
- 硬件拓扑探测
bash
lshw -html > report.html # 生成硬件清单报告
2. dmidecode
- 提取BIOS信息
bash
dmidecode -t memory # 查看内存条详情
3. kdump
- 内核崩溃转储
bash
crash /var/crash/vmcore /usr/lib/debug/lib/modules/$(uname -r)/vmlinux # 分析崩溃文件
九、日志聚合分析
1. logrotate
高级配置
nginx
/var/log/nginx/*.log { daily rotate 365 compress delaycompress sharedscripts postrotate /usr/bin/killall -HUP nginx endscript }
2. ELK Stack
快速检索
bash
# 使用grok解析Nginx日志 filter { grok { match => { "message" => "%{COMBINEDAPACHELOG}" } } }
成为Linux专家的关键路径
理解操作系统原理:进程调度、内存管理、文件系统实现
掌握性能分析方法论:USE法(Utilization/Saturation/Errors)、RED法(Rate/Errors/Duration)
构建自动化体系:从Shell脚本进阶到Ansible/Terraform
安全优先思维:最小权限原则、纵深防御、审计溯源