服务器负载监控以及文字处理脚本

简介:

运维监控总少不了一些脚本来监控自己的机器,博主自己写了个监控,并通过sleep来控制输出的间隔时间。如果想要获取其他的相关信息,可以采用类似的方式,添加即可。

首先是服务器的负载监控脚本,主要输出了 内存,CPU,网络连接等信息

复制代码
#!/bin/sh
while true
do

TOP=`top -b -n 2 | grep Cpu |tail -2`
FREE=`free -m`
SWAP=`echo $FREE | grep Swap | cut -d":" -f 4`
MEM=`echo $FREE | grep Mem | cut -d: -f 2`
#cpu status##########################################################

IDLE=`echo $TOP | awk '{print $14}'| sed s/id,//`
#swap status#########################################################
swap_total=`echo $SWAP | awk '{print $1}'`
swap_free=`echo $SWAP| awk '{print $3}'`

#mem status##########################################################
mem_total=`echo $MEM| awk '{print $1}'`
mem_used=`echo $MEM | awk '{print $2}'`
mem_free=`echo $MEM| awk '{print $3}'`
caches=`echo $MEM| awk '{print $6}'`

#tcp status##########################################################
closed_wait=`netstat -an| awk '/^tcp.*CLOSED_WAIT/' | wc | awk '{print $1}'`
established=`netstat -an| awk '/^tcp.*ESTABLISHED/' | wc | awk '{print $1}'`

#date infomation####################################################
DATE=`date +"%F %T"`

#echo all the infomation############################################
echo $DATE" "$IDLE" "$mem_total" "$mem_used" "$mem_free" "$caches" "$swap_total" "$swap_free" "$closed_wait" "$established >> Load.log
sleep 1
done
复制代码

然后是单独列出 日期时间以及CPU负载的 文本处理脚本,主要进行了自动的筛减数据,及分列处理

复制代码
#!/bin/bash
count=1
num=10
while read line;do
    ((count++))
{
    if [ $count -eq $num ];then
         count=1 && echo $line >> odb.txt
    fi
}
done < db.txt
复制代码

最后是脚本输出的最后处理,过滤掉CPU获取失败的行,并把CPU空闲转化为CPU的利用率。最后的脚本效率极差,可以进行优化。

复制代码
#!/bin/bash
while read line;do
{
    READ=`echo $line | awk '{print $3}'`
    WE="0.0%wa,"
    NUM=`echo $READ    | tr -cd '0-9'`
    NUM1=`echo $NUM | sed 's/\(.\)$/.\1/g'`
    RESULT=`echo "scale=3;1000-$NUM1"|bc`
    RERE=`echo $RESULT | sed 's/.*\(...\)$/\1/'`

    HAHA=`echo $line | awk '{print $1,$2}'`

    if [ $READ != $WE ];then
        echo $HAHA $RERE% >> idb.txt 
    fi
}
done < odb.txt
复制代码

 

 

本文转自博客园xingoo的博客,原文链接:服务器负载监控以及文字处理脚本,如需转载请自行联系原博主。
相关文章
|
2月前
|
运维 Java Linux
【运维基础知识】Linux服务器下手写启停Java程序脚本start.sh stop.sh及详细说明
### 启动Java程序脚本 `start.sh` 此脚本用于启动一个Java程序,设置JVM字符集为GBK,最大堆内存为3000M,并将程序的日志输出到`output.log`文件中,同时在后台运行。 ### 停止Java程序脚本 `stop.sh` 此脚本用于停止指定名称的服务(如`QuoteServer`),通过查找并终止该服务的Java进程,输出操作结果以确认是否成功。
46 1
|
3月前
|
存储 弹性计算 运维
自动化监控和响应ECS系统事件
阿里云提供的ECS系统事件用于记录云资源信息,如实例启停、到期通知等。为实现自动化运维,如故障处理与动态调度,可使用云助手插件`ecs-tool-event`。该插件定时获取并转化ECS事件为日志存储,便于监控与响应,无需额外开发,适用于大规模集群管理。详情及示例可见链接文档。
|
3月前
|
存储 监控 Linux
监控Linux服务器
详细介绍了如何监控Linux服务器,包括监控CPU、内存、磁盘存储和带宽的使用情况,以及使用各种系统监控工具如vmstat、iostat、sar、top和dstat来分析系统性能,并推荐了一些开源监控系统。
54 0
监控Linux服务器
|
4月前
|
运维 监控 数据库
自动化运维:使用Python脚本实现服务器监控
【8月更文挑战第31天】在这篇文章中,我们将探索如何利用Python编写简单的脚本来实现对服务器的基本监控。通过学习和应用这些技术,你可以快速检测服务器的状态,包括CPU使用率、内存占用和磁盘空间等关键指标。这不仅有助于及时发现问题,还能提升运维效率。文章将逐步引导你理解监控的重要性,并展示如何从零开始构建自己的监控工具。
|
4月前
|
监控 数据挖掘 Linux
Linux服务器PBS任务队列作业提交脚本的使用方法
【8月更文挑战第21天】在Linux服务器环境中,PBS任务队列能高效管理及调度计算任务。首先需理解基本概念:作业是在服务器上执行的任务;队列则是等待执行任务的列表,具有不同的资源限制与优先级;节点指分配给作业的计算资源。
569 4
|
4月前
|
负载均衡 网络协议 Linux
在Linux中,常用WEB服务器负载架构有哪些?
在Linux中,常用WEB服务器负载架构有哪些?
|
4月前
|
网络安全
mac下通过ssh脚本实现免账号密码连接运服务器
mac下通过ssh脚本实现免账号密码连接运服务器
52 3
|
4月前
|
网络协议 安全 Unix
6! 用Python脚本演示TCP 服务器与客户端通信过程!
6! 用Python脚本演示TCP 服务器与客户端通信过程!
|
4月前
|
存储 运维 监控
自动化运维:使用Python脚本进行服务器监控
【8月更文挑战第31天】在数字化时代,服务器的稳定运行对于企业至关重要。本文将介绍如何使用Python编写一个简单的服务器监控脚本,帮助运维人员及时发现并解决潜在问题。我们将从基础的服务器资源监控开始,逐步深入到日志分析与报警机制的实现。通过实际代码示例和操作步骤,使读者能够快速掌握自动化监控的技能,提升工作效率。
|
4月前
|
Prometheus 监控 Cloud Native
Web服务器的日志分析与监控
【8月更文第28天】Web服务器日志提供了关于服务器活动的重要信息,包括访问记录、错误报告以及性能数据。有效地分析这些日志可以帮助我们了解用户行为、诊断问题、优化网站性能,并确保服务的高可用性。本文将介绍如何使用日志分析和实时监控工具来监测Web服务器的状态和性能指标,并提供具体的代码示例。
459 0