使用脚本对dubbo服务方url解码

该脚本用于批量从Zookeeper获取Dubbo接口下的服务提供者和服务消费者信息,并进行解码处理。首先,通过Zookeeper的zkCli.sh获取/dubbo/interface下的节点信息,然后过滤并提取服务方和消费方的详细数据。接着,使用正则表达式和awk等工具对URL编码进行解码,最后分别输出服务提供者和消费者的信息到不同的文件中,包括IP、端口、应用名、接口和角色等关键字段。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 场景举例:批量获取zk中/dubbo/interface下服务方、消费方的信息,得到的内容中各属性字段不易读取,需要解码。

 获取dubbo节点信息:

#!/bin/bash

cluster=$1
idc=$2


sh ./zookeeper/bin/zkCli.sh ls /dubbo > ${idc}_interface.txt


##根据实际情况,排除客户端连接返回的无用信息
cat ${idc}_interface.txt | grep -v "2023-08-09" | grep "\[.*\]" -o  | sed 's/, /\n/g;s/\[//g;s/\]//g' > ${idc}_interface_col.txt

for i in `cat ${idc}_interface_col.txt`;do providers=`sh ./zookeeper/bin/zkCli.sh ls /dubbo/$i/providers`;echo $providers;done > ${idc}_providers.txt
for i in `cat ${idc}_interface_col.txt`;do consumers=`sh ./zookeeper/bin/zkCli.sh ls /dubbo/$i/consumers`;echo $consumers;done > ${idc}_consumers.txt

cat ${idc}_providers.txt | sed 's#\%3A\%2F\%2F#\:\/\/#g;s#\%3F#\?#g;s#\%3D#\=#g;s#\%26#\&#g;s#\%2F#\/#g;s#\%2C#\,#g;s#\%3A#\:#g' | grep "\[dubbo.*\]" -o | awk -F']' '{print $1}' | sed 's/\[//g;s/, /\n/g' > ${idc}_providers_col.txt

cat ${idc}_consumers.txt | sed 's#\%3A\%2F\%2F#\:\/\/#g;s#
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值