共计 607 个字符,预计需要花费 2 分钟才能阅读完成。
案例需求
判断计算机某个端口是否为 OPEN 状态, 且能正常访问
脚本应用场景:
服务监控脚本 + 监控平台
手动监控
解决问题
实时掌握服务的运行状态,及时处理问题。
脚本思路
1、使用 telnet 命令连接远端机器的远端端口
2、接收连接反馈并分析结果
3、分析文件内容
4、打印结果
实现代码
#!/bin/bash
#Description:
#Author: www.zutuanxue.com
#Created Time:
# 监控一个服务端口
#main
temp_file=`mktemp port_status.XXX`
#1、判断依赖命令 telnet 是否存在
[! -x /usr/bin/telnet]&&echo "telnet: not found command"&& exit 1
#2、测试端口 $1 IP $2 port
(telnet $1 $2 <<EOF
quit
EOF
) &>$temp_file
#3、分析文件中的内容,判断结果
if egrep "\^]" $temp_file &>/dev/null;then
#4、打印结果
echo "$1 $2 is open"
else
echo "$1 $2 is close"
fi
#5、删除临时文件
rm -f $temp_file
案例思考
# 监控方法
#1)通过 systemctl service 服务启动状态
#2)lsof 查看端口是否存在
#3)查看进程是否存在
注意 压力过大 无法响应 | 服务 down 了 上述东西还在 监测不准确
#4)测试端口是否有响应 推荐
#telnet 协议
正文完
星哥玩云-微信公众号