Table of Contents
- Overview
- Normalizer Functions
- Supported Vendors & Device Types
- Core Data Models
- Customization & Extension
- Troubleshooting & Best Practices
- Conclusion
SuzieQ Network Observability: Normalizer Overview
What Is the SuzieQ Normalizer?
The SuzieQ Normalizer is a core component of the SuzieQ network observability platform. Its main purpose is to convert raw data collected from various network devices—spanning multiple vendors—into a consistent, unified format. By abstracting away the underlying differences between device operating systems, data models, and output formats, the Normalizer creates a vendor-agnostic view of your network’s operational state.
Why Is This Important?
- Multi-Vendor Environments: Modern networks often include gear from Cisco, Arista, Juniper, and a variety of open-source and cloud-native platforms. Each vendor structures its data differently, making holistic analysis cumbersome or even impossible without normalization.
- Automation & Analytics: Uniform data is a prerequisite for effective automation, reporting, and troubleshooting. With normalized data, engineers can write analytics scripts and dashboards that work across all devices, without building vendor-specific logic for each one.
- Operational Consistency: Consistency enables you to correlate network events, track changes, and observe health regardless of device type or source, drastically improving operational agility and incident response.
How Does the Normalizer Work?
- Collection: SuzieQ gathers raw configuration and state data from network devices using supported protocols (CLI, API, NETCONF, telemetry, etc.).
- Parsing & Abstraction: The Normalizer parses this vendor-specific output and uses mapping logic to translate it into a common schema.
- Field Standardization: It harmonizes data types (e.g., link speeds, status flags), field names (e.g., “hostname” vs. “host_name”), and units (e.g., Mbps, bps) so data from all devices looks and functions the same.
- Data Enrichment: Contextual details are added, such as logical grouping of interfaces, VRFs, or tagging by site, which aids in reporting and visualization.
- Validation: The normalized output is validated against expected schemas to ensure completeness and correctness before it’s stored or made available for queries and automation workflows.
- Delivery: Once standardized, all SuzieQ analytics, dashboards, and automation pipelines consume this uniform data layer, simplifying the entire observability workflow.
The end result is a platform where engineers can confidently analyze and automate their networks with one set of tools, regardless of vendor mix or evolving technology. This dramatically reduces operational friction, speeds up diagnostics, and lays the groundwork for advanced automations and predictive analytics.
Normalizer Functions
The Normalizer in SuzieQ is responsible for converting raw, multi-vendor device data into a unified format that can be easily analyzed and acted upon. Here’s how the process works, step by step:
-
Vendor Abstraction:
Takes device-specific data, regardless of vendor (Cisco, Arista, Juniper, etc.), and structures it into a vendor-agnostic schema to enable seamless multi-vendor analysis. -
Field Standardization:
Harmonizes field names, data types, and measurement units so data from various sources can be compared consistently. -
Data Enrichment:
Adds useful context such as mapping interfaces to logical groups, VRFs, or site-specific tags, allowing users to perform more insightful queries. -
Error Handling:
Detects malformed or incomplete data and either corrects minor issues automatically, flags discrepancies for review, or excludes unprocessable entries. -
Schema Validation:
Compares the normalized output with the expected schema to ensure all required fields are present and properly conformed before data is delivered for analytics or visualization.
Supported Vendors & Device Types
The SuzieQ Normalizer is designed to work across a broad range of network equipment from different vendors. It abstracts platform-specific command outputs and APIs into a consistent and structured view for observability and analytics. Supported devices are grouped by vendor and cover both legacy and modern platforms:
-
Cisco:
Includes NX-OS, IOS-XE, and IOS-XR-based devices. SuzieQ supports both CLI-based data collection and API-based integrations where available. -
Arista:
Supports EOS platforms using eAPI and CLI. Normalization ensures data can be processed whether gathered via command line or automation-friendly APIs. -
Juniper:
Works with Junos-based devices using CLI and NETCONF for data collection. SuzieQ normalizes the proprietary Junos hierarchy into flat table formats. -
Cumulus Linux:
Normalizes Linux-native network configuration and operational states using standard Linux tools and structured outputs from FRR and system daemons. -
SONiC:
Offers support for open networking platforms running SONiC OS. The normalizer adapts to telemetry and CLI outputs generated by the SAI and environmental services. -
VyOS:
Supports Linux-based routers leveraging CLI and config file parsing. Useful for labs, cloud deployments, or lightweight virtualized network nodes.
Support for additional platforms can be added by contributing custom normalizer modules or extending device-specific mappings.
Core Data Models
The Normalizer organizes and structures collected data into a set of standardized models. Each model represents a specific category of network information — making it easier to search, correlate, and analyze across vendors and topologies.
-
Interfaces:
Captures operational and administrative state of physical and virtual interfaces, including metrics such as speed, MTU, MAC address, and counters like input/output bytes and packet errors. -
Device Facts:
Represents fundamental attributes of devices, such as hostname, model, OS version, serial number, and uptime. This helps baseline network inventory and device health tracking. -
Routing Data:
Normalizes routing entries including prefixes, next-hops, protocols (OSPF, BGP, static), metrics, and route selection flags like best or rejected. -
BGP/OSPF Neighbors:
Documents peer relationships, ASN, peer IP, session state, flap count, and uptime. Useful for tracking neighbor stability and network convergence. -
ARP/ND Entries:
Resolves IP to MAC mappings, showing dynamic and static entries with associated interface and age. Helpful for validation of host reachability and security. -
Services and Daemons:
Tracks status of routing and network services such as BGP, LLDP, NTP, or SNMP across platforms to ensure operational consistency.
Each model enables targeted queries and visualizations over time, empowering engineers to correlate changes across layers, from physical ports to routing updates.
Customization & Extension
The Normalizer in SuzieQ can be customized and extended to support additional platforms, data formats, or vendor-specific quirks. This makes it flexible for diverse environments and evolving infrastructure. Here’s how customization and extension works step by step:
-
Create a Custom Normalizer Module:
Build a Python module that defines how raw data from a new platform should be structured. This module translates vendor-specific output into the normalized SuzieQ schema. -
Define Parsing Logic:
Use standard parsing techniques to extract fields from CLI, JSON, YAML, or API responses. This ensures structured data can be transformed regardless of its original format. -
Map Fields to Schema:
Align vendor-specific field names to existing attributes in SuzieQ models. This enables support for new platforms without modifying downstream query or visualization logic. -
Test with Device Output:
Use saved or live output from the device to test your custom normalizer. Validate correctness using SuzieQ’s built-in testing utilities to ensure consistent results. -
Enable and Register the Module:
Update configuration files to register your new module. Once integrated, SuzieQ will automatically apply your normalizer when polling matching devices.
Customization makes SuzieQ adaptable to proprietary hardware, new operating systems, and edge networking gear not officially supported out of the box.
Troubleshooting & Best Practices
When working with the SuzieQ Normalizer, it’s important to follow structured troubleshooting methods and apply best practices that ensure normalization is accurate, performant, and scalable across diverse environments. Here’s how to approach it:
-
Enable Verbose Logging:
Increase the logging level to capture detailed output during normalization. This helps trace which value or field caused a failure or produced unexpected results. -
Isolate the Problem:
Run normalization on a small subset of collected data or use a single device. This reduces complexity when debugging parsing errors or missing fields. -
Compare with Raw Output:
Validate the normalized data against the original CLI or API output from the device. Ensure that expected values are being parsed correctly and mapped to the right attributes. -
Use Schema Validation Tools:
Leverage SuzieQ’s built-in tools to check that all required fields are present and formatted correctly before data is accepted into the database. -
Optimize for Performance:
Minimize excessive parsing logic or deep transformations that could slow down large-scale normalization. Cache lookups when possible and avoid repeated parsing of the same data fragments.
Following these guidelines keeps your observability workflow stable and helps ensure that normalized data remains trustworthy as your network scales or as vendors update device responses.
Conclusion
Throughout this post, we explored how the SuzieQ Normalizer empowers network engineers to simplify and standardize data across multi-vendor environments. By transforming raw command-line outputs and API responses into consistent data models, the Normalizer becomes a foundation for accurate insights and reliable automation.
We broke down the essential functions that make normalization possible—from abstracting vendor differences to enriching data and validating output consistency. We reviewed supported platforms across major vendors and open-source systems, and we looked at how SuzieQ models interfaces, routing, neighbors, and more into structured views that are easy to query. You also learned how to extend support for new devices using custom modules and how to troubleshoot normalization issues with a methodical approach.
SuzieQ is more than a collector—it's a translator that lets your tooling, automations, and dashboards speak the same language, no matter what gear is on the network.
Thanks for following along! Hope this helps you get even more out of your observability stack. Stay tuned for more posts on simplifying and scaling network automation workflows. Feel free to drop any questions or ideas you’d like to see covered next.
Happy automating!