Basics
Device templates are a core feature of IPNetwork Monitor, available through the Templates dialog alongside application templates. They share the same monitoring engine and fundamental characteristics as application templates, providing a standardized way to monitor network devices.
Device templates are primarily designed for SNMP-capable devices. They enable automated discovery and monitoring of physical hardware on your network without requiring manual configuration for each individual device.
The system organizes device templates into three main categories based on device type:
- Printers — dedicated templates for multifunction printers and print servers, monitoring consumables, job queues, toner levels, and device health metrics.
- UPS (Uninterruptible Power Supply) — templates for battery backup systems, monitoring power input/output, battery status, load percentage, and estimated runtime.
- Network Equipment — templates for routers, switches, firewalls, and other network infrastructure, monitoring traffic, interface status, CPU usage, memory, and device-specific performance metrics.
Each category contains templates at varying levels of specificity: universal templates that apply broadly across device types, vendor-specific templates (e.g., Cisco, HP, Juniper), and model-specific templates that target particular device models. This hierarchy allows the system to provide increasingly precise monitoring as devices are discovered and identified.
Device Discovery
Device discovery is the process by which IPNetwork Monitor automatically detects devices on your network and applies the appropriate templates. Device discovery is performed as part of network discovery when you enable device templates on the “Select device and application templates” page of the discovery wizard. Once enabled, the system will probe your network to identify devices and match them against available device templates.
Discovery Mechanism
Device discovery begins with SNMP queries. The system first attempts to use the SNMP version and credentials configured for the host if it already exists; otherwise, it uses the credentials inherited from the parent level of the network tree. If these credentials successfully establish communication with the device, they are used for all subsequent monitoring and discovery operations.
However, not all devices on a network segment support the same SNMP versions or respond to inherited credentials. In this case the system breaks credentials inheritance for that host and probes with different SNMP versions and credentials to discover which ones work. Once working credentials are identified during this discovery process, they are applied to the device and used for all further discovery and monitoring. These discovered credentials can also be reused if the same SNMP configuration is later found on another device.
Once a device responds to SNMP with working credentials, the system queries standard OIDs (Object Identifiers) to retrieve device identification information such as system description, manufacturer, model, and serial number.
Device Fingerprinting
To accurately identify each device, IPNetwork Monitor uses a Python script called snmp_device_match.py that compares discovered device information against a fingerprint database. This script analyzes the SNMP system description and other identifying characteristics to determine the exact device type and model. Based on the fingerprint match, the system selects the most specific applicable template.
Template Specificity During Discovery
Templates are matched in order of increasing specificity:
- Universal templates – apply to all devices in a category when no more specific match exists. For example, all printers support the Printer MIB standard (RFC 3805, RFC 1759), which defines common OIDs for printer monitoring such as prtMarkerSuppliesDescription (1.3.6.1.2.1.43.11.1.1.6) that track consumable levels and status. The category-level “Universal printer – v6” template queries OIDs from this standard MIB, allowing it to monitor any RFC-compliant printer regardless of manufacturer.
- Vendor-level templates – apply when the manufacturer is identified but the exact model is unknown. For example, a Cisco vendor-level template targets Cisco routers and switches, querying Cisco-specific SNMP objects from the Cisco MIB tree to monitor metrics like interface statistics, CPU usage, and memory utilization. When a Cisco device is detected but the exact model cannot be determined, the vendor-level template is applied to provide relevant monitoring until a more specific family or model template becomes available.
- Family-level templates – apply when a template covers several models from a specific vendor, but not all models from that vendor. For example, a vendor may have multiple product families (such as a budget line and an enterprise line), each with different capabilities. A family-level template targets these specific models within the vendor’s portfolio, providing more precise monitoring than a generic vendor template without requiring a separate template for each individual model.
- Model-level templates – apply when the specific device model is recognized, providing the most precise monitoring tailored to that hardware.
If a model-level template is available, it will be used. If not, the system falls back to the family-level template (if available). If no family match exists, it falls back to the vendor-level template. If no vendor match exists, the universal category template is applied.
Host Categorization
When a device is discovered and a device template is applied, the system automatically assigns a host type based on the template category. Printer and UPS device templates both assign the host type “Printers and UPS”, while Network Equipment templates assign the host type “Network Equipment”. This host type helps organize your monitored infrastructure and can be used for grouping and reporting purposes. You can modify the host’s type after discovery if needed.
What to Do If Standard Device Templates Don’t Fit Your Device
Standard device templates may not cover all scenarios. If your device is not recognized or you need monitoring that existing templates do not provide, you have several options:
Import Templates from Other Systems
IPNetwork Monitor includes built-in support for importing Zabbix device templates. The import process converts Zabbix templates into native IPNetwork templates, retaining monitors and their configurations as much as possible. If you need to import templates from other systems, contact us. We can add import support for additional systems quickly-often within a few days-by providing you with scripts that enable import capability for your source system.
Configuring Discovery for Imported Templates
By default, device discovery is disabled for imported templates, but the infrastructure to enable it is pre-configured. Each imported template includes a stub MatchMonitor that calls the snmp_device_match.py script with two arguments:
--require-sys-object-id-prefix— specifies the device vendor OID prefix. This value is auto-detected if more than 80% of the template’s monitors use OIDs from the same vendor; otherwise, a placeholder[vendor-id]is provided that you must customize.--require-sys-descr-regex— specifies a regular expression to match the device system description. This is provided as a placeholder[device-name-regex]that you must author for your target devices.
To determine the correct values for your devices, run the snmp_device_match.py script with the --inspect option on a representative device. The script output will indicate which vendor OID prefix and system description pattern match your device, guiding you in authoring the correct parameters.
Once you have determined the appropriate values, use the template’s Edit XML toolbar button to modify the MatchMonitor arguments with the detected parameters, increase the template version, and save. After these changes, you can enable device discovery for the template using the discovery form controls without further XML editing.
Build Your Own Template
If no suitable template exists, you can create custom monitors by using an SNMP MIB browser. An MIB (Management Information Base) browser queries your device directly and displays available SNMP OIDs. You can then:
- Explore the MIB to find relevant metrics for your device.
- Create monitors that query those OIDs.
- Combine these monitors into a template you can apply to this device and similar devices in the future.
This approach requires some familiarity with SNMP and the device’s MIB, but it is the most flexible option for highly specialized devices.
Use an Existing Template as a Starting Point
Before building from scratch, consider whether an existing template can serve as a foundation. During discovery, the system may identify a category-level, vendor-level, or family-level template even if a model-specific one does not exist. You can use one of these discovered templates as a starting point:
- A category-level template provides basic monitoring for any device in that category (e.g., any UPS, any printer).
- A vendor-level template offers vendor-specific metrics that are likely to apply to your model as well.
- A family-level template targets a specific subset of models from a vendor and provides more specialized monitoring than a generic vendor template.
You can customize any of these templates by adding, removing, or adjusting monitors to suit your specific device model. This is often faster than creating a template entirely from scratch.
Contact Support
If you are unable to create a suitable template yourself or need guidance on MIB selection and monitor configuration, contact IPNetwork Monitor support. The support team can assist in identifying the appropriate OIDs, help you create custom monitors, and advise on the best monitoring approach for your device.