如何修改 - echo stats的输出nc <ip> <port> </port> </ip>

时间:2014-01-07 01:45:57

标签: bash opentsdb netcat

TSD_HOST=localhost
TSD_PORT=4242
COLLECTION_INTERVAL=60

nc -z $TSD_HOST $TSD_PORT >/dev/null || exit 13

while :; do
  echo stats || exit
    sleep $COLLECTION_INTERVAL
done | nc $TSD_HOST $TSD_PORT

输出:

tsd.hbase.rpcs 1389058717 2037068142 type=put host=x
tsd.hbase.rpcs 1389058717 0 type=rowLock host=x
tsd.hbase.rpcs 1389058717 17 type=openScanner host=x
tsd.hbase.rpcs 1389058717 29 type=scan host=x
tsd.hbase.rpcs.batched 1389058717 5258656 host=x

以上是tcollector附带的默认opentsdb脚本。我想为每个要打印的元素添加一个额外的标签;例如:

tsd.hbase.rpcs 1389058717 2037068142 type=put host=x  cluster=y

我想将cluster=y附加到统计信息的每个元素。但是我找不到这样做的好捷径。

1 个答案:

答案 0 :(得分:1)

追加&#34; | awk '{print $0 " cluster=y"}'&#34;到了#34; done | nc $TSD_HOST $TSD_PORT&#34; (或者,如果您不想修改脚本,请执行tcollector | awk '{print $0 " cluster=y"})。