成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

從菜鳥到高手:用這幾個命令玩轉 Linux 日志分析

系統 Linux
本文是我為你整理的日志分析命令集,涵蓋Linux系統下各種日志文件的查看、過濾、統計和分析技巧,可以助你快速定位問題,提升工作效率。

日志分析是系統管理員、開發人員和DevOps工程師日常工作中不可或缺的一部分。無論是排查系統故障、分析性能瓶頸,還是監控安全事件,日志都是最直接的信息來源。

本文是我為你整理的日志分析命令集,涵蓋Linux系統下各種日志文件的查看、過濾、統計和分析技巧,可以助你快速定位問題,提升工作效率。

一、基礎日志查看命令

1. tail命令 - 實時監控日志

tail命令是查看日志文件末尾內容的利器,特別適合實時監控日志變化:

# 查看文件最后10行(默認)
tail /var/log/syslog
# 查看文件最后100行
tail -n 100 /var/log/nginx/access.log
# 實時追蹤日志更新(最常用)
tail -f /var/log/apache2/error.log
# 同時追蹤多個日志文件
tail -f /var/log/nginx/access.log /var/log/nginx/error.log
# 顯示行號
tail -n 50 -v /var/log/auth.log

2. head命令 - 查看日志開頭

與tail相反,head用于查看文件開頭部分:

# 查看文件前20行
head -n 20 /var/log/dmesg
# 查看前100字節
head -c 100 /var/log/bootstrap.log

3. cat命令 - 完整日志查看

# 查看完整日志文件
cat /var/log/kern.log
# 結合more/less分頁查看
cat /var/log/long.log | more
cat /var/log/long.log | less
# 顯示行號
cat -n /var/log/syslog
# 顯示非空行
cat -s /var/log/nginx/error.log

4. grep命令 - 日志過濾神器

grep是日志分析中最強大的工具之一:

# 簡單搜索
grep "error" /var/log/syslog
# 忽略大小寫
grep -i "warning" /var/log/messages
# 顯示匹配行及前后5行
grep -A 5 -B 5 "critical" /var/log/application.log
# 反向匹配(顯示不包含error的行)
grep -v "error" /var/log/apache2/access.log
# 正則表達式匹配
grep -E "404|500" /var/log/nginx/access.log
# 統計匹配行數
grep -c "GET" /var/log/nginx/access.log
# 遞歸搜索目錄下所有日志文件
grep -r "segmentation fault" /var/log/

二、高級日志分析技巧

1. awk命令 - 字段提取與分析

awk特別適合處理結構化日志(如nginx、apache訪問日志):

# 提取訪問日志中的IP地址
awk '{print $1}' /var/log/nginx/access.log
# 統計IP訪問次數并排序
awk '{print $1}' /var/log/nginx/access.log | sort | uniq -c | sort -nr
# 統計HTTP狀態碼出現次數
awk '{print $9}' /var/log/nginx/access.log | sort | uniq -c | sort -nr
# 計算某時間段的請求數
awk '/12\/May\/2023:15:/,/12\/May\/2023:16:/' /var/log/nginx/access.log | wc -l
# 統計訪問量最大的URL
awk '{print $7}' /var/log/nginx/access.log | sort | uniq -c | sort -nr | head -20
# 計算平均響應時間(假設第10列為響應時間)
awk '{sum+=$10; count++} END {print "Avg:",sum/count,"ms"}' /var/log/nginx/access.log

2. sed命令 - 流編輯器

sed適合對日志進行批量替換和過濾:

# 替換日志中的敏感信息
sed 's/192.168.1.100/[REDACTED]/g' /var/log/auth.log
# 提取特定時間范圍的日志
sed -n '/May 10 09:00:00/,/May 10 10:00:00/p' /var/log/syslog
# 刪除空白行
sed '/^$/d' /var/log/application.log
# 只顯示包含error或warning的行
sed -n '/error\|warning/p' /var/log/syslog

3. cut命令 - 按列提取

# 提取第一列
cut -d' ' -f1 /var/log/nginx/access.log
# 提取第5-8列
cut -d' ' -f5-8 /var/log/nginx/access.log
# 使用冒號分隔符提取用戶名
cut -d: -f1 /etc/passwd

三、日志統計與分析

1. 頻率統計

# 統計IP出現頻率
cat /var/log/nginx/access.log | awk '{print $1}' | sort | uniq -c | sort -nr
# 統計HTTP狀態碼頻率
cat /var/log/nginx/access.log | awk '{print $9}' | sort | uniq -c | sort -n
# 統計訪問最多的URL
cat /var/log/nginx/access.log | awk '{print $7}' | sort | uniq -c | sort -nr | head -20
# 統計不同HTTP方法的請求數
cat /var/log/nginx/access.log | awk '{print $6}' | sed 's/"http://g' | sort | uniq -c

2. 時間范圍分析

# 統計每小時請求數
cat /var/log/nginx/access.log | awk '{print $4}' | cut -d: -f2 | sort | uniq -c
# 統計每分鐘請求數(更精細)
cat /var/log/nginx/access.log | awk '{print $4}' | cut -d: -f2,3 | sort | uniq -c
# 統計每天請求數(需要日志中包含日期)
cat /var/log/nginx/access.log | awk '{print $4}' | cut -d[ -f2 | cut -d: -f1 | sort | uniq -c

3. 性能分析

# 找出響應時間最長的請求(假設第10列為響應時間)
cat /var/log/nginx/access.log | awk '{print $10,$7}' | sort -nr | head -20
# 統計不同響應時間的請求分布
cat /var/log/nginx/access.log | awk '{if($10<0.1) a++; else if($10<0.5) b++; else if($10<1) c++; else d++} END {print "0-0.1s:",a,"\n0.1-0.5s:",b,"\n0.5-1s:",c,"\n>1s:",d}'
# 計算95分位響應時間
cat /var/log/nginx/access.log | awk '{print $10}' | sort -n | awk '{all[NR] = $0} END{print all[int(NR*0.95)]}'

四、組合命令實戰

(1) 查找高頻率訪問的惡意IP

cat /var/log/nginx/access.log | awk '{print $1}' | sort | uniq -c | sort -nr | head -20 | awk '{if($1>100) print $2}'

(2) 分析HTTP 500錯誤的請求

grep " 500 " /var/log/nginx/access.log | awk '{print $1,$7,$9}' | sort | uniq -c | sort -nr

(3) 實時監控錯誤日志并報警

tail -f /var/log/application.log | grep --line-buffered -E "ERROR|CRITICAL" | while read line; do echo "$line" | mail -s "Application Error Alert" admin@example.com; done

(4) 分析SSH暴力破解嘗試

cat /var/log/auth.log | grep "Failed password" | awk '{print $11}' | sort | uniq -c | sort -nr | head -20
cess.log.2023-$month-*.gz | wc -l; done

結語

掌握這些日志分析命令,您將能夠快速定位系統問題、分析性能瓶頸和識別安全威脅。建議將本文收藏作為參考手冊,在實際工作中靈活組合這些命令,逐步構建自己的日志分析手段。

責任編輯:趙寧寧 來源: DevOps運維實戰
相關推薦

2025-03-25 09:00:00

2011-11-03 11:42:42

虛擬化vmwareVMware View

2011-11-14 10:10:56

虛擬化vmwareVMware View

2011-10-17 15:03:48

2011-10-09 17:39:20

VMware View虛擬化桌面虛擬化

2011-11-14 10:23:34

虛擬化vmwareVMware View

2011-11-14 10:27:31

虛擬化vmwareVMware View

2011-10-11 10:39:24

2011-11-14 10:15:13

2011-11-14 10:30:07

虛擬化vmwareVMware View

2011-11-14 10:54:28

虛擬化vmwareVMware View

2025-02-17 15:06:07

2011-05-07 14:05:30

投影屏幕投影機

2013-08-19 16:16:37

2013-08-19 15:53:27

LinuxLinux命令

2017-11-15 20:00:29

人工智能大數據晉級指南

2013-12-18 13:30:19

Linux運維Linux學習Linux入門

2018-02-25 10:45:08

Linux命令uptime

2024-12-16 15:50:51

2016-08-25 21:41:29

MarkdownHtmlWeb
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 国产一区 在线视频 | 天天综合久久 | 91精品国产综合久久香蕉922 | 日韩中文字幕在线观看 | 神马影院一区二区三区 | 中文字幕一区二区三区在线乱码 | 不卡视频一区二区三区 | 日本精品一区二区三区在线观看视频 | 综合网视频| 色播99 | 麻豆一区一区三区四区 | 操射视频| 自拍偷拍中文字幕 | 欧洲视频一区二区 | 日本精品一区二区三区在线观看 | 欧美日韩精品免费 | 99久久精品国产毛片 | 亚洲欧美国产毛片在线 | 一区二区av | 国产精品久久久久久久久久久久久久 | 欧美爱爱视频网站 | 精品一区二区在线观看 | 久久久久国产精品一区 | 日本久久久久久 | 成人精品国产免费网站 | 国产一级特黄真人毛片 | 97精品国产 | 一二三四在线视频观看社区 | 久草视频观看 | 成人免费视屏 | 黄色男女网站 | 国产精品成人一区二区 | 青青青伊人| 国产午夜精品久久 | 欧美成人h版在线观看 | 成人精品国产一区二区4080 | 国产综合一区二区 | 九九在线视频 | 毛片高清 | 成人小视频在线观看 | 国产精品18久久久久久久 |