DEV Community

ObservabilityGuy
ObservabilityGuy

Posted on

UModel Explorer: Redefining Observability Data Modeling with a Graphical Approach

This article introduces UModel Explorer, a visual modeling interface that enables intuitive drag-and-drop construction of observability data models.
In building complex observable systems, data modeling is often the crucial step that brings order to chaos. Traditional modeling methods typically rely on configuration files or code definitions. While precise, they lack intuitiveness, making it difficult for team members to quickly understand and collaborate. UModel Explorer is designed to change this. It provides a complete visual modeling environment, allowing engineers to construct observability data models through intuitive operations like drag-and-drop and drawing connection lines, much like creating an architecture diagram.

  1. Why Visual Modeling for UModel 1.1 Challenges In today's cloud-native and microservices architectures, system complexity is growing exponentially. A seemingly simple user request may traverse dozens or even hundreds of service components. This complexity presents a major challenge for observability: deep data silos. Metrics, traces, and logs—the three pillars of observability—are often isolated across separate systems. When failures occur, engineers have to switch between multiple systems, manually piecing together fragmented information to reconstruct the incident. This process is not only inefficient but also demands extensive system expertise and experience.

Traditional solutions attempt to solve this problem through data modeling, but they often introduce new pain points. Code-based or YAML-based modeling approaches such as Terraform or Prometheus Operator, while powerful and easily version-controlled, have steep learning curves and a high degree of abstraction, often turning data models into artifacts understood only by a few specialists. Business developers find them hard to understand, and new site reliability engineers (SREs) require considerable ramp-up time. The mapping between the models and the real-world system is often not intuitive, causing model updates to lag and eventually turning them into "zombie models." We urgently need a more intuitive, lower-barrier way to define and manage observability data models.

1.2 Current Approaches
Industry approaches to this problem fall into two main categories. The first category is "correlation at query time," which links different data sources during the query and analysis phase using specific correlation IDs such as trace_id. This method is effective in specific scenarios, but it is a reactive correlation and fails to provide a global, structured view of the system during the modeling phase.

The second category is "definition at modeling time," which uses various domain-specific languages (DSLs) or configuration files to pre-define entities and their relationships. While these solutions offer structured capabilities, their user experience is often disconnected from the modeling process itself. Visualization is typically a "read-only" presentation of the final model, not an integral part of the modeling process. Engineers modify complex configuration files in a text editor, apply changes via command-line tools, and finally view the results in a web interface. This "edit-compile-run" cycle is cumbersome and inefficient for building complex models.

1.3 Our Solution: Visualization as Modeling
To address these challenges, our observability development team shifted the paradigm: we moved visualization from being the "end point" of modeling to its "starting point" and "process." UModel Explorer is founded on the philosophy of Visualization as Modeling. We believe that the best way to describe a complex system is to present it visually—like sketching an architecture diagram on a whiteboard.

UModel Explorer provides an interactive canvas where users, instead of facing cold configuration files, directly interact with graphical nodes representing observability elements such as entity sets and metric sets. Creating a UModel is as simple as clicking a button to add a new node; establishing a relationship is as easy as drawing a line between two nodes with your mouse. All modifications are reflected on the canvas in real time, delivering a what-you-see-is-what-you-get (WYSIWYG) modeling experience.


You can try it now in the Cloud Monitor 2.0 console: https://cmsnext.console.aliyun.com/next/home

Underpinning this experience is the Universal Observability Model (UModel). UModel is a core concept we introduced. Through a standardized schema, it unifies diverse observability data such as metrics, logs, traces, and events into "entities" and "relationships," fundamentally breaking down data silos. UModel Explorer is the visual, interactive interface for this unified model.

1.4 Why UModel Explorer Stands Out
Compared to existing solutions, UModel Explorer's core advantage lies in its revolutionary user experience, which leads to significant improvements in efficiency and collaboration.

● Extremely low cognitive overhead: The graphical interaction aligns with human intuition. Whether you are an experienced architect or a new developer, you can quickly understand the system's observability model just by looking at the canvas. This transforms models from being the exclusive domain of a few experts into a shared knowledge asset for the entire team.

● Integrated modeling and analysis: UModel Explorer is more than just a "drawing" tool. Every node on the canvas is a "live" entry point for data exploration. For example, you can directly initiate metric analysis from a metric_set node or query an entity list from an entity_set node. This seamless integration of modeling, exploration, and analysis bridges the final gap between "defining a model" and "using a model," achieving true "Modeling as a Service."

● Efficient collaboration platform: The visual canvas becomes a common language for team communication and collaboration. When adjusting monitoring strategies or troubleshooting issues, relevant personnel can gather around the same "living" architecture diagram, where all intended changes are clearly visible. The sharing feature makes cross-team collaboration effortless.

● Powerful engineering capabilities: Behind the intuitive user experience, UModel Explorer offers complete engineering capabilities. All visual operations are ultimately translated into structured UModel definitions. The commit workflow provides a clear change review (Diff) mechanism and supports undo/redo, ensuring that all modifications are traceable and manageable.

In summary, UModel Explorer does more than just add a visualization layer to data models; it fundamentally redesigns the interactive paradigm of observability modeling. It transforms the complex modeling process into an intuitive, efficient, and creative experience, aiming to free every engineer from tedious configuration work so they can focus on the true value that observability brings.

  1. System Overview and Access As a core component of Cloud Monitor 2.0, UModel Explorer provides unified observability data modeling capabilities. It supports multiple data model types—such as entity_set, metric_set, log_set, and trace_set—along with the relationships that connect them. This unified modeling framework provides a consistent view for managing data that was previously scattered across different systems.

Getting started is straightforward: Locate UModel Explorer in Application Center and click it. We recommend that you pin it to the Workspace App sidebar for quick access during your daily work. On your first visit, the system automatically loads all UModel data from your current workspace and displays it graphically on the canvas.

  1. Main Interface Layout The main interface of UModel Explorer features a clear, functionally partitioned design. This layout ensures both a hierarchical information structure and operational convenience. The interface is divided into several key areas: the control panel in the upper-left corner, the details panel on the right, the minimap in the lower-right corner, and the action toolbar in the upper-right corner. The central canvas area occupies the most space. This is the core workspace where you perform all modeling actions.

3.1 Control Panel: Global View and Filtering
The control panel, located in the upper-left corner, serves as the central console for managing your entire UModel collection. It features a tabbed design with four pages: Overview, Filter, CommonSchema Information, and Settings. You can collapse or expand the panel by clicking the fold button on its right side. This is particularly useful when you need more space for actions on the canvas.

3.2 Overview Page: Data Summary and Navigation
The Overview page provides global statistics for the UModel data in your current workspace. These statistics are organized into two categories: node statistics and link statistics. Node statistics show the distribution of various UModel elements (like entity_set and metric_set), while link statistics display the count of links between them. A key point to note: The entity_set_link type is counted as both a node and a link in these statistics, as it represents both a node entity and a relationship.

The statistics support two modes: global statistics and filtered statistics. After you set filter conditions, you can switch to the filtered mode. In this mode, only elements that meet the filter conditions are counted, allowing you to quickly grasp the data distribution within your current view.

The Overview page also offers a key navigation feature: the UModel list view. Clicking View UModel List opens a table view. This table displays not only common information for all UModel elements (name, domain, type, etc.) but also type-specific key information. For example, for a metric_set, it shows the number of metrics contained; for an entity_set, it shows the entity type. The table supports multi-dimensional filtering, including by type and domain, as well as full-text search. You can enter keywords (supporting Chinese names, English names, or IDs) in the search box, and the system will search for matches across all fields.

A vital feature of the list view is locating elements. Once you find a specific UModel element, clicking the Locate icon in the action column will automatically center the canvas on that element and apply a focus filter to it. This feature is extremely helpful in scenarios with large amounts of data, allowing you to swiftly find the desired element within a massive model diagram.

3.1.2 Filter Page: Precise Data Targeting
The Filter page provides powerful data filtering capabilities, allowing you to quickly locate the specific parts of your UModel data that you need to view or edit from vast collections. Four types of filters are provided, and understanding their combination logic is key to using them efficiently.

The first three filter types (node type, domain, and full-text search) operate as a group. Within each filter type, the logical relationship is "OR," while between different filter types, the relationship is "AND." For example, if you select entity_set and metric_set in the node type filter, and domain1 and domain2 in the domain filter, the system will display all elements whose type is (entity_set OR metric_set) AND whose domain is (domain1 OR domain2). When using the full-text search filter, remember to press Enter after typing your keywords to submit the search.

The fourth filter type is focus filter, which is a special mode. When a focus filter is active, all other filter conditions are ignored, and the system displays only the elements selected by the focus filter and their neighbors. Focus filters are typically used temporarily to quickly view a specific subgraph. You can set a focus filter either from a node's action menu on the canvas or by using the locating feature in the list view.

After modifying any filter conditions, you must click Apply for the changes to take effect. This design allows you to adjust multiple filters at once before applying them collectively, avoiding the performance issues that can arise from frequent canvas refreshes.

3.1.3 CommonSchema Information Page: Common Model Management
Alibaba Cloud's observability services include built-in, standardized UModel data, which exists as public UModels (CommonSchema) by default in your workspace. Public UModel data is configured by reference (CommonSchemaRef). When a query is run, UModel instances are dynamically generated, and a common_schema_info field is added to the element's metadata for additional information.

The CommonSchema Information page shows which CommonSchemas are used in your current workspace and indicates if any local definitions conflict with them. Conflict detection is crucial because discrepancies between a locally defined UModel and a CommonSchema can cause problems during queries or analysis. When a conflict is detected, the system clearly marks it. You then need to decide whether to use the CommonSchema version or keep your local custom version.

Note that CommonSchema elements on the canvas are marked with a special icon (a cloud) and cannot be directly edited. If you need to customize them, you should create a local UModel element instead of trying to modify the CommonSchema.

3.1.4 Settings Page: Display and Performance Control
The Settings page lets you control UModel Explorer's display behavior and performance parameters. These settings are session-level and are not persisted; they reset to their default values each time you reopen the page.

The most important setting is the Force Display of Large Data switch. When the number of nodes on the canvas exceeds a threshold (default: 50), a prompt appears at the bottom of the page informing you that only a subset of nodes is being displayed. This is a performance-conscious design, as rendering a large number of nodes can cause significant lag and impact the user experience. If you need to view all nodes, you can turn on the Force Display of Large Data switch on the Settings page.

However, be aware that forcing the display of a large number of nodes may cause noticeable performance degradation. The best practice is to first narrow down the scope using filters (such as using a focus filter to view just a subgraph), and only then enable the full display. After you are done, promptly turn off the switch to avoid impacting subsequent operations.

The background style can be adjusted for optimal display, allowing you to tailor the interface to your current focus for the best viewing experience.

The entity link display mode is an adjustment for how entity_set_link is visualized.

● Real view: The entity_set_link is displayed as an independent node connecting the related data_set, and entity_set nodes are directly connected with lines.

● Logical view: The entity_set_link is displayed as a node on the edge connecting entities, with a virtual logical connection between the entity_set and the entity_set_link.

1.4 Details Panel: Form Editing Capabilities
The details panel on the right is the core area for editing UModel elements. When you click any node or edge on the canvas, the panel automatically slides out from the right, displaying the element's complete property form.

UModel Explorer features specialized form schemas for each element type. These schemas include not only common metadata fields like name, domain, and description, but also settings unique to that element type. For example, the form for a metric_set displays its list of metrics and tag definitions, while the form for an entity_set shows entity fields and index configurations. A hint icon appears next to each field's title. Hovering your mouse over it will display a detailed field description, which is very helpful for understanding complex configuration options.

The form editor supports real-time validation. As you modify a field, the system immediately checks its format and logic. If an error is found, a red text prompt is displayed at the bottom of the form. This instant feedback helps you quickly spot issues instead of discovering them only when you try to submit the form. Once you finish your modifications, click Submit to save them. Note: This action only saves the changes locally. To persist the changes, you must use the Submit button in the upper-right corner to batch-commit them to your workspace.

For CommonSchema elements, the form is displayed in read-only mode, and you cannot directly modify fields. This is to protect the consistency of the public models. If you need to make changes, you should create a local copy.

1.4.1 Display of Complex Nested Forms

For complex objects, UModel Explorer supports nested form displays and sectional form validation.

1.4.2 JSON Format Editing
You can switch the panel between a form-based view and a JSON format editing view.

1.5 Minimap: Quick Navigation
The minimap in the lower-right corner provides a thumbnail view of the entire canvas. This is particularly useful when your model diagram is large. You can quickly pan the main view to any area by clicking on the corresponding spot in the minimap. The minimap reflects the main view's position in real time. As you move the main canvas, the viewport indicator in the minimap moves accordingly.

1.6 Action Toolbar: Core Feature Set
The action toolbar in the upper-right corner of the interface integrates several of the most commonly used features. On the far left is the operation guide button. Clicking it displays keyboard shortcuts and basic operation tips.

The Create Node button is your entry point for quick modeling. Clicking it opens a dialog box. If you choose to create a new node, you can select the node type, such as entity_set, metric_set, or log_set. Once created, the new node appears at the center of the canvas, automatically focused and selected, allowing you to begin editing immediately.

If you choose to batch import UModels, you can import files in YAML or JSON format. Take note of the following items:

● You can upload standard UModel files in JSON and YAML formats.

● You can batch upload multiple files, and each file can contain multiple UModel objects.

● Each UModel must have a complete UModel ID. The system will automatically validate all required fields.

Once imported, the new nodes will appear at the center of the canvas, automatically focused and selected, allowing you to continue editing and making adjustments.
Note: Whether importing or creating nodes, you must ultimately use the Submit button in the upper-right corner for the changes to take effect in your workspace.

The Refresh button fetches the latest UModel data from the server and replaces the current content on the canvas. This feature is particularly useful when your network connection is unstable or you suspect the data has been updated. Be aware that refreshing will discard all unsaved local modifications, so ensure you have saved important changes using the Submit button before refreshing.

The Share button allows you to generate a URL that captures the current view state (including filter conditions, display configurations, view position, etc.). You can then share this URL with team members. When the recipient opens the link, they will see the exact same view state, which is very convenient for collaboration and issue communication.

The Undo and Redo buttons allow you to step back and forth through your actions. This is particularly useful during complex modeling processes. If you realize an operation was incorrect, you can immediately undo it. UModel Explorer records all local modification actions (including creating/deleting nodes, modifying properties, and creating links), and you can undo or redo multiple steps.

The rightmost Submit button plays a crucial role in the modeling workflow. All editing actions you perform on the canvas (like creating nodes, modifying properties, and deleting elements) are saved temporarily and do not affect the data in your workspace. Only by clicking the Submit button can the changes be persistently committed to your workspace.

Clicking the Submit button opens a preview dialog box. It displays the elements to be deleted, added, and modified on different tabs. Each tab is color-coded for you to distinguish the type of action: deletions in red, additions in green, and modifications in yellow-brown. For modifications, a detailed difference view is displayed, allowing you to clearly see the before-and-after state for each changed field.

You can click the Locate icon in the upper-right corner of each tab to focus on the corresponding elements on the canvas. This lets you double-check the changes. If you are concerned that the data in the workspace might have been modified by other users during your editing session, you can click Sync Latest Data. UModel Explorer then fetches the latest data and update the difference view, so you can see the conflicts, if any.

If all changes look as expected, click Execute Changes to begin the batch commit. The commits are processed in the following order: deletions, then additions, then modifications. Deletions are processed one element at a time as the tool adopts the most conservative strategy, while additions and modifications are processed in batches of 10 elements at a time. If a batch fails to execute, subsequent batches will be halted, and a detailed error message will be displayed. You can then correct the issue based on the error message and re-submit the remaining changes.

During the commit process, successfully committed batches are removed from the preview list, while failed batches remain and display error messages. Even if you close the commit dialog box, you can still check the commit status and error messages from the action toolbar until all changes have been successfully submitted.

  1. Editing Actions Explained 2.1 Select a Node or Edge On the canvas, you can select a node or an edge with a mouse click. The selected element will be visually highlighted (usually with a thicker border or a different background color), and the details panel on the right will display its property form. You can deselect an element by clicking on a blank area of the canvas.

2.2 Use Keyboard Shortcuts
UModel Explorer supports several keyboard shortcuts. Mastering them can significantly boost your efficiency. The most commonly used is the Delete or Backspace key, which deletes the selected node or edge. This deletion takes effect immediately but can also be undone.

2.3 Visual Linking: Build Relationships Intuitively
One of UModel Explorer's most innovative core features is its visual linking operation, which allows you to create relationships between nodes simply by dragging your mouse. This interactive method is far more intuitive than traditional form-filling and aligns better with how humans naturally perceive relationship diagrams.

Linking operations always start from a node's right-side handle. When you move your mouse over the right edge of a node, a circular handle appears, and the cursor changes to a crosshair, indicating that you can start a connection. Click and hold the left mouse button, then drag to the left side of the target node and release the button to create an edge.

During the drag, a temporary connecting line follows your mouse, giving you a clear visual of the connection you are creating. As you drag over the left side of a potential target node, it will be visually highlighted (for example, with a highlighted border), indicating that a connection can be made.

When a link is created, it uses default values and usually requires further editing to meet your specific needs, as the default connection may lack key association fields or have an incorrect association type. Therefore, we recommend that you click on the newly created edge immediately to complete its configuration in the right-side panel.

2.4 Advanced Linking Modes
Besides directly connecting two nodes, the system offers two advanced linking modes to handle more complex scenarios.

The first is batch linking mode. When you start a connection from a node but drag to a blank area of the canvas, the Select or Create Connection Target virtual node dialog box appears. In this dialog box, you can search for and select multiple existing nodes to create multiple edges at once. This is particularly useful when one node needs to be connected to many others— for example, when an entity_set needs to connect to multiple metric_sets. Batch linking mode allows you to complete all connections at once.

The selected items are displayed at the bottom. Once you have made your selection, click Confirm. The view will then focus on the newly created edges.

The second mode is "create and link." In the same virtual node dialog box, switch to the Create New Node tab. You can select the type of node to create, fill in the basic name and domain information, and then confirm. The system will create both the new node and the connecting edge simultaneously. The new node will automatically appear in a suitable position on the canvas, already connected to the source node. This mode is ideal for workflows where you build relationships as you model, avoiding the tedious process of creating nodes first and then connecting them one by one.

Whether using batch linking or create-and-link, you must click on the corresponding edge after creation to configure its details, ensuring the relationship works correctly.

2.5 Node Action Menu
When you hover your mouse over any node, an action menu appears in the upper-left corner. This menu provides shortcuts for operations specific to that node type. All nodes support at least the Zoom action. Clicking it sets the node as the focus filter, and the canvas will automatically adjust the view to show only that node and its immediate neighbors.

Different node types also have their own specific actions. For example, an entity_set node supports actions like Go to query entity list or USearch, a metric_set node supports the Analysis action, and a log_set node supports the Jump to Log Query action. These actions seamlessly integrate modeling and analysis features, allowing you to view and analyze data directly while you are still modeling.

2.6 Node Cascade Actions
The node's action menu also includes cascade action options, which allow you to perform batch operations on a node and its related edges. For example, you might need to delete a node along with all its outgoing and incoming edges, or delete only its outgoing edges while keeping the incoming ones. These actions are particularly useful when refactoring a model, as they save you from the tedious process of manually deleting edges one by one.

  1. Specialized Actions: Advanced Capabilities by Node Type In addition to basic modeling features, different types of UModel nodes offer their own unique advanced capabilities. These capabilities integrate data querying, analysis, and other features directly into the modeling environment, embodying the concept of "modeling for immediate use."

3.1 entity_set: Entity Query and Exploration
An entity_set node represents a collection of entity data, such as service instances, containers, or hosts. In UModel Explorer, entity_set nodes offer two core specialized actions: USearch and Go to query entity list.

The USearch feature allows you to query the entity data contained within an entity_set directly on the canvas. Clicking USearch in the action menu opens a query panel. In this panel, you can enter query conditions based on the entity's fields, and the system will return a list of matching entities in real time. You can further filter and sort the query results to quickly locate the entities of interest.

The Go to query entity list feature redirects you to a dedicated entity management page, offering more comprehensive entity data management and analysis capabilities. This page typically includes multiple display formats, such as a table view, a detail view, and a relationship view, and supports complex query conditions and batch operations.

Both query methods have their advantages. USearch is ideal for quick validation and exploration, while the entity list query is better suited for in-depth investigation and analysis. You can choose the method that best fits your current scenario.

3.2 metric_set: Intelligent Metric Analysis
A metric_set node represents a collection of metric data and is the node type with the most powerful analytical capabilities in UModel Explorer. Clicking the Analysis button on a metric_set node opens a large analysis panel that integrates the full suite of MetricSet Explorer's intelligent analysis features.

The panel occupies approximately 90% of the screen width, providing ample space to display charts and analysis results. The panel includes a time selector at the top, allowing you to choose the time range for analysis. Inside the panel are multiple analysis tabs, including metric overview, drill-down analysis, smart grouping, and smart drill-down.

In the metric overview mode, all metrics defined in the metric_set are displayed as cards, with each card showing a time-series curve preview. The system supports two views: the normal view displays metrics categorized as golden and basic, while the exception view runs an exception detection algorithm and sorts metrics by their anomaly score, prioritizing the most problematic ones.

The drill-down analysis feature allows you to explore your data layer by layer, from a high-level overview to granular details. When you select a dimension such as service name, region, or instance ID, the system displays the metric curves grouped by that dimension. You can then continue to select the next level of dimensions, creating a multi-level drill-down analysis path. The system also supports drill-down in ALL mode, which automatically analyzes all dimensions to find the one with the most significant data distribution differences. This is particularly helpful when you are unsure which angle to start your analysis from.

The smart grouping feature uses time-series clustering algorithms to group all time series based on the similarity of their patterns. This helps you discover patterns or groups in your data, such as identifying high-load, medium-load, and low-load instance groups, which can facilitate capacity planning or resource optimization.

Smart drill-down is the most technically advanced feature. First, you select an anomalous time period on the timeline. The system then runs a root cause localization algorithm, automatically analyzing all dimension combinations to identify the dimension value that contributes most to the anomaly. The results are sorted by confidence score, with each result including the root cause pattern, confidence score, impact curve, and a baseline for comparison. This feature reduces what would have been a manual process of testing dozens of dimension combinations to just a few seconds.

In addition to these core analysis features, metric_set analysis also supports advanced features such as multi-metric comparison, time-based comparison (period-over-period analysis), crosshair linkage, and viewing the underlying query statements. All these features are designed around a central goal: to transform metric analysis from a manual investigation into an algorithm-driven process, significantly improving the efficiency of issue diagnosis.

For detailed instructions on how to use metric_set analysis, refer to the dedicated MetricSet Explorer user documentation. This section is intended only to briefly introduce its entry point and basic capabilities within UModel Explorer.

  1. Best Practices and Considerations When using UModel Explorer for modeling, there are some best practices worth following.

First, we recommend that you start by using the filter features to narrow down the scope and focus only on the part you currently need to edit. This not only improves performance but also reduces visual clutter, allowing you to concentrate on the task at hand.

Second, make good use of the focus filter. When you need to view a local part of a node's graph, using a focus filter is more efficient than applying multiple global filters. The focus filter automatically includes relevant neighboring nodes to form a complete subgraph, which is particularly useful for understanding local relationships.

Third, commit your changes regularly. Although the system supports undo and redo, these actions are only valid for the current session. If you have made a large number of modifications, we recommend that you commit them in stages to avoid losing work due to a browser crash or other unexpected events. Always carefully review the Diff preview before committing to ensure the changes are as expected.

Fourth, be mindful of the distinction between CommonSchema and local definitions. CommonSchema elements are standard definitions provided by the system and should not be modified directly. If you need to customize them, you should create a local UModel element. When conflicts are detected, address them promptly to avoid issues in subsequent use.

Fifth, use batch operations judiciously. Whether you are creating connections, deleting elements, or committing changes in a batch, always confirm the scope of impact. This is particularly important for cascade delete operations, to ensure you do not accidentally delete important relationships.

Finally, make good use of the sharing feature for collaboration. When you need to discuss a model with team members, you can use the sharing feature to generate a URL. This allows the other person to see the exact same view state, improving communication efficiency.

  1. Summary UModel Explorer redefines the experience of observability data modeling through a visual interface. It transforms the modeling process, which once required writing configuration files or code, into intuitive graphical operations. At the same time, it seamlessly integrates features like querying and analysis into the modeling environment, creating a unified experience from modeling to actual use.

For teams building observable systems, UModel Explorer not only enhances modeling efficiency but also helps team members understand and collaborate more effectively. As the system continues to improve, we believe it will become a vital piece of infrastructure in the cloud-native observability domain.

Top comments (0)