适用范围
通常我们遇到客户挑战XX延迟时,客户都会拿出对应的监控截图出来,而由于安全问题,客户一般不会愿意配合我们提供其监控视图的控制权
建议方案
1、通常我们遇到客户挑战XX延迟时,客户都会拿出对应的监控截图出来,而由于安全问题,客户一般不会愿意配合我们提供其监控视图的控制权,比如6月10日某客户反馈一台ECS存在ICMP延迟,从客户截图看到是这样的:
2、询问客户实现原理:
3、接下来就是如何根据客户给的监控原理构造构造系统内监控脚本:
4、接着,我们在控制台上“云监控”中新建一个应用分组,记住这个分组ID后续有用,同时应用组也是有效且精准定位到某一台:
5、根据自定义监控上报方式编写上传脚本,主要语法为:
aliyun cms PutCustomMetric --MetricList.1.MetricName icmp --MetricList.1.Dimensions '{" 这里写指标粒度名,如’单位‘ ":" 这里写指标粒度,如‘ms’ "}' --MetricList.1.Time 这里传入上传的时间点 --MetricList.1.Type 0 --MetricList.1.Period 1 --MetricList.1.Values '{"value":'这里写具体要上传的值,本例这里传入的是icmp延迟值'}' --MetricList.1.GroupId "这里写定义好的应用分组ID"
,这里的设置具体可以见https://help.aliyun.com/document_detail/170536.htm
6、通过一个永真循环脚本不断读取数据并上传到页面上:
7、上传成功后的输出:
8、接着创建自定义面板并将上传到的监控项调出来可以看到维度里就是我们定义的细粒程度与值):
9、由于上传后界面面板显示存在延迟需要稍等一会儿才可以看到数据:
10、接着,我们根据客户的问题疑似触发行为进行复现尝试,比如某个客户的问题都是在某个条件或场景受损后,那么可以针对压测会话(可以通过ab工具压测)、压测流量(iperf)等方式将会话、流量模拟到客户出问题的时间点,然后再检查对应时间点的icmp延迟发现是否出现icmp抖动:
写在最后
总结来说自定义监控是一个可视化上传指标数据,且支持分钟级、按天维度的可追溯的视图,比较符合需要长期观察相关性能数据的场景。