Mobile SkyNet Platform: Architecture, Log Collection, Storage, and Alerting Design
The Mobile SkyNet platform adds a dedicated mobile monitoring layer to SaaS services, using Zanlogger for error, warning, and info logs, Kafka‑HBase pipelines for high‑throughput storage, WeChat‑based alerting, and an MPaaS console for issue visualization, reducing mobile‑side incidents by about twenty percent.
Background : In fast‑moving SaaS businesses, online bugs on the mobile side can severely affect merchants. While the backend already has a "SkyNet" monitoring system, a dedicated mobile monitoring platform is required to proactively detect and prevent issues on client devices.
Overall Design : The Mobile SkyNet platform consists of four main parts: the mobile client, an MPaaS backend management console, backend services, and data storage. The workflow is divided into two sections – log reporting (originating from the client) and log operation (handled in the MPaaS console). Architecture diagrams illustrate the interaction between these components.
Log Collection and Reporting : Log collection is powered by the Zanlogger library, with extensions ZanlogWeex and ZanlogFlutterPlugin for Weex and Flutter pages. Three log levels are supported – error , warning , and info – each with distinct reporting strategies (immediate upload, buffered upload, or periodic upload). The basic log API is shown below:
//天网日志上报
Log.sky("info", "sale", "startPay", "goods is xxxxx")
Log.sky("warn", "sale", "changePriceFailed", "goods is xxxxx")
Log.sky("error", "sale", "db can not open", "error:xxxx")Device identifiers and basic metadata are uploaded once at app start; subsequent logs only transmit the device ID, allowing the backend to reconstruct full log entries.
Log Storage and Alert Design : Logs are ingested via Kafka and stored in HBase (chosen for high‑volume write performance). Each log entry receives a UUID that links the HBase record with its metadata. Logs are grouped by business, sign, type, level, and OS hash to facilitate efficient querying. Alerting relies on Enterprise WeChat: error‑level logs trigger immediate group notifications, while warning and info logs are buffered and sent when thresholds are reached. Notification templates support personal messages, group alerts, daily and weekly reports.
Visualization and Issue Management : The MPaaS console provides an issue list with filters for business, platform, version, type, sign, level, time range, status, assignee, and related documentation. Detailed issue pages display all reported instances, device offline logs, operation history, and allow status changes, assignee updates, remarks, and version tagging. Configurable alarm strategies let each business define custom notification rules.
Conclusion : Since its launch, the Mobile SkyNet platform has run for over six months, helping detect and resolve roughly 20% of mobile‑side incidents proactively, thereby improving merchant experience and development efficiency.
Youzan Coder
Official Youzan tech channel, delivering technical insights and occasional daily updates from the Youzan tech team.
How this landed with the community
Was this worth your time?
0 Comments
Thoughtful readers leave field notes, pushback, and hard-won operational detail here.