通过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 [xx@yy]$ 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 [xx@yy]$ 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 [xx@yy]$ 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 [xx@yy]$ 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

posted @ 2018-12-18 22:02  张冬  阅读(1647)  评论(0编辑  收藏  举报