Linux机器-网卡磁盘监控
1)实时监控网卡流量的通用脚本:
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
|
[root@ceph-node1 ~]# cat /root/net_monit.sh#!/bin/bashPATH=/bin:/usr/bin:/sbin:/usr/sbin:/usr/local/bin:/usr/local/sbin;export PATHfunction traffic_monitor { OS_NAME=$(sed -n '1p' /etc/issue) eth=$1 if [ ! -d /sys/class/net/$eth ];then echo -e "Network-Interface Not Found" echo -e "You system have network-interface:\n`ls /sys/class/net`" exit 5 fi while [ "1" ] do STATUS="fine" RXpre=$(cat /proc/net/dev | grep $eth | tr : " " | awk '{print $2}') TXpre=$(cat /proc/net/dev | grep $eth | tr : " " | awk '{print $10}') sleep 1 RXnext=$(cat /proc/net/dev | grep $eth | tr : " " | awk '{print $2}') TXnext=$(cat /proc/net/dev | grep $eth | tr : " " | awk '{print $10}') clear RX=$((${RXnext}-${RXpre})) TX=$((${TXnext}-${TXpre})) if [[ $RX -lt 1024 ]];then RX="${RX}B/s" elif [[ $RX -gt 1048576 ]];then RX=$(echo $RX | awk '{print $1/1048576 "MB/s"}') $STATUS="busy" else RX=$(echo $RX | awk '{print $1/1024 "KB/s"}') fi if [[ $TX -lt 1024 ]];then TX="${TX}B/s" elif [[ $TX -gt 1048576 ]];then TX=$(echo $TX | awk '{print $1/1048576 "MB/s"}') else TX=$(echo $TX | awk '{print $1/1024 "KB/s"}') fi echo -e "===================================" echo -e "Welcome to Traffic_Monitor stage" echo -e "version 1.0" echo -e "Since 2018.7.2" echo -e "Created by wangshibo" echo -e "BLOG: http://www.cnblogs.cn/kevingrace" echo -e "===================================" echo -e "System: $OS_NAME" echo -e "Date: `date +%F`" echo -e "Time: `date +%k:%M:%S`" echo -e "Port: $1" echo -e "Status: $STATUS" echo -e " \t RX \tTX" echo "------------------------------" echo -e "$eth \t $RX $TX " echo "------------------------------" echo -e "Press 'Ctrl+C' to exit" done}if [[ -n "$1" ]];then traffic_monitor $1else echo -e "None parameter,please add system netport after run the script! \nExample: 'sh traffic_monitor eth0'"fi[root@ceph-node1 ~]# chmod 755 /root/net_monit.sh[root@ceph-node1 ~]# sh /root/net_monit.sh eth0 #eth0是网卡设备名称,如果是网卡绑定bond0,后面就跟bond0===================================Welcome to Traffic_Monitor stageversion 1.0Since 2018.7.2Created by wangshiboBLOG: http://www.cnblogs.cn/kevingrace===================================System: CentOS release 6.9 (Final)Date: 2018-07-02Time: 15:19:34Port: eth0Status: fine RX TX------------------------------eth0 417B/s 390B/s------------------------------Press 'Ctrl+C' to exit===================================Welcome to Traffic_Monitor stageversion 1.0Since 2018.7.2Created by wangshiboBLOG: http://www.cnblogs.cn/kevingrace===================================System: CentOS release 6.9 (Final)Date: 2018-07-02Time: 15:19:35Port: eth0Status: fine RX TX------------------------------eth0 1.49902KB/s 1.3252KB/s------------------------------Press 'Ctrl+C' to exit |
2)监控磁盘的监控脚本
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
|
[root@ceph-node1 ~]# cat disk_monit.sh#!/bin/bash#filename:Monitor_DiskMonitor_Disk(){mkdir -p /mnt/Monitor_Diskfdisk -l|grep "Disk /dev/" | awk '{print $2,$3$4}'|tr -d ',:'>/mnt/Monitor_Disk/device_list.logN=1;ECHO 90while read device_linedoDevice=`echo $device_line|awk '{print $1}'`Sum=`echo $device_line|awk '{print $2}'`df -h |grep "$Device"|sort>/mnt/Monitor_Disk/${N}_partitions.logechoecho "** 第$N块硬盘($Device):${Sum} **"| grep -E "$Device|$Sum|$N" --color=yesecho "------------------------------------"echo -e "linux分区 挂载目录 总大小 已用 剩余 已用百分比 文件系统 ID system \块大小 预留空间 ">/mnt/Monitor_Disk/${N}_Over.logecho -e "========= ======== ===== === === ========== ======= == ====== \====== ======== ">>/mnt/Monitor_Disk/${N}_Over.logNum_Partition=`cat /mnt/Monitor_Disk/${N}_partitions.log|wc -l`n=0while read partition_linedo Partition_Name=`echo $partition_line|awk '{print $1}'` Mount_Dir=`echo $partition_line|awk '{print $6}'` Partition_Sum=`echo $partition_line|awk '{print $2}'` Partition_Used=`echo $partition_line|awk '{print $3}'` Partition_Leave=`echo $partition_line| awk '{print $4}'` Partition_Percent=`echo $partition_line|awk '{print $5}'` Partition_Type=`mount|grep $Partition_Name|awk '{print $5$6}'` Partition_Id=`fdisk -l | grep $Partition_Name|tr -d '\*'|awk '{print $5}'` Partition_System=`fdisk -l | grep $Partition_Name|tr -d '\*'|awk '{print $6}'` Part_Block_Size_B=`tune2fs -l $Partition_Name|grep "Block size"|awk '{print $3}'` Part_Lift_For_Root_Blocks=`tune2fs -l $Partition_Name|grep "Reserved block count:"|\ awk '{print $4}'` Part_Block_Size=`echo $Part_Block_Size_B/1024|bc` Part_Lift_For_Root=`echo ${Part_Lift_For_Root_Blocks}*${Part_Block_Size}/1024|bc` echo -e "$Partition_Name $Mount_Dir $Partition_Sum $Partition_Used $Partition_Leave \$Partition_Percent $Partition_Type $Partition_Id $Partition_System \${Part_Block_Size}K ${Part_Lift_For_Root}M">>/mnt/Monitor_Disk/${N}_Over.log let n++ [ $n -eq $Num_Partition ]&&(cat /mnt/Monitor_Disk/${N}_Over.log|column -t;echo)done</mnt/Monitor_Disk/${N}_partitions.loglet N++done</mnt/Monitor_Disk/device_list.logECHO 90rm -fr /mnt/Monitor_Disk}ECHO(){for ((i=1;i<=$1;i++))doecho -n "#"[ $i -eq $1 ]&&(echo;echo)done}Monitor_Disk[root@ceph-node1 ~]# chmod 755 disk_monit.sh[root@ceph-node1 ~]# sh disk_monit.sh##########################################################################################** 第1块硬盘(/dev/sdb):577.4GB **------------------------------------linux分区 挂载目录 总大小 已用 剩余 已用百分比 文件系统 ID system 块大小 预留空间========= ======== ===== === === ========== ======= == ====== ====== ========/dev/sdb1 /data 530G 42G 461G 9% ext4(rw) 83 Linux 4K 27532M** 第2块硬盘(/dev/sda):322.1GB **------------------------------------linux分区 挂载目录 总大小 已用 剩余 已用百分比 文件系统 ID system 块大小 预留空间========= ======== ===== === === ========== ======= == ====== ====== ========/dev/sda1 /boot 283M 76M 193M 29% ext4(rw) 83 Linux 1K 15M/dev/sda3 / 265G 3.1G 248G 2% ext4(rw) 83 Linux 4K 13744M########################################################################################## |
Linux机器-网卡磁盘监控的更多相关文章
- 监控linux服务器网卡流量
监控linux服务器网卡流量 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 欢迎加入:高级运维工程师之路 598432640 前言:众所周知,我们安装zabbix服务器 ...
- PHP获取网卡的MAC地址原码;目前支持WIN/LINUX系统 获取机器网卡的物理(MAC)地址
声明转换于其它博客当中的. <?php /** 获取网卡的MAC地址原码:目前支持WIN/LINUX系统 获取机器网卡的物理(MAC)地址 **/ class GetMacAddr{ var $ ...
- cacti监控linux和windows磁盘IO
cacti监控linux和windows磁盘IO 标签:cacti linux磁盘IO windows磁盘IO 原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则 ...
- Linux简单Shell脚本监控MySQL、Apache Web和磁盘空间
Linux简单Shell脚本监控MySQL.Apache Web和磁盘空间 1. 目的或任务 当MySQL数据库.Apache Web服务器停止运行时,重新启动运行,并发送邮件通知: 当服务器磁盘的空 ...
- 【转载】Linux系统与性能监控
原文地址:http://kerrigan.sinaapp.com/post-7.html Linux System and Performance Monitoring http://www.hous ...
- Linux系统与性能监控
原文地址:http://kerrigan.sinaapp.com/post-7.html Linux System and Performance Monitoring http://www.hous ...
- Linux 服务器运行健康状况监控利器 Spotlight on Unix 的安装与使用
1.本文背景 1.1.Linux 服务器情况 # cat /etc/issueRed Hat Enterprise Linux Server release 6.1 (Santiago)Kernel ...
- Linux系统和性能监控之CPU篇
Linux系统和性能监控之CPU篇 性能优化就是找到系统处理中的瓶颈以及去除这些的过程.本文由sanotes.net站长tonnyom在2009年8月翻译自Linux System and Perfo ...
- Linux双网卡绑定bond详解--单网卡绑定多个IP
Linux双网卡绑定bond详解 1 什么是bond 网卡bond是通过多张网卡绑定为一个逻辑网卡,实现本地网卡的冗余,带宽扩容和负载均衡,在生产场景中是一种常用的技术.Kernels 2.4.12及 ...
随机推荐
- 【JavaScript高级程序设计】6.1 理解对象
上一章曾经介绍过,创建自定义对象的最简单方式就是创建一个Object 的实例,然后再为它添加属性和方法,如下所示. var person = new Object(); person.name = & ...
- Reward HDU - 2647
传送门 Dandelion's uncle is a boss of a factory. As the spring festival is coming , he wants to dis ...
- Pandas 文本数据
Pandas针对字符串配备的一套方法,使其易于对数组的每个元素(字符串)进行操作. 1.通过str访问,且自动排除丢失/ NA值 # 通过str访问,且自动排除丢失/ NA值 s = pd.Serie ...
- springboot搭建环境访问Controller层返回404
如果启动成功,但是却访问不了你自己写的controller,报404错误,那么原因就是您写的controller没有被spring 容器扫描到 解决方案: spring boot 默认扫描您的类是 在 ...
- linux c 调用子文件函数
今天在学习初级linux c的时候遇到了如下问题:通过主函数调用同路径下的子文件函数调用失败.博主是这样一一解决的: 首先:hello.c: hello.c: #include<bool.c&g ...
- python基础之模块part1
模块: 模块本质上就是一个Python程序. 所有说是对象的,一定可以通过 对象.方法 来实现某些操作. 模块种类: 内置模块 第三方模块 自定义模块 import在查找模块的顺序:内置模块--- ...
- SyntaxError: Non-ASCII character '\xe4' in file test.py on line 3, but no encoding declared。
可以查看到pycharm右下角文件的编码方式, 如果编码方式不一致,则在设置中修改编码方式: http://jingyan.baidu.com/article/c843ea0ba55f0977931e ...
- Android 6.0 动态申请 音频+拍照+相册 权限
1.音频的权限(包括录音和播放) 1.1.首先要在清单中加上两个权限 <uses-permission android:name="android.permission.WRITE_E ...
- IAR FOR STM8S 错误 An error occurred while retrieving GDI features: gdi-error [40201]解决方法
今早使用IAR调试编译调试一个工程,发现IAR竟然出现如下错误信息 An error occurred ]: Can't access configuration database 在网上查看了一下, ...
- 图解java面试
图解Java面试题:基本语法 2017-02-07 14:34 出处:清屏网 人气:178 评论(0) 内容大纲.png &和&&的区别 &和&&的 ...