几个常用的Linux操作系统监控脚本

为大家提供五个常用Linux监控脚本(查看主机网卡流量、系统状况监控、监控主机的磁盘空间,当使用空间超过90%就通过发mail来发警告、监控CPU和内存的使用情况、全方位监控主机),有需要的朋友不妨看看哦

1、查看主机网卡流量

#!/bin/bash
#network
#Mike.Xu
while : ; do
time='date +%m"-"%d" "%k":"%M'
day='date +%m"-"%d'
rx_before='ifconfig eth0|sed -n "8"p|awk '{print $2}'|cut -c7-'
tx_before='ifconfig eth0|sed -n "8"p|awk '{print $6}'|cut -c7-'
sleep 2
rx_after='ifconfig eth0|sed -n "8"p|awk '{print $2}'|cut -c7-'
tx_after='ifconfig eth0|sed -n "8"p|awk '{print $6}'|cut -c7-'
rx_result=$[(rx_after-rx_before)/256]
tx_result=$[(tx_after-tx_before)/256]
echo "$time Now_In_Speed: "$rx_result"kbps Now_OUt_Speed: "$tx_result"kbps"
sleep 2
done

2、系统状况监控

#!/bin/sh
#systemstat.sh
#Mike.Xu
IP=192.168.1.227
top -n 2| grep "Cpu" >>./temp/cpu.txt
free -m | grep "Mem" >> ./temp/mem.txt
df -k | grep "sda1" >> ./temp/drive_sda1.txt
#df -k | grep sda2 >> ./temp/drive_sda2.txt
df -k | grep "/mnt/storage_0" >> ./temp/mnt_storage_0.txt
df -k | grep "/mnt/storage_pic" >> ./temp/mnt_storage_pic.txt
time=`date +%m"."%d" "%k":"%M`
connect=`netstat -na | grep "219.238.148.30:80" | wc -l`
echo "$time $connect" >> ./temp/connect_count.txt

3、监控主机的磁盘空间,当使用空间超过90%就通过发mail来发警告

#!/bin/bash
#monitor available disk space
SPACE='df | sed -n '/ \ / $ / p' | gawk '{print $5}' | sed 's/%//'
if [ $SPACE -ge 90 ]
then
jbxue123@163.com
fi

4、 监控CPU和内存的使用情况

#!/bin/bash
#script to capture system statistics
OUTFILE=/home/xu/capstats.csv
DATE='date +%m/%d/%Y'
TIME='date +%k:%m:%s'
TIMEOUT='uptime'
VMOUT='vmstat 1 2'
USERS='echo $TIMEOUT | gawk '{print $4}' '
LOAD='echo $TIMEOUT | gawk '{print $9}' | sed "s/,//' '
FREE='echo $VMOUT | sed -n '/[0-9]/p' | sed -n '2p' | gawk '{print $4} ' '
IDLE='echo $VMOUT | sed -n '/[0-9]/p' | sed -n '2p' |gawk '{print $15}' '
echo "$DATE,$TIME,$USERS,$LOAD,$FREE,$IDLE" >> $OUTFILE

5、全方位监控主机

#!/bin/bash
# check_xu.sh
# 0 * * * * /home/check_xu.sh

DAT="`date +%Y%m%d`"
HOUR="`date +%H`"
DIR="/home/oslog/host_${DAT}/${HOUR}"
DELAY=60
COUNT=60
# whether the responsible directory exist
if ! test -d ${DIR}
then
/bin/mkdir -p ${DIR}
fi
# general check
export TERM=linux
/usr/bin/top -b -d ${DELAY} -n ${COUNT} > ${DIR}/top_${DAT}.log 2>&1 &
# cpu check
/usr/bin/sar -u ${DELAY} ${COUNT} > ${DIR}/cpu_${DAT}.log 2>&1 &
#/usr/bin/mpstat -P 0 ${DELAY} ${COUNT} > ${DIR}/cpu_0_${DAT}.log 2>&1 &
#/usr/bin/mpstat -P 1 ${DELAY} ${COUNT} > ${DIR}/cpu_1_${DAT}.log 2>&1 &
# memory check
/usr/bin/vmstat ${DELAY} ${COUNT} > ${DIR}/vmstat_${DAT}.log 2>&1 &
# I/O check
/usr/bin/iostat ${DELAY} ${COUNT} > ${DIR}/iostat_${DAT}.log 2>&1 &
# network check
/usr/bin/sar -n DEV ${DELAY} ${COUNT} > ${DIR}/net_${DAT}.log 2>&1 &
#/usr/bin/sar -n EDEV ${DELAY} ${COUNT} > ${DIR}/net_edev_${DAT}.log 2>&1 &
放在crontab里每小时自动执行:

0 * * * * /home/check_xu.sh

这样便会在/home/oslog/host_yyyymmdd/hh目录下生成各小时cpu、内存、网络,IO的统计数据。

如果某个时间段产生问题了,就可以去看对应的日志信息,看看当时的主机性能如何。

转载于:https://www.cnblogs.com/sherlockhomles/archive/2013/05/21/3090330.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/261652.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

linux下面的查找

locate:速度快不是实时的,每天定时执行把结果导入数据库模糊匹配updatedb --手动生成文件数据库,执行时间较长find:实时查找精确速度慢支持众多查找标准find 查找路径 查找标准 处理动作查找路径:默认当前目录查找标…

python常用数学符号_数学菜鸟的AI学习攻略-AI学习常用数学符号 - 老牛博客

[ 导读 ]自学AI的过程中,我们非常需要理解这些数学符号。它可以让你用一种非常简洁的方式来表达一个复杂的想法。你是否跟我一样,自幼恨透数学。现在,我终于发现了我对数学绝缘的最主要原因:我的老师从来不去回答最重要的问题&…

输入法智能化发展历程

技术发展周期一般会持续十年的时间,我们现在已经进入移动互联网周期的早期阶段,这是过去的50 年来的第5 个发展周期:20世纪60 年代,大型机时代;20世纪70年代,小型机时代;20世纪80 年代&#xff…

线程类C++多线程框架(一)--------- new一下就启动一个线程

之前笔者几篇文章介绍了改线程类的文章. 关联文章的地址 几年前写过一个C的多线程框架,虽然写完了,但是人一懒做了一次说明以后就没影了,最近把代码整顿了一下,预备发到github上,在这里,再把这个框架总结一…

Linux下Gcc生成和使用静态库和动态库详解

参考文章:http://blog.chinaunix.net/uid-23592843-id-223539.html 一、基本概念 1.1什么是库 在windows平台和linux平台下都大量存在着库。 本质上来说库是一种可执行代码的二进制形式,可以被操作系统载入内存执行。 由于windows和linux的平台不同&…

python正则表达式试题_正则表达式练习题2

1、匹配一行文字中的所有开头的字母内容#codingutf-8import res"i love you not because of who you are,but because of who i am when i am with you"contentre.findall(r"\b\w",s)print contentc:\Python27\Scripts>python task_test.py[‘i‘,‘l‘…

Knowladge_网站学习_jQuery插件

几个参考的jquery插件网站 1. 240 多个jQuery 插件              http://www.cnblogs.com/Terrylee/archive/2007/12/09/the-ultimate-jquery-plugin-list.html 2. 1587款jQuery 插件开源软件            http://www.oschina.net/project/tag/273/jque…

C语言求斐波那契数列

一.递归算法 #define _CRT_SECURE_NO_WARNINGS 1 #include<stdio.h> int fib(int k) {if (k < 2)return 1;elsereturn fib(k - 1) fib(k - 2); } int main() {int n 0;int res 0;printf("求输入斐波那契数列的阶数");scanf("%d", &n);res…

CMFCRibbonStatusBar中添加图片按钮

今天遇到了问题&#xff0c;网上down的 Heres how it works: 1. Create aCMFCRibbonButtonsGroup that will hold the status icon and add it to CMFCRibbonStatusBar 2. Create a CMFCToolBarImagesobject and add status icons via AddIcon() . 3. Register theCMFCToolbarI…

nodejs中path的用法

在用nodejs进行开发的时候&#xff0c;常常要进行复杂的路径判断。对于我这种刚开始接触模块化开发的小白来说&#xff0c;实在是浪费很多宝贵的脑细胞&#xff08;找路径bug&#xff09;。 node中的path模块帮助我们方便的解决了路径设置问题。 首先将path模块引入 require(pa…

nginx $mail-send()发送邮件报错_基于SMTP协议的E-MAIL电子邮件发送客户端软件C#实现...

摘 要电子邮件在当今社会中扮演了一个很重要的角色。越来越多的人在使用它。而且用它的人数势必会继续增加。虽然&#xff0c;现在已经有很多的邮件收发软件例如著名的FoxMail 但是对于大多数的非专业的人来说它还是有点难度稍嫌负责。因此&#xff0c;我们就利用SMTP和Pop协议…

C语言求n的阶乘

#define _CRT_SECURE_NO_WARNINGS 1 #include<stdio.h> int fact(int k) {if (k > 1)return k * fact(k - 1);elsereturn 1; } int main() {int n 0;int num 0;printf("请输入一个正整数n,求n!");scanf("%d", &n);numfact(n);printf("…

oracle11g 隐藏参数_ORACLE 11GR2常用参数(含隐含参数)设置

ORACLE 11GR2常用参数(含隐含参数)设置如下&#xff1a;alter system set "_PX_use_large_pool" true scopespfile;alter system set "_clusterwide_global_transactions" false scopespfile;#RAC环境 https://www.sohu.com/a/152628320_505827alter sys…

【转】DCT变换的透彻解析

3、离散余弦变换 DCT  将图像从色彩域转换到频率域&#xff0c;常用的变换方法有&#xff1a;DCT变换的公式为&#xff1a;f(i&#xff0c;j) 经 DCT 变换之后&#xff0c;F(0&#xff0c;0) 是直流系数&#xff0c;其他为交流系数。  还是举例来说明一下。  8x8的原始图…

使用git pull文件时和本地文件冲突怎么办?

Git常用命令 具体方法如下 git pull origin 分支//出现错误git stash 缓存起来git pull origin 分支git stash pop //还原git stash clear 开发人员常常遇到这种情况&#xff1a;花了几天时间一直在做一个新功能&#xff0c;已经改了差不多十几个文件&#xff0c;突然有一个bu…

C语言计算字符串的长度

一。循环实现 #define _CRT_SECURE_NO_WARNINGS 1 #include<stdio.h> int my_strlen(char *pstr) {int num 0;while (*pstr ! \0){num;pstr;}return num; } int main() {int count 0;char str[100] { 0 };printf("请输入一个字符串");scanf("%s"…

Android 目录

Android 移动平台概述 1 Android平台简介 2 Android平台所提供的功能 3 Android框架简介 4 Android SDK 简介:包括一系列ANDROID应用开发工具和文档&#xff0c;包括调试器&#xff0c;库文件集&#xff0c;手机设备模拟器&#xff0c;文档&#xff0c;范例和开发指导。 5 An…

安防硬件WIZnet基于全硬件TCP/IP的安防产品应用及方案

在本文中,我们主要介绍安防硬件的内容,自我感觉有个不错的建议和大家分享下 WIZnet立足于生产全硬件TCP/IP协议栈芯片&#xff0c;为单片机提供理想的处置计划。整体来讲&#xff0c;其应用领域还是非常广泛的&#xff0c;以智能电表为代表的Smart Energy&#xff1b;以数字楼宇…

在屏幕上将1234逐位打印出来1,2,3,4

#define _CRT_SECURE_NO_WARNINGS 1 #include<stdio.h> void my_printf(int temp) {if (temp > 9)my_printf(temp / 10);printf("%d\n", (temp % 10)); } int main() {int num 0;printf("请输入一个数字:\n");scanf("%d", &num);…