有时需要传的参数是由多个字符和“,”或其他分隔符组成的一个参数,在脚本中需要使用“,”号将其分割开来使用,这个时候就可以用“${tag//,/ }” 来实现
如下是监控多个消费者组的lag(消费延迟)脚本。
传的参数consumers为:”monitor,monitor1,monitor2“ 的形式
#!/bin/bash
for consumer in ${consumers//,/ }
do
lags=`$path/kafka-consumer-groups.sh --bootstrap-server 127.0.0.1:$port --group $consumer --describe|awk '{sum+=$5}; END {print sum}'`
echo "metric=kafka.consumer.lag.sum|value=$lags|type=count|tags=consumer:$consumer"