1. 首页
  2. 前端监控
  3. 手机上没有控制台?Webfunny 虚拟控制台:给线上用户开一个 vConsole

手机上没有控制台?Webfunny 虚拟控制台:给线上用户开一个 vConsole

一步一个脚印一个坑 1小时前 ⋅ 4 阅读
ad
你有没有遇到过这种头疼的问题!
 
"用户反馈页面打不开了。"
 
"测试环境,预发布环境都复现不了。"
 
"让我看看控制台报什么错……等等,用户用的是手机,看不了控制台 ?/(ㄒoㄒ)/~~"
 
做前端的朋友应该都经历过这种对话。PC 上出问题,F12 一开什么都有;一旦问题发生在移动端、发生在线上,你会发现手里什么工具都够不着:手机上没有 DevTools,用户大概率也不愿意配合你折腾,报错信息全靠猜。就算你连接上生产环境的手机,各种安全限制,抓包也是十分头疼的。

 

除了手机,包括现在的飞书,钉钉,企业微信里的应用,都没有控制台啊,出了问题怎么办?这就是「虚拟控制台」这个功能想解决的问题。
 

一、移动端调试到底难在哪

先把痛点说清楚,不然没法理解为什么需要这个功能。

开发环境里我们习惯用 vConsole:挂一个进去,手机上就能看日志、看请求、看缓存,跟 PC 控制台差不多。但它有个要命的问题——开关是写在代码里的,带到线上去就完蛋了。

这意味着 vConsole 要么常开、要么常关,代码上了线就改不了。生产环境是绝不可能让每个用户右下角都挂个绿色vConsole按钮,这是妥妥的生产事故。

于是大家只能退而求其次:

- 让用户录屏。用户录了 30 秒,有用的画面 3 秒,还经常录完找不到文件在哪。
- 教用户在手机浏览器里找"开发者选项"。话说到一半,用户已经说"算了我不弄了"。
- 在代码里留调试后门,URL 拼个参数就能开 vConsole。这个最危险,参数一旦传出去,谁都能开,等于给线上埋了颗雷。

说到根儿上,这些方案都缺一样东西:一个能在生产环境、针对指定用户、实时生效的控制台开关。
 

二、虚拟控制台:把开关挪到服务端

Webfunny 的虚拟控制台干的就是这件事:vConsole 的开关不在代码里,在后台管理界面上。想给谁开就给谁开,什么时候开、什么时候关,你说了算。

三个特点:
1. 按 userId 精确开启。只有接入了探针、传了业务 userId 的用户,才能被开启虚拟控制台。这一步既是为了定位到人,也顺便保证了可控性——不会出现路人甲也能开出控制台的情况。
2. 实时生效,任何环境都行。预发布、灰度、生产,只要是接入了 Webfunny 的环境都能开。灰度阶段给灰度用户开,生产出事故给问题用户开。
3. 说关就关。后台点一下关闭,用户下次刷新页面,vConsole 就消失了,不留痕迹。
 
三、操作简单,就三步
第一步,进入「远程调试」页面,找到目标用户。如果你只有手机号或者大概的访问时间,可以先到「用户细查」里按 userId、IP、访问时间、页面路径把人筛出来。

第二步,在用户列表里点击「虚拟控制台」,开启这个用户的控制台状态。

第三步,联系用户刷新页面。刷新后页面右下角会出现 vConsole 的图标,点开就是熟悉的控制台——日志、网络请求、缓存,都在里面。
 

到这里,是不是觉得线上问题定位也是非常方便的呢?至少你不会对线上问题感到恐惧了,因为你又多了一种定位原因的能力了。
 

三、配合「用户连线」,凑齐远程调试全家桶

虚拟控制台解决的是"让用户端出现控制台",但有时候光有控制台还不够。比如你想知道用户刚刚点过什么、本地缓存里存了什么脏数据。

这时候可以配合「用户连线」一起用。连上之后,可以看到用户在页面上产生的行为会实时同步到后台;console.log / console.warn 的输出也会实时上报,你在电脑前就能看到用户手机里打印的日志;本地缓存(localStorage、sessionStorage、cookie)大约 20 秒更新一次;还能远程操作缓存:发现 cookie 里躺着个坏 token,点一下清理,直接远程清掉让用户重新登录,不用教用户在手机设置里翻半天。
 
最后、虽然我们能在线上开启vConsole了,但是它仅仅是多提供了一个排查的入口,未必能帮我很好的定位问题。如果要真正定位问题的根因,还是需要一个全链路的排查工具,快来试试Webfunny全链路分析系统吧。
 
 
 
 
 
 

关于Webfunny

Webfunny专注于前端监控系统,前端埋点系统的研发。 致力于帮助开发者快速定位问题,帮助企业用数据驱动业务,实现业务数据的快速增长。支持H5/Web/PC前端、微信小程序、支付宝小程序、UniApp和Taro等跨平台框架。实时监控前端网页、前端数据分析、错误统计分析监控和BUG预警,第一时间报警,快速修复BUG!支持私有化部署,Docker容器化部署,可支持千万级PV的日活量!

  点赞 0   收藏 0
  • 一步一个脚印一个坑
    共发布147篇文章 获得4个收藏
全部评论: 0 条