老男孩教育-99期-实战练习题
1.
你作为"老男孩教育99期云计算"新晋运维工程师,在入职首日遭遇紧急事件:
"生产环境3台Web服务器突发性能告警,技术总监要求你立即完成:
- 快速建立故障诊断工作区
- 收集关键系统指标
- 分析异常日志片段
- 执行应急安全措施
- 准备硬件升级预案
所有操作必须通过命令行完成,30分钟内提交诊断报告!"
任务分解
1. 创建诊断环境
# 使用mkdir创建带时间戳的工作目录(注意使用{}生成日期)
创建 /var/emergency/日期_webcluster的目录
mkdir -p /var/emergency/20250430_webcluster# 进入目录并创建报告文件创建 cpu_report.txt mem_report.txt disk_report.txt 3个文件cd /var/emergency/20250430_webcluster touch cpu_report.txt memreport.txt disk_report.txt或 cd /var/emergency/20250430_webcluster touch {cpu,mem,disk}_report.txt
小扩展: 生成时间 实际不是用{} 是需要使用 $() 或 `` 这是反引号键盘esc附近的.
date +%F输出 年-月-日形式日期 mkdir -p /var/emergency/`date +%F`_webcluster mkdir -p /var/emergency/$(date +%F)_webcluster
2. 系统指标采集
# 使用管道符组合命令收集信息(注意使用..返回上级目录)
把free -h命令的前两行的内容写入/var/emergency/日期_webcluster/mem_report.txtfree -h |head -2 > /var/emergency/日期_webcluster/mem_report.txt
把lscpu命令结果中CPU的行写入到/var/emergency/日期_webcluster/cpu_report.txt
lscpu|grep CPU > /var/emergency/日期_webcluster/cpu_report.txt# 磁盘信息 df -h可以查看磁盘信息把信息中 包含/dev/sda的行写入到disk_report.txt
df -h |grep '/dev/sda' > disk_report.txt
3. 日志分析处理
# 使用tail快速定位最新异常(结合管道符过滤)
线上文件/var/log/messages最后100行内容,在这100行中过滤error的行(不区分大小写) 然后写入到文件critical_errors.log中tail -100 /var/log/messages |grep -i error >critical_errors.log
# 使用less分页查看(模拟日志分析场景)
less critical_errors.log
4. 应急安全处置
# 检查系统的主机名信息
hostname
hostnamectl # 使用shutdown规划重启(注意时间参数)
15分钟后重启linux
shutdown -r 15
2. 命令
[root@oldboy99-Kylin ~]# mkdir -p /var/emergency/20250430_webcluster
[root@oldboy99-Kylin ~]# cd /var/emergency/20250430_webcluster
[root@oldboy99-Kylin /var/emergency/20250430_webcluster]# touch {cpu,mem,disk}_report.txt
[root@oldboy99-Kylin /var/emergency/20250430_webcluster]# ll
总用量 0
-rw-r--r-- 1 root root 0 4月 30 18:19 cpu_report.txt
-rw-r--r-- 1 root root 0 4月 30 18:19 disk_report.txt
-rw-r--r-- 1 root root 0 4月 30 18:19 mem_report.txt
[root@oldboy99-Kylin /var/emergency/20250430_webcluster]# free -h |head -n2 >./mem_report.txt
[root@oldboy99-Kylin /var/emergency/20250430_webcluster]# lscpu |grep 'cpu' >cpu_report.txt
[root@oldboy99-Kylin /var/emergency/20250430_webcluster]# df -h |grep '/dev/sda' >disk_report.txt
[root@oldboy99-Kylin /var/emergency/20250430_webcluster]# touch critical_errors.log
[root@oldboy99-Kylin /var/emergency/20250430_webcluster]# tail -n100 /var/log/messages |grep -i 'error' >./critical_errors.log
[root@oldboy99-Kylin /var/emergency/20250430_webcluster]# less critical_errors.log
[root@oldboy99-Kylin /var/emergency/20250430_webcluster]# hostnamectl Static hostname: oldboy99-KylinIcon name: computer-vmChassis: vmMachine ID: 5ab0cc6355474618a37710ac9a4cb687Boot ID: 025d4928b90d4b89a14870600a6c665dVirtualization: vmwareOperating System: Kylin Linux Advanced Server V10 (Lance)Kernel: Linux 4.19.90-52.46.v2207.ky10.x86_64Architecture: x86-64
[root@oldboy99-Kylin /var/emergency/20250430_webcluster]# shutdown -r 15
Shutdown scheduled for Wed 2025-04-30 18:40:13 CST, use 'shutdown -c' to cancel.