通過服務埠獲取facade以及dubbo介面資訊
阿新 • • 發佈:2019-02-12
最近在做dubbo介面的測試, 所以要整理每個服務的facade以及dubbo資訊, 寫了簡單的shell指令碼, 通過訪問服務埠去獲取dubbo資訊然後寫入到檔案, 會統計服務的facade以及dubbo介面數量 ,後面考慮直接掃描程式碼獲取.
需要從外部讀取檔案service.txt, 檔案格式如下:
service_name service_port
#!/bin/bash
ip=$1
>dubboinfo.txt
if [ $# = 0 ] ; then
echo "缺少引數ip, 請輸入服務ip地址"
exit 1
fi
cat service.txt|while read linee
do
>temp
>temp1
>temp2
service=`echo $linee|awk '{print $1}'`
port=`echo $linee|awk '{print $2}'`
echo "++++++++++++++++++++++++++++++++++++++++++++" >>dubboinfo.txt
echo "服務名:"$service "埠:" $port >> dubboinfo.txt
echo "++++++++++++++++++++++++++++++++++++++++++++" >>dubboinfo.txt
echo ls -l| nc -i 1 $ip $port|awk '{print $1"\n"}' >> temp
sed '/^$/d' temp|sed '$d' >> temp1
for line in `cat temp1`
do
echo "facade名:"$line "方法列表如下:"> temp2
echo "====================================" >> temp2
echo ls -l $line|nc -i 1 $ip $port >> temp2
sed '$d' temp2 >> dubboinfo.txt
echo "" >> dubboinfo.txt
done
done
echo ">>>>>>>>>統計>>>>>>>>>>>>>" >>dubboinfo.txt
server_count=`grep -n "服務名" dubboinfo.txt|wc -l`
facade_count=`grep -n "方法列表" dubboinfo.txt|wc -l`
method_count=`grep -n "(" dubboinfo.txt|wc -l`
echo "服務數統計:" $server_count >> dubboinfo.txt
echo "facade數統計:" $facade_count >> dubboinfo.txt
echo "方法列表統計:" $method_count >>dubboinfo.txt
rm -f temp*