专注linux
关于系统指标采集
#磁盘监控
df -h | awk '$6~/\/$/ {print $NF, $(NF-1)}' #打印根分区使用率
#内存获取
- free -m | awk '$1 ~/Mem:/{print $NF}' #打印可用内存
- free -m | awk 'NR==2{printf "%.2f%%\t\t", $3*100/$2 }' #打印可用内存情况
#网卡IP获取
- ip addr | grep inet | grep -v "inet6" | grep -v "127.0.0.1" | grep -v "172.17.0.1" | awk '{ print $2; }' | tr '\n' '\t' | awk -F "[/]" '{print $1}' #打印IP地址
- ifconfig eth0 | sed -n '2p' | awk '{print $2}'
- ifconfig eth0 | awk 'NR==2{print $2}' #打印eth0的IP
cat /proc/net/dev #列出所有网卡
#CPU信息获取
cat /proc/cpuinfo | grep name | cut -d: -f2 | uniq #查看CPU name
hostname 或者 uname -n #查看主机名
cat /proc/cpuinfo | grep 'processor' | sort | uniq | wc -l #查看有几颗CPU
#定时任务获取
cat /etc/passwd | cut -f 1 -d : |xargs -I {} crontab -l -u {} #查看所有用户的定时任务
#后台任务不间断运行
nohup sar -u -o test 30 & #间隔30s采集cpu指标
- bg #查看后台在运行的任务
- jobs -l #查看任务详情
- ps -ef | grep sar #查询任务详情
- ps -ef | grep sar | grep -v grep | awk '{print $2}' | xargs kill -9 #杀死进程
- sar -u -o test 30 10 #间隔30s采集cpu指标 总共采集10次
#查看磁盘IO性能
- iostat -d -x -k 1 10
- 1 10表示,数据显示每隔1秒刷新一次,共显示10次
- -c 只显示CPU行
- -d 显示设备(磁盘)使用状态
- -k 以千字节为单位显示磁盘输出
- -t 在输出中包括时间戳
- -x 在输出中包括扩展的磁盘指标
- r/s: 每秒完成的读 I/O 设备次数。
- w/s: 每秒完成的写 I/O 设备次数。
#网卡性能数据采集
sar -n DEV 1 5
使用-n选项可以对网络使用情况进行显示,-n后接关键词”DEV”可显示eth0、eth1等网卡的信息:
1 10 间隔1s 打印10次
#设置主机名
hostnamectl set-hostname centos-jifu-vm
#随机生成密码
- openssl rand -base64 15
- mkpasswd -l 12 -C 2 -c 4 -d 4 -s 2 #随机生成密码 -l位数 -C大小 -c小写 -d数字 -s特殊字符
#删除30天前修改的日志
find . -name "*.log" -type f -mtime 30 -exec rm -fr {} \;
#取出Nginx日志中前10的IP
awk '{print $1}' access.log |sort | uniq -c | sort -n -r | head -10
#