集羣監控常用命令:
load average
- top
- uptime
CPU利用率
- top
1多核CPU查看
Shift+H 用線程查看
-p 指定查看的進程 - top | grep Cpu
- mpstat -p ALL -
磁盤剩餘空間
- df
-h 按單位格式輸出 - du
-h 按單位格式輸出
網絡traffic
- sar -n DEV 1 1
-n 彙報網絡狀況
DEV 查看各個網卡網絡流量
n 間隔秒數
n 總共取幾次
磁盤I/O
- iostat -d -k
內存使用
- free
-m 以MB爲單位
-g 以GB爲單位 - vmstat [-V] [-n] [delay [count]]
-V表示打印出版本信息
-n表示在週期性循環輸出時,輸出的頭部信息僅顯示一次;
delay是兩次輸出之間的延遲時間;
count是指按照這個時間間隔統計的次數。
對於vmstat輸出各字段的含義,可運行man vmstat查看
日誌分析常用命令:
查看文件內容
- cat
-n 顯示行號
分頁顯示
- more
Enter 顯示下一行
空格 顯示下一頁
F 顯示下一屏
B 顯示上一屏 - less
/get 查詢”get”字符串並高亮顯示
顯示文件尾
- tail
-f 不退出持續顯示
-n 顯示文件最後n行
顯示頭文件
- head
-n 顯示文件開始n行
內容排序
- sort
-n 按照數字排序
-r 按照逆序排序
-k 表示排序列
字符統計
- wc
-l 統計文件中行數
-c 統計文件字節數
-L 查看最長行長度
-w 查看文件包含多少個單詞
查看重複出現的行
- uniq
-c 查看該行內容出現的次數
-u 只顯示出現一次的行
-d 只顯示重複出現的行
字符串查找
- grep
文件查找
- find
- which
- whereis
表達式求值
- expr
歸檔文件
- tar
- zip
- unzip
URL訪問工具
- curl
wget
查看請求訪問量
- 頁面訪問排名前十的IP
cat access.log | cut -f1 -d ” ” | sort | uniq -c | sort -k 1 -r | head -10 - 頁面訪問排名前十的URL
cat access.log | cut -f4 -d ” ” | sort | uniq -c | sort -k 1 -r | head -10 - 查看最耗時的頁面
cat access.log | sort -k 2 -n -r | head 10
大殺器
sed
sed ‘s/xxx/hello’ access.log 將 xxx 替換成 hello 輸出(s是文本替換命令)
sed -n ‘2,6p’ access.log 只輸出第第2到第6之間的行(-n表示輸出指定的行)
sed ‘/qq/d’ access.log 刪除包含qq的行(d是文本刪除命令)
sed ‘=’ access.log 顯示文件行號
sed -e ‘i\head’ access.log 在每行的前面插入head字符串(i在行首插入命令)
sed -e ‘a\end’ access.log 在每行的末尾追加end字符串(i在行尾追加命令)
sed -e ‘/google/c\hello’ access.log 查找google匹配的行,用hello替換(c是對行文本替換命令)awk