老男孩教育-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.