暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

贴几个系统运行状态监控脚本

运维先生 2021-04-15
393

cpu负载监控:

#!/bin/bash

################################
#定义环境,路径与文件名
################################
export LANG=en_US
hostname=`hostname`
filedate=`date +"%Y_%m_%d"`

#变更路径请修改以下行内容
logdir=/main/logserver/log

#检查路径是否存在,不存在则新建路径
if ! test -d ${logdir}
then
bin/mkdir -p ${logdir}
fi

#定义日志文件名
logcpuload=$logdir/cpuload.log

###############################
#统计cpu的负载信息
###############################

if [ -f $logcpuload ]
then
rm -f $logcpuload
echo "\$paragraph_begin" >> $logcpuload
date +"%Y-%m-%d %H:%M:%S" >> $logcpuload
/usr/bin/uptime >> $logcpuload
echo "\$paragraph_end" >> $logcpuload

else
echo "\$paragraph_begin" >> $logcpuload
date +"%Y-%m-%d %H:%M:%S" >> $logcpuload
/usr/bin/uptime >> $logcpuload
echo "\$paragraph_end" >> $logcpuload
fi

exit 0

复制

cpu使用率监控

#!/bin/bash

################################
#定义环境,路径与文件名
################################
export LANG=en_US
hostname=`hostname`
filedate=`date +"%Y_%m_%d"`

#变更路径请修改以下行内容
logdir=/main/logserver/log

#检查路径是否存在,不存在则新建路径
if ! test -d ${logdir}
then
bin/mkdir -p ${logdir}
fi


#定义日志文件名
logcpuload=$logdir/cpuuse.log

################################
#统计cpu的使用率信息
################################
if [ -f $logcpuuse ]
then
rm -f $logcpuuse
echo "\$paragraph_begin" >> $logcpuuse
date +"%Y-%m-%d %H:%M:%S" >> $logcpuuse
sar -u 2 1 |grep all |head -1 >> $logcpuuse
echo "\$paragraph_end" >> $logcpuuse

else
echo "\$paragraph_begin" >> $logcpuuse
date +"%Y-%m-%d %H:%M:%S" >> $logcpuuse
sar -u 2 1 |grep all |head -1 >> $logcpuuse
echo "\$paragraph_end" >> $logcpuuse
fi

exit 0


复制

磁盘io监控

#!/bin/bash

################################
#定义环境,路径与文件名
################################
export LANG=en_US
hostname=`hostname`
filedate=`date +"%Y_%m_%d"`

#变更路径请修改以下行内容
logdir=/main/logserver/log

#检查路径是否存在,不存在则新建路径
if ! test -d ${logdir}
then
bin/mkdir -p ${logdir}
fi



#定义日志文件名
logcpuload=$logdir/ioload.log

##############################
#磁盘io的负载的信息
##############################

if [ -f $lognetworkload ]
then
rm -f $logioload
echo "\$paragraph_begin" > $logioload
date +"%Y-%m-%d %H:%M:%S" >> $logioload
iostat -xd 1 1 | sed -n '4,$p' >> $logioload
echo "\$paragraph_end" >> $logioload
else
echo "\$paragraph_begin" > $logioload
date +"%Y-%m-%d %H:%M:%S" >> $logioload
iostat -xd 1 1 | sed -n '3,$p' >> $logioload
echo "\$paragraph_end" >> $logioload
fi

exit 0

复制

java监控

#!/bin/bash

################################
#定义环境,路径与文件名
################################
export LANG=en_US
hostname=`hostname`
filedate=`date +"%Y_%m_%d"`

#变更路径请修改以下行内容
logdir=/main/logserver/log

#检查路径是否存在,不存在则新建路径
if ! test -d ${logdir}
then
bin/mkdir -p ${logdir}
fi

#定义日志文件名

logjavastat=$logdir/javastat.log


################################
#统计JVM的使用率信息
################################


#定义JAVA服务的端口号
portnumber=8090

#判断该端口是否为JAVA进程启动
echo "\$paragraph_begin" > $logjavastat
date +"%Y-%m-%d %H:%M:%S" >> $logjavastat
pIDa=`netstat -tlnp|grep ${portnumber}|awk '{print $7}'|awk -F '/' '{print $2}'`
date +"%r" >> $logjavastat
if [ "$pIDa" = "java" ];
then

netstat -tlnp|grep ${portnumber}|awk '{print $7}'|awk -F '/' '{print $1}'|while read line

do

echo PortNo=$portnumber PID=$line status: `/usr/java/jdk1.6.0_45/bin/jstat -gccapacity $line|tail -n1` >> $logjavastat

done


else

echo "No JAVA Process in this Port: Port Number =$portnumber" >> $logjavastat

fi
echo "\$paragraph_end" >> $logjavastat
exit 0

复制

memcached监控

#!/bin/bash

################################
#定义环境,路径与文件名
################################
export LANG=en_US
hostname=`hostname`
filedate=`date +"%Y_%m_%d"`

#变更路径请修改以下行内容
logdir=/main/logserver/log

#检查路径是否存在,不存在则新建路径
if ! test -d ${logdir}
then
bin/mkdir -p ${logdir}
fi

#定义日志文件名

logmemcached=$logdir/memcached.log


###############################
#查看Memcached信息
###############################

#定义Memcached服务的端口号
portnumber=11211

#判断系统内是否存在nc组件
if [ -f usr/bin/nc ]

then
echo "\$paragraph_begin" > $logmemcached
date +"%Y-%m-%d %H:%M:%S" >> $logmemcached
pIDa=`netstat -tlnp|grep ${portnumber}|grep 0.0.0.0|awk '{print $7}'|awk -F '/' '{print $2}'`
#判断定义的端口是否为Memcached的服务端口
if [ "$pIDa" = "memcached" ];
then
echo stats | nc 127.0.0.1 ${portnumber} >> $logmemcached
echo "\$paragraph_end" >> $logmemcached
else
echo "No Memcached Process in this Port: Port Number =$portnumber" >> $logmemcached
echo "\$paragraph_end" >> $logmemcached
fi
else
echo "Can't Found NC mode"
#date +"%r" >> $logmemcached
#echo "Can't Found NC mode" >> $logmemcached

fi


exit 0

复制

内存使用率监控

#!/bin/bash

################################
#定义环境,路径与文件名
################################
export LANG=en_US
hostname=`hostname`
filedate=`date +"%Y_%m_%d"`

#变更路径请修改以下行内容
logdir=/main/logserver/log

#检查路径是否存在,不存在则新建路径
if ! test -d ${logdir}
then
bin/mkdir -p ${logdir}
fi

#定义日志文件名
logmemuse=$logdir/memuse.log

##############################
#统计内存的信息
##############################
if [ -f $logmemuse ]
then
echo "\$paragraph_begin" >> $logmemuse
date +"%Y-%m-%d %H:%M:%S" >> $logmemuse
free -m|grep -1 Mem |head -n 2|tail -1 >> $logmemuse
free -m| grep Swap >> $logmemuse
echo "\$paragraph_end" >> $logmemuse
else
echo "\$paragraph_begin" >> $logmemuse
date +"%Y-%m-%d %H:%M:%S" >> $logmemuse
free -m|grep -1 Mem |head -n 2 >> $logmemuse
free -m| grep Swap >> $logmemuse
echo "\$paragraph_end" >> $logmemuse
fi

exit 0

复制

网卡负载监控

#!/bin/bash

################################
#定义环境,路径与文件名
################################
export LANG=en_US
hostname=`hostname`
filedate=`date +"%Y_%m_%d"`

#变更路径请修改以下行内容
logdir=/main/logserver/log

#检查路径是否存在,不存在则新建路径
if ! test -d ${logdir}
then
bin/mkdir -p ${logdir}
fi

#定义日志文件名
lognetworkload=$logdir/networkload.log

#################################
#统计网络负载的信息
################################

if [ -f $lognetworkload ]
then
echo "\$paragraph_begin" >> $lognetworkload
sar -n DEV 1 3| grep eth0|head -1 >> $lognetworkload
echo "\$paragraph_end" >> $lognetworkload

else
echo "\$paragraph_begin" >> $lognetworkload
#date +"%D" > $lognetworkload
date +"%Y-%m-%d %H:%M:%S" >> $lognetworkload
sar -n DEV 1 3| grep eth0|head -1 >> $lognetworkload
echo "\$paragraph_end" >> $lognetworkload
fi

exit 0

复制

系统进程监控

#!/bin/bash

################################
#定义环境,路径与文件名
################################
export LANG=en_US
hostname=`hostname`
filedate=`date +"%Y_%m_%d"`

#变更路径请修改以下行内容
logdir=/main/logserver/log

#检查路径是否存在,不存在则新建路径
if ! test -d ${logdir}
then
bin/mkdir -p ${logdir}
fi

#定义日志文件名
logsysprocess=$logdir/sysprocess.log

###################################
#统计系统进程总数信息
###################################

if [ -f $lognetworkload ]
then
echo "\$paragraph_begin" >> $logsysprocess
#date +"%r" >> $logsysprocess
date +"%Y-%m-%d %H:%M:%S" >> $logsysprocess
sysnum=`ps aux | wc -l`
echo "processes of system is: $sysnum" >> $logsysprocess
echo "\$paragraph_end" >> $logsysprocess
else
echo "\$paragraph_begin" >> $logsysprocess
#date +"%r" > $logsysprocess
date +"%Y-%m-%d %H:%M:%S" >> $logsysprocess
sysnum=`ps aux | wc -l`
echo "processes of system is: $sysnum" >> $logsysprocess
echo "\$paragraph_end" >> $logsysprocess
fi

exit 0

复制


文章转载自运维先生,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论