Linux系统监控知识分享

来源:本站
导读:目前正在解读《Linux系统监控知识分享》的相关信息,《Linux系统监控知识分享》是由用户自行发布的知识型内容!下面请观看由(电工技术网 - www.9ddd.net)用户发布《Linux系统监控知识分享》的详细说明。

作为系统运维人员,就要实时的监控系统的一些重要参数,不如僵尸进程,CPU的利用率,内存的使用情况,磁盘空间的使用情况,系统的均衡负载,根据得到的最新信息,我们就能判断系统运行的状态是否良好。本人接触Linux系统也有一点时间,在网上看看了,经过整理,将一些常用的系统监控的命令shell脚本拿出来晒晒,希望给新手提供学习的机会,同时也希望经验丰富者提够些技术知道,多多探讨交流!

获得某个用户的某个进行的信息:

functionGetPID#user#name{PsUser=$1#echo$PsUserPsName=$2#echo$PsNamepid=`ps-u$PsUser|grep$PsName|grep-vgrep|grep-vvi|grep-vdbxn|grep-vtail|grep-vstart|grep-vstop|sed-n1p|awk'{print$1}'`echo$pid}PID=`GetPIDlgycat`echo$PID#Theprocessdoesnotexist.if["-$PID"=="-"]then{echo"Theprocessdoesnotexist."}fi

这里面涉及一些最基本的进程监控命令,在linux中你只要man ps就会得到很多使用说明,grep按照一定的匹配规则进行字符串分割匹配,还有一些简单的控制语句,这些基本的shell语法应该是我们的基本技能,在晚上会有很多的学习资料。

获得CPU的使用率:

functionGetCPU{CPUValue=`ps-p$1-opcpu|grep-vCPU|awk'{print$1}'|awk-F.'{print$1}'`echo$CPUValue}functionCheckCPU{PID=$1cpu=`GetCPU$PID`if[$cpu-gt80]then{echo"Theusageofcpuislargerthan80%"}else{echo"Theusageofcpuisnormal"}fi}CheckCPU$PID

这个程序和上一个代码片段是一脉相承,本段代码的运行结果一会会有相应的展示!

这段脚本的主要目的是用来进行对某个进程的内存使用情况的检测:

functionGetMem{MemUsage=`ps-ovsz-p$1|grep-vVSZ`((MemUsage/=1024))echo$MemUsage}mem=`GetMem$PID`if[$mem-gt1600]then{echo"Theusageofmemoryislargerthan1.6G"}else{echo"Theusageofmemoryisnormal"}fi

这是用来进行获得此进程的句柄使用量:

functionGetDes{DES=`ls/proc/$1/fd|wc-l`echo$DES}des=`GetDes$PID`if[$des-gt900]then{echo"Thenumberofdesislargerthan900"}else{echo"Thenumberofdesisnormal"}fi

进行对某个端口的绑定的查询:

functionListening{TCPListeningNum=`netstat-an|grep":$1"|awk'$1=="tcp"&&$NF=="LISTEN"{print$0}'|wc-l`UDPListenNum=`netstat-an|grep":$1"|awk'$1=="udp"&&$NF=="0.0.0.0:*"{print$0}'|wc-l`((ListeningNum=TCPListeningNum+UDPListenNum))if[$ListeningNum==0]then{echo"0"}else{echo"1"}fi}isListen=`Listening8080`if[$isListen-eq1]then{echo"Theportislistening"}else{echo"Theportisnotlistening"}fi

系统CPU的使用情况:

functionGetSysCPU{CPUIdle=`vmstat15|sed-n'3,$p'|awk'{xx=x+$15}END{printx/5}'|awk-F.'{print$1}'`CPUNum=`echo"100-$CPUIdle"|bc`echo$CPUNum}cpu=`GetSysCPU`echo"TheSystemCPUis$cpu"if[$cpu-gt90]then{echo"Theusageofsystemcpuislargerthan90%"}else{echo"Theusageofsystemcpuisnormal"}fi

获得某制定的磁盘空间:

functionGetDiskSpc{if[$#-ne1]thenreturn1fiFolder="$1$"DiskSpace=`df-k|grep$Folder|awk'{print$5}'|awk-F%'{print$1}'`echo$DiskSpace}Folder="/dev"DiskSpace=`GetDiskSpc$Folder`echo"Thesystem$Folderdiskspaceis$DiskSpace%"if[$DiskSpace-gt90]then{echo"Theusageofsystemdisk($Folder)islargerthan90%"}else{echo"Theusageofsystemdisk($Folder)isnormal"}fi

在本机上代码检测的结果如下:

lgy@lgy-HP:~$./monitorCPU.sh2388TheusageofcpuisnormalTheusageofmemoryisnormalThenumberofdesisnormalTheportisnotlisteningTheSystemCPUis1TheusageofsystemcpuisnormalThesystem/devdiskspaceis1%Theusageofsystemdisk(/dev)isnormal

提醒:《Linux系统监控知识分享》最后刷新时间 2024-03-14 01:06:31,本站为公益型个人网站,仅供个人学习和记录信息,不进行任何商业性质的盈利。如果内容、图片资源失效或内容涉及侵权,请反馈至,我们会及时处理。本站只保证内容的可读性,无法保证真实性,《Linux系统监控知识分享》该内容的真实性请自行鉴别。