前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >shell脚本案例-主机状态监控脚本

shell脚本案例-主机状态监控脚本

作者头像
星哥玩云
发布2022-09-15 16:37:09
4760
发布2022-09-15 16:37:09
举报
文章被收录于专栏:开源部署

案例需求

通过脚本判断远程计算机的存活状态

脚本应用场景

1、通过监控平台调用监控脚本对服务器进行监控

2、机器扫描

解决问题

1、运维人员实时掌控机器的状态,防止宕机或者由于压力过大造成请求处理延时,保障业务的稳定、高效运行

脚本思路

1、通过ICMP协议的ping命令ping目标主机

代码语言:javascript
复制
网络延迟,假报警如何解决?
  3次  

2、分析ping结果

3、给出结论

代码语言:javascript
复制
全部ping结果为假,报宕机
全部ping成功,报正常
否则报警告

实现代码

代码语言:javascript
复制
#!/bin/bash
# 
#Author: www.zutuanxue.com
#Created Time: 
#Release: 
#Description: 


#1、ping 目标主机三次,并接收每次的状态值,ping成功返回1,不成功返回0
for ((i=1;i<4;i++));do
#测试代码
   if ping -c1 $1 &>/dev/null;then

	#分析结果
        export ping_count"$i"=1

   else
        export ping_count"$i"=0
   fi

#时间间隔
   sleep 0.3
done

#3、分析结果
#  3次ping失败报警
# 
if [ $ping_count1 -eq $ping_count2 ] && [ $ping_count2 -eq $ping_count3 ]&&[ $ping_count1 -eq 0 ];then
    echo "$1  宕机"
elif [ $ping_count1 -eq $ping_count2 ] && [ $ping_count2 -eq $ping_count3 ]&&[ $ping_count1 -eq 1 ];then
    echo "$1  正常"
else
    echo "warn: $1 网络延迟"
fi 

#4、释放变量
unset ping_count1 
unset ping_count2  
unset ping_count3

案例思考

代码语言:javascript
复制
当你的机器放在IDC机房的时候,你如何判断各个运营商的用户到你服务器的以下数据。

网络延迟如何获得

网络丢包率如何获得
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 案例需求
  • 脚本应用场景
  • 解决问题
  • 脚本思路
  • 实现代码
  • 案例思考
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档