千家信息网

shell如何监控多台主机

发表于:2025-11-08 作者:千家信息网编辑
千家信息网最后更新 2025年11月08日,小编给大家分享一下shell如何监控多台主机,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!首先要在被监控主机和监控主机之间
千家信息网最后更新 2025年11月08日shell如何监控多台主机

小编给大家分享一下shell如何监控多台主机,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!

首先要在被监控主机和监控主机之间建立信任关系,不了解ssh证书验证的可以看看:

http://dragon123.blog.51cto.com/9152073/1586795

安装mutt:

[root@centos-server ~]# yum install mutt

监控列表:

[root@centos-server ~]# cat > iplist.txt < 22.22.22.128> 22.22.22.129> 22.22.22.130> 22.22.22.134> end

监控脚本:

#!/bin/bashfor ip in `cat iplist.txt`;do        ping $ip -c1>/dev/null  #先检查主机是否在线,如果在线则进行进一步监控        if [ $? -eq 0 ];then        rootused=``ssh $ip df -h|grep /$|awk '{print $4}'|cut -d% -f1` #取根目录使用情况for hardid in ``ssh $ip df -h|grep "^\/dev\/s[a-z][a-z]"|awk '{print $1}'`;dohardused=``ssh $ip df -h|grep $hardid|awk '{print $5}'|cut -d% -f1`  #取其它本地硬盘的使用情况        done        memtotal=`ssh $ip free -m|grep Mem|awk '{print $2}'`        memused=`ssh $ip free -m|grep Mem|awk '{print $3}'`        mem=`expr $memused \* 100 / $memtotal`        idelcpu=`ssh $ip top -n1|grep Cpu|awk '{print $5}'|cut -d"." -f1`        cpuused=`expr 100 - $idelcpu`if [ $mem -gt 70 ];then        #如果内存使用高于70%则邮件通知        echo "warm:$ip memory is $mem"|mutt -s "monitor report" 18507656225@163.comfiif [ $hardused -le 80  ];then     #如果硬盘使用已高于80%则邮件通知                echo "warm:$ip the Hard drive capacity is more 80%"|mutt -s"monitor report" 18507656225@163.com fiif [ $rootused -le 80  ];then     #如果硬盘使用已高于80%则邮件通知                echo "warm:$ip the Hard drive capacity is more 80%"|mutt -s"monitor report" 18507656225@163.com fifor hardid in `ssh $ip iostat |grep "^s[a-z][a-z]"|awk '{print $1}'`;do    #先取盘符        iostat=`ssh $ip iostat -x|grep $hardid|awk '{print $12}'|cut -d"." -f1` #取得io繁忙状态                echo $iostat        if [ $iostat -gt 80 ];then    #如果io繁忙高于80%,则邮件通知                echo "ipaddress:$ip,hard:$hardid,iostat:$iostat"|mutt -s"warm" 18507656225@163.com                   fi        doneelse        echo "host:$ip is not alive"|mutt -s"monitor report" 18507656225@163.com  #如果主机无法ping通则邮件通知    fidone

每5分钟监控一次(如果出现什么问题,并且这个得不到解决,每5分钟就收到一封邮件,这很令人纠结):

[root@centos-server ~]# crontab -e

*/5 * * * * bash /root/monitor.sh

查收邮件:

以上是"shell如何监控多台主机"这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注行业资讯频道!

监控 邮件 主机 硬盘 篇文章 多台 繁忙 内容 情况 在线 不怎么 之间 内存 大部分 更多 根目录 状态 知识 脚本 行业 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 学生全教育网络安全 金山区网络软件开发价钱 电信塔数据网络技术部 东南大学网络安全大赛 数据库建立什么意思 华为cbg网络安全服务考试题 计算机网络技术月薪怎么样 命令行启动达梦数据库 软件开发项目免费 全球企业消减网络安全预算 宁波网络安全论坛 东方互联网科技有限公司 数据库查询商品的销售金额 分布式数据库管理师考试 主角自己研发服务器的科技小说 安川服务器报警78怎么处理 西安邮政软件开发中心待遇 怎么和队友联机进我的世界服务器 郎溪自动化软件开发服务检修 服务器raid卡必须要配吗 问道手游九游服务器 zabbix数据库设计 网络安全职业薪资待遇 怎么把数据存到数据库 神魔大陆找不到服务器 广州元甲互联网科技 长葛手机软件开发 游戏辅助软件开发公司 方舟手游怎么不用服务器联机 国家开发大学数据库应用技术
0