集群监控常用命令:
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