通過8126埠管理StatsD中指標(counter、timer、gauge)的方法(刪除指標、檢視)
阿新 • • 發佈:2018-12-18
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