1. 程式人生 > >通過8126埠管理StatsD中指標(counter、timer、gauge)的方法(刪除指標、檢視)

通過8126埠管理StatsD中指標(counter、timer、gauge)的方法(刪除指標、檢視)

StatsD常用於監控系統中,可以接收業務系統的打點資料(如每有一次請求,打點喂數一次),計算出qps、最長/平均用時等指標,處理後的資料可進一步傳送到時序資料庫、ElasticSearch等。

StatsD預設有2個埠開放,8125埠開放UDP或TCP協議,用於接收業務系統打點的資料;8126埠開放TCP協議,用於管理StatsD。

 

如果要刪除StatsD中的指標(如counter、timer、gauge型別),可以用tcp連線StatsD的8126管理埠,傳送命令來實現。

例如:

 1 #刪除若干counter,名稱匹配s.wap.xxx.*的都會被刪除。StatsD會通過tcp返回提示資訊,刪除成功/失敗
2 [[email protected]]$ echo "delcounters s.wap.xxx.*" | nc 10.88.0.4 8126 3 metric s.wap.car.cboss.m_car_ces.user-action.* not found 4 END 5 6 #刪除若干timer 7 [[email protected]]$ echo "deltimers s.wap.xxx.*" | nc 10.88.0.4 8126 8 metric s.wap.car.cboss.m_car_ces.user-action.* not found 9 END
10 11 #刪除若干gauge 12 [[email protected]]$ echo "delgauges s.wap.xxx.*" | nc 10.88.0.4 8126 13 metric s.wap.car.cboss.m_car_ces.user-action.* not found 14 END

其中nc(NetCat)是一個網路工具,可以通過tcp、udp傳送資料。

也可以通過telnet 10.88.0.4 8126的方式建立tcp連線,手動傳送命令資料。如:

1 [[email protected]]$ telnet 10.88.0.4 8126
2 Trying 10.88.0.4... 3 Connected to 10.88.0.4. 4 Escape character is '^]'. 5 delcounters s.wap.car.cboss.m_car_ces.user-action.* 6 metric s.wap.car.cboss.m_car_ces.user-action.* not found 7 END

 

在公司業務中,發現當業務系統去除了某個指標後,該指標在StatsD中仍然存在,會定期向監控系統傳送qps為0的資料。當在StatsD中刪除該指標後,恢復正常,監控系統不再收到該指標的資料。

 

StatsD的8126管理埠還支援其他命令,如:

stats

counters

gauges

timers

 

具體可參考文件:

statsd/admin_interface.md at master · etsy/statsd  

https://github.com/etsy/statsd/blob/master/docs/admin_interface.md