技术解析

写了个bash脚本查看系统运行概况
0
1975-02-28 00:07:27
idczone
系统debian6 x86_64

因为要几十个小时运行个占用大量资源易死锁的东西,开了一堆监控看
所以想集中到一个窗口,造了个轮子

#!/bin/bash
for((i=1;i<=999999999;i++))
do
ins=$(cat /proc/net/dev | sed -n '4,4p' | sed 's/eth0://g' | awk '{print $1}')
outs=$(cat /proc/net/dev | sed -n '4,4p' | sed 's/eth0://g' | awk '{print $9}')
sleep 1s
ine=$(cat /proc/net/dev | sed -n '4,4p' | sed 's/eth0://g' | awk '{print $1}')
oute=$(cat /proc/net/dev | sed -n '4,4p' | sed 's/eth0://g' | awk '{print $9}')
in=$[($ine-$ins)/1024]
out=$[($oute-$outs)/1024]
echo "in-out-k:" $in $out " conn:" $(netstat -an | wc -l) " inode:" $(df -i | grep sdb | awk '{print $3}') " bi-bo:"$(vmstat | sed -n '3,3p' | awk '{print " " $9 " " $10}') " load:" $(uptime | sed 's/,//g' | awk '{print $8" on "$1}')
done

in-out-k 以k为单位显示当前进出流量
conn 就是netstat -an的数量,我需要看的是上下的巨大差异
inode sdb盘的文本使用情况
bi-bo sdb盘的bi bo其它盘基本没啥读写
load 当前负载
on 当前时间

第一次写bash 基本上是边查边写 效果还不错啊

输出是这样子的:

[email protected]:~# ./show
in-out-k: 1882 194 conn: 444 inode: 15479255 bi-bo: 364 1856 load: 9.40 on 19:44:58
in-out-k: 2066 172 conn: 393 inode: 15479348 bi-bo: 364 1856 load: 9.40 on 19:44:59
in-out-k: 2003 178 conn: 485 inode: 15479441 bi-bo: 364 1856 load: 9.40 on 19:45:00
in-out-k: 3574 325 conn: 471 inode: 15479595 bi-bo: 364 1856 load: 9.40 on 19:45:01
in-out-k: 1912 185 conn: 1058 inode: 15479680 bi-bo: 364 1855 load: 11.45 on 19:45:02
in-out-k: 2049 201 conn: 938 inode: 15479805 bi-bo: 364 1855 load: 11.45 on 19:45:03
in-out-k: 4342 382 conn: 800 inode: 15480006 bi-bo: 364 1855 load: 11.45 on 19:45:04
in-out-k: 2929 287 conn: 570 inode: 15480150 bi-bo: 364 1855 load: 11.45 on 19:45:05
in-out-k: 3508 297 conn: 655 inode: 15480302 bi-bo: 364 1855 load: 11.45 on 19:45:06
in-out-k: 2678 243 conn: 674 inode: 15480443 bi-bo: 364 1855 load: 12.53 on 19:45:07
in-out-k: 1694 159 conn: 630 inode: 15480510 bi-bo: 364 1855 load: 12.53 on 19:45:08
in-out-k: 1332 140 conn: 1234 inode: 15480587 bi-bo: 364 1855 load: 12.53 on 19:45:09
in-out-k: 2622 237 conn: 1130 inode: 15480713 bi-bo: 364 1855 load: 12.53 on 19:45:10
in-out-k: 3116 273 conn: 986 inode: 15480862 bi-bo: 364 1854 load: 12.53 on 19:45:11
in-out-k: 3213 302 conn: 825 inode: 15481017 bi-bo: 364 1854 load: 11.85 on 19:45:12
in-out-k: 2826 268 conn: 969 inode: 15481146 bi-bo: 364 1855 load: 11.85 on 19:45:13
顶你。。

亲,你啥时候也来这里了 :)

我觉得 htop dstat 这两个足够了

那时候还不知道呢 不过DIY总是最高效的 还可以随时加新的 sed awk真好用

虽然看不懂,但好像很厉害……
:)

下次还是用 dstat 吧,可以自己开发模块

数据地带为您的网站提供全球顶级IDC资源
在线咨询
专属客服