站长网_站长创业_站长主页_站长之家_易采站长站

会员投稿 投稿指南 站长资讯通告: Shell脚本实现Linux系统和进程资源监控
搜索:
您的位置: 主页 > 教程 > 网页编程 > JavaScript > » 正文

Shell脚本实现Linux系统和进程资源监控(5)

来源: 易采站长站

    (( Listeningnum = TCPListeningnum + UDPListeningnum ))
    if [ $Listeningnum == 0 ]
    then
    {
        echo "0"
    }
    else
    {
       echo "1"
    }
    fi
 }

示例演示:

1)源程序(例如查询 8080 端口的状态是否在监听)


代码如下:
    isListen=`Listening 8080`
    if [ $isListen -eq 1 ]
    then
    {
        echo "The port is listening"
    }
    else
    {
        echo "The port is not listening"
    }
    fi
 
2)结果输出

代码如下:
    The port is listening
    [dyu@xilinuxbldsrv shell]$

3)结果分析

从上面的输出可见:这个 Linux 服务器的 8080 端口处在监听状态。

4)命令介绍

netstat: 用于显示与 IP、TCP、UDP 和 ICMP 协议相关的统计数据,一般用于检验本机各端口的网络连接情况。 参数:-a 显示所有连线中的 Socket。 -n 直接使用 IP 地址,而不通过域名服务器。
下面的功能也是检测某个 TCP 或者 UDP 端口是否处在正常状态。

代码如下:
 tcp: netstat -an|egrep $1 |awk '$6 == "LISTEN" && $1 == "tcp" {print $0}'
 udp: netstat -an|egrep $1 |awk '$1 == "udp" && $5 == "0.0.0.0:*" {print $0}'
 
命令介绍

egrep: 在文件内查找指定的字符串。egrep 执行效果如 grep -E,使用的语法及参数可参照 grep 指令,与 grep 不同点在于解读字符串的方法,egrep 是用扩展的正则表达式语法来解读,而 grep 则用基本的正则表达式语法,扩展的正则表达式比基本的正则表达式有更完整的表达规范。

查看某个进程名正在运行的个数

有时我们可能需要得到服务器上某个进程的启动个数,下面的功能是检测某个进程正在运行的个数,例如进程名为 CFTestApp。
代码如下:
 Runnum=`ps -ef | grep -v vi | grep -v tail | grep "[ /]CFTestApp" | grep -v grep | wc -l
 

检测系统 CPU 负载

在对服务器进行维护时,有时也遇到由于系统 CPU(利用率)负载 过量导致业务中断的情况。服务器上可能运行多个进程,查看单个进程的 CPU 都是正常的,但是整个系统的 CPU 负载可能是异常的。通过脚本对系统 CPU 负载进行时时监控,可以在异常时及时发送告警,便于维护人员及时处理,预防事故发生。下面的函数可以检测系统 CPU 使用情况 . 使用 vmstat 取 5 次系统 CPU 的 idle 值,取平均值,然后通过与 100 取差得到当前 CPU 的实际占用值。

Tags:
最新图文资讯
1 2 3 4 5 6
相关文章列表:
易采站长站 - 联系我们 - 广告服务 - 友情链接 - 网站地图 - 版权声明 - 人才招聘 - 帮助 -