#!/bin/bash
# 服务器IP
intranet_ip=("192.168.121.125" "192.168.121.126")
con_ip=("192.168.121.128" "192.168.121.129")
# 组件所在服务器用的port
port=("6070" "6071")
# 另外一种连接方式
# res=`echo ""|timeout --signal=9 4 telnet 127.0.0.1 100 2>/dev/null|grep "\^]"|wc -l`
#
# if [ $res -eq 1 ];then
# echo "yes"
# else
# echo "no"
# fi
# 连接判断
conn_result="fail"
# 连接端口函数
conn_port(){
conn_result="fali"
nc -w 5 $1 $2 && conn_result="success"
}
send_msg(){
echo "send_msg"
digits=("456123")
content="监控组件$1告警:$2:$3已经挂掉"
for digit in ${digits[@]}
do
echo $digit
echo $content
echo $sign_uid
curl http://msg.test.6666.com:9000/sendmsg/?accounts=$digit\&content=$content\&sign=120
done
}
component_conn(){
# 数组赋值
ips=$2
ports=$3
# 遍历连接
for ip in ${ips[@]}
do
for port in ${ports[@]}
do
conn_port $ip $port
if [ $conn_result == "success" ];
then
echo "$ip $port connect success"
else
echo "$ip $port connect fail"
# 发送msg
send_msg $1 $ip $port
fi
done
done
}
# 获取本机IP
local_ip=`ip addr | grep 'state UP' -A2 | tail -n1 | awk '{print $2}' | cut -f1 -d '/'`
# 判断处于那个网段
if [[ ${intranet_ip[@]} =~ $local_ip ]];
then
echo "调用连接函数,传进对应地区的组件ip和组件端口"
# # 调用连接ip和端口的函数,传递数组
# component_name="test"
# component_conn $component_name "${con_ip[*]}" "${port[*]}"
fi
测试ip端口存活脚本
最新推荐文章于 2023-06-16 17:05:45 发布