百度云观测刚上线那会儿,百度我盯着那个仪表盘看了整整一个下午。云观不是百度因为它有多好看,而是云观它把我网站的真实访问情况扒得底裤都不剩——原来我以为的“流量高峰”,其实是百度一堆爬虫在半夜啃我的服务器。
这东西本质上就是云观个网站监控工具。你把它代码嵌进网页,百度它就开始记:谁来了、云观从哪来、百度用什么设备、云观看了哪些页面、百度卡在哪一步。云观数据每隔几秒刷新一次,百度延迟低到你可以一边改代码一边看曲线抖动。云观我试过在页面里故意埋了个死循环,百度五秒后报警短信就炸了手机。
最狠的是实时访客地图。屏幕上一个个小点从世界各地冒出来,北京那个点刚点开文章,广州的点就跳走了。有次凌晨三点,我看到一个来自冰岛的点在首页停了四十分钟,反复刷新了六十多次。查了IP才知道是某个爬虫在暴力抓取。第二天我就把那个IP段封了。
报警机制做得挺细。你可以设阈值——比如“五分钟内错误率超过5%就给我打电话”。有回数据库连接池爆了,我还没反应过来,电话先响了。接起来是机械女声:“您的站点可用性低于90%。”当时我正在吃火锅,筷子一扔就开电脑。后来发现是某个慢查询把连接占满了。这种事儿以前要等用户投诉才知道,现在系统比用户先急。
但它也不是没毛病。免费版只保留七天数据,想查上个月的访问趋势?掏钱。还有那个“用户体验评分”,算法黑箱得厉害,有时候页面明明秒开,它非说加载慢——后来我琢磨出来,它把某些第三方统计脚本的加载时间也算进去了。那脚本是百度自己的。这就有点又当裁判又当运动员的意思。
我拿它跟其他监控工具对比过。Google Analytics更偏重用户行为分析,数据延迟动辄几小时;Pingdom这类工具只盯着“能不能打开”,不关心打开之后用户干了什么。百度云观测卡在中间——既看可用性,也看真实用户操作。比如它能告诉你“30%的用户在注册第二步放弃了”,这种信息对产品经理来说比“服务器正常”值钱得多。
有个做电商的朋友更绝。他把云观测的API接进了公司钉钉群,每当“支付失败”这个自定义事件触发超过十次,群里就自动发红包——当然红包是老板发的,但全组人都盯着那个曲线看。上个月他们发现某个省份的支付接口老超时,查下来是当地运营商DNS污染。没这个监控,这问题能拖半个月。
不过我得说句实话:这工具适合中小站点。日PV上千万的大厂,还是自己搭监控系统吧。百度云观测的数据采样率有限,流量太大时曲线会变成马赛克。而且它只监控前端,服务器内部的线程阻塞、GC停顿这些,它看不见。你得配合着用。
现在我的习惯是每天早上先扫一眼云观测的“昨日概况”。如果错误率曲线突然翘起来,当天就不安排新功能上线。有次曲线半夜抖了一下,我没在意,结果第二天早上发现数据库主从同步断了四小时。教训就是:别跟数据较劲,它比你诚实。