栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 系统运维 > 运维 > Linux

Linux任务分析脚本

Linux 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Linux任务分析脚本

首先我们日常运维中,服务器会跑大量的任务。

(1)我们可以通prometheus和grafana 展示整个服务器的cpu 内存 和磁盘IO的趋势

(2)可以每台部署相应的脚本,可以定位到每个时间段执行的业务,所消耗的各项资源

统计前十的CUP消耗应用(降序 )
ps aux|head -1 && ps aux|grep -v PID|sort -rn -k +3|head

统计前十的内存消耗应用(降序 )
ps aux|head -1 &&  ps aux|grep -v PID|sort -rn -k +4|head
统计前十的磁盘IO消耗应用(降序 )

/usr/sbin/iotop -btoq --iter=1 |awk 'NR>3{print}'|sort -rn -k 11

切记需要安装iotop

 统计网络状态标识
netstat -n | awk '/^tcp/ {print $0}'  | awk '{print $(NF-1),$NF}' |  awk -F ':| ' '{print $1,$NF}' |awk 'BEGIN{print "IPtt状态t次数统计"} {a[$1" "$2]++}END{for(i in a) print(i,a[i])}' |sort -nk 3

连接状态_学习笔记-TCP连接状态解析_六十度灰的博客-CSDN博客前面两篇详细的给大家介绍过了TCP的三次握手和四次挥手流程(详见学习笔记-TCP三次握手, 学习笔记-TCP四次挥手 ),本文主要是介绍在TCP连接过程中的各种状态变化。状态介绍CLOSED:表示初始状态。LISTEN:表示服务器端的某个SOCKET处于,可以接受连接了。SYN_RCVD:这个状态表示接受到了SYN,在正常情况下,这个状态是服务器端的SOCKET在建立TCP连接时的会话过程中的一个...https://blog.csdn.net/weixin_31304599/article/details/112671431?utm_medium=distribute.pc_relevant.none-task-blog-2~default~baidujs_baidulandingword~default-0.pc_relevant_default&spm=1001.2101.3001.4242.1&utm_relevant_index=3

相关脚本
#!/bin/bash
#时间
time=$(date "+%Y-%m-%d %H:%M:%S")
day=$(date "+%Y-%m-%d")
#首生成日志目录
mkdir -p /system/log/{cpu,mem,io,net}
cpudir='/system/log/cpu'
memdir='/system/log/mem'
iodir='/system/log/io'
netdir='/system/log/net'
#统计前10的cpu
echo "=========================================${time}======================================================" >> ${cpudir}/${day}.log
ps aux|head -1 >> ${cpudir}/${day}.log
ps aux|grep -v PID|sort -rn -k +3|head >> ${cpudir}/${day}.log
#统计前10的内存
echo "=========================================${time}======================================================" >> ${memdir}/${day}.log
ps aux|head -1 >> ${memdir}/${day}.log
ps aux|grep -v PID|sort -rn -k +4|head >> ${memdir}/${day}.log
#统计前10的磁盘io
echo "=========================================${time}======================================================" >> ${iodir}/${day}.log
/usr/sbin/iotop -btoq --iter=1 |head -n 3 >> ${iodir}/${day}.log
/usr/sbin/iotop -btoq --iter=1 |awk 'NR>3{print}'|sort -rn -k 11 >> ${iodir}/${day}.log
#统计机器的网络状态
echo "=========================================${time}======================================================" >> ${netdir}/${day}.log
netstat -n | awk '/^tcp/ {print $0}'  | awk '{print $(NF-1),$NF}' |  awk -F ':| ' '{print $1,$NF}' |awk 'BEGIN{print "IPtt状态t次数统计"} {a[$1" "$2]++}END{for(i in a) print(i,a[i])}' |sort -nk 3 >> ${netdir}/${day}.log

#删除老化的文件(保留7天)
find /system/log/ -type f -mtime +7  -exec rm -f {} ;
设置定时任务
#拷贝文件
ansible hadoop -i ./hadoopip -m copy -a "src=/system/check_system.sh dest=/system/check_system.sh " -f 20
#给权限
#ansible hadoop -i ./hadoopip -m shell  -a "chmod a+x /system/check_system.sh " -f 20
#安装依赖
 ansible hadoop -i ./hadoopip -m shell  -a "yum install -y iotop " -f 20
#设置定时任务
ansible hadoop -i ./hadoopip -m cron -a "minute=*/5 job='sh /system/check_system.sh' name=check_system disabled=no" -f 20

 运行结果

日志格式 

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/865214.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号