利用shell脚本“综合、集中”查看linux server常用软硬件信息

作为运维人员,了解每台服务器的硬件相关信息以及系统相关配置是必不可少的工作。虽然不难,却很零散,信息集中度不高。故而做了做了一套集中展示以上信息的“平台”(其实谈不上平台,收集-整理-展示而已),其原理由一台“监控机”(暂且这么叫吧)运行主脚本,根据记录服务器IP的文件循环处理每台server;配合“被监控机”上的两个awk文件(awk规则),将信息统一收集到“监控机”然后由web server进行展示,界面大致如下面图例。

#注:web server需开启目录访问功能

首页页面,所有的服务器都会以一个目录的形式显示,目录内包含该server相关信息

选中某台server后,进入二级页面,分别记录了任务计划/硬件信息/防火墙设置/root-shell为本人习惯存放shell脚本的目录/sys_conf为系统常用配置文件

其中,devinfo.txt为汇总整理后的硬件信息,如下图。个人感觉“内存”的显示效果是我比较得意的,可以清楚的看到共有多少插槽、插了几根、现有内存的单条容量/频率/厂家代号,这些信息在增加或者更换内存的时候是非常有用的。另外磁盘信息用lsblk命令也更简洁直观

sys_conf目录下,保留了三天以来的系统常用配置文件,包含以下文件

看到这里,如果觉得有点用的同学可以接着往下看如何实现了。这套脚本在centos6和7上都试验过。

我的“监控机”是在内网,通过ssh免秘钥方式可以登到线上各台server(因为免不了要读线上多台server进行批量操作,所以有必要在内网配置一台能免秘钥登录线上server的)。

主脚本在“监控机”定时运行,通过ips.txt文件获取到线上server的主机名和IP。ips.txt是通过其他方式统计而来(这个就多种多样,最不济就是手动编辑这个)格式如下:web1-x.x.x.x;每行一台。主脚本同过远程执行命令获取相应信息,这里需要在各台“被监控机”上放置两个awk文件servername.awk和mem.awk(通过awk -f 调用,用于获取并格式化输出“机器型号  串号”和“内存”信息)。至于如何将这俩文件批量上传到服务器,不在本文讨论范围。

最终将所有信息都汇总于“监控机”的/server_info目录下,将web server根目录指向其便可。

主脚本内容:cat /root/serverinfo.sh

#!/bin/sh

#2016/7/12 by Chris_JD

#通过将各台server的硬件信息记入文本,然后通过web-server进行显示

for server_ip in `cat /root/shells/ips.txt` #记录局域网的所有主机ip和主机名

do

ip=`echo $server_ip|awk -F '-' '{print $2}'`  #获取各server IP

###第一次运行该脚本,最好在以下远程命令部分再加一条yum -y install dmidecode util-linux-ng > /dev/null

###以防命令不存在

ssh root@$ip "cat /etc/issue|sed -n '1p' > /devinfo/devinfo.txt;

uname -a|cut -d ' ' -f 2|sed s/^/HostName:' '/ >> /devinfo/devinfo.txt;

uname -a|cut -d ' ' -f 3|sed s/^/Kernel:' '/ >> /devinfo/devinfo.txt;

dmidecode -t system|awk -f /root/shells/servername.awk >> /devinfo/devinfo.txt;

echo -e '\n--------CPU:-------' >> /devinfo/devinfo.txt;

lscpu |egrep -v 'Order|Vendor|Model|Stepping|BogoMIPS|family|On-line|op-mode|CPU\ socket|NUMA\ node0' >> /devinfo/devinfo.txt;

echo -e '\n------内存:------' >> /devinfo/devinfo.txt;

dmidecode -t memory|grep -A7 Physical >> /devinfo/devinfo.txt;

dmidecode -t memory|grep -e "Size.*[0-9]" -A8|awk -f /root/shells/mem.awk >> /devinfo/devinfo.txt;

echo -e '\n-------磁盘:-------' >> /devinfo/devinfo.txt;

lsblk >> /devinfo/devinfo.txt;

crontab -l > /devinfo/crontab.txt;

iptables -L -n > /devinfo/iptables.txt"

mkdir /server_info/$server_ip &> /dev/null

scp root@$ip:/devinfo/* /server_info/$server_ip/

###从/tmp/$ip 下拷贝系统级配置文件 备份至此

time=`date +%F`

mkdir -p /server_info/$server_ip/sys_conf/$time

cp  /tmp/$ip/* /server_info/$server_ip/sys_conf/$time/

###保留两天的sys_conf即可

find /server_info/$server_ip/sys_conf -type d -mtime +1|xargs rm -rf

###将生产各server/root/shells 下的脚本同步做备份

rsync -av --delete root@$ip:/root/shells/ /server_info/$server_ip/root-shells

echo -e "\e[1;31m $server_ip is done \e[0m"

done

主脚本中引用的两个awk文件内容如下

cat shells/servername.awk

-$0~ /Product.*/ {printf "%s","\nserver型号: "$(NF-1)" "$NF}

-$0~ /Serial.*/ {printf "%s",$0"\n"}

cat shells/mem.awk

$0~ /Size.*[0-9]/ {printf "%s",$0"\t"}

$0~ /Speed.*[0-9]/ {printf "%s",$0"\t\t"}

$0~ /Manufacturer.*/ {print "厂家代号: "$2}$0~ /Size.*[0-9]/ {printf "%s",$0"\t"}

$0~ /Speed.*[0-9]/ {printf "%s",$0"\t\t"}

$0~ /Manufacturer.*/ {print "厂家代号: "$2}

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 194,491评论 5 459
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 81,856评论 2 371
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 141,745评论 0 319
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 52,196评论 1 263
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 61,073评论 4 355
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 46,112评论 1 272
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 36,531评论 3 381
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 35,215评论 0 253
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 39,485评论 1 290
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 34,578评论 2 309
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 36,356评论 1 326
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,215评论 3 312
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 37,583评论 3 299
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 28,898评论 0 17
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,174评论 1 250
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 41,497评论 2 341
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 40,697评论 2 335

推荐阅读更多精彩内容