zabbix_export: version: '7.4' template_groups: - uuid: 3cd4e8d0b828464e8f4b3becf13a9dbd name: Printers templates: - uuid: a8f3d2e1b5c74a9e8d6f0c3b2a1e9d8c template: HID Fargo DTC4500e Card Printer name: HID Fargo DTC4500e Card Printer description: | Template for HID Fargo DTC4500e ID Card Printer Uses HID Enterprise MIB (1.3.6.1.4.1.28959) Monitors: - Printer status and health - Print counts (current and lifetime) - Ribbon/supply levels - Firmware version - Status flags (hopper, film, errors) groups: - name: Printers items: # === System Information === - uuid: b1c2d3e4f5a6b7c8d9e0f1a2b3c4d5e6 name: System Description type: SNMP_AGENT snmp_oid: 'get[1.3.6.1.2.1.1.1.0]' key: hid.sysdescr delay: 1h history: 90d trends: '0' value_type: TEXT description: 'System description from sysDescr MIB' tags: - tag: component value: system - tag: type value: info - uuid: c2d3e4f5a6b7c8d9e0f1a2b3c4d5e6f7 name: System Uptime type: SNMP_AGENT snmp_oid: 'get[1.3.6.1.2.1.1.3.0]' key: hid.uptime delay: 5m history: 90d trends: 365d value_type: FLOAT units: uptime description: 'System uptime in ticks (divide by 100 for seconds)' tags: - tag: component value: system - tag: type value: performance preprocessing: - type: MULTIPLIER parameters: - '0.01' - uuid: d3e4f5a6b7c8d9e0f1a2b3c4d5e6f7a8 name: System Name type: SNMP_AGENT snmp_oid: 'get[1.3.6.1.2.1.1.5.0]' key: hid.sysname delay: 1h history: 90d trends: '0' value_type: TEXT description: 'System name (hostname)' tags: - tag: component value: system - tag: type value: info - uuid: e4f5a6b7c8d9e0f1a2b3c4d5e6f7a8b9 name: System Location type: SNMP_AGENT snmp_oid: 'get[1.3.6.1.2.1.1.6.0]' key: hid.syslocation delay: 1h history: 90d trends: '0' value_type: TEXT description: 'System location' tags: - tag: component value: system - tag: type value: info # === HID Enterprise MIB - Device Info === - uuid: f5a6b7c8d9e0f1a2b3c4d5e6f7a8b9c0 name: Printer Model type: SNMP_AGENT snmp_oid: 'get[1.3.6.1.4.1.28959.3.255.1.6.0]' key: hid.model delay: 1h history: 90d trends: '0' value_type: TEXT description: 'Printer model name from HID MIB' tags: - tag: component value: printer - tag: type value: info preprocessing: - type: JAVASCRIPT parameters: - | // Convert hex-encoded SNMP string to ASCII var hexPattern = /^[0-9A-Fa-f\s]+$/; if (hexPattern.test(value) && value.length > 4) { var hexBytes = value.match(/[0-9A-Fa-f]{2}/g); if (hexBytes && hexBytes.length > 0) { var result = ''; for (var i = 0; i < hexBytes.length; i++) { var code = parseInt(hexBytes[i], 16); if (code >= 32 && code <= 126) { result += String.fromCharCode(code); } } if (result.length > 0) return result; } } return value.replace(/[^\x20-\x7E]/g, ''); - uuid: a6b7c8d9e0f1a2b3c4d5e6f7a8b9c0d1 name: Printer Serial Number type: SNMP_AGENT snmp_oid: 'get[1.3.6.1.4.1.28959.3.255.1.7.0]' key: hid.serial delay: 1h history: 90d trends: '0' value_type: TEXT description: 'Printer serial number from HID MIB' tags: - tag: component value: printer - tag: type value: info preprocessing: - type: JAVASCRIPT parameters: - | // Convert hex-encoded SNMP string to ASCII var hexPattern = /^[0-9A-Fa-f\s]+$/; if (hexPattern.test(value) && value.length > 4) { var hexBytes = value.match(/[0-9A-Fa-f]{2}/g); if (hexBytes && hexBytes.length > 0) { var result = ''; for (var i = 0; i < hexBytes.length; i++) { var code = parseInt(hexBytes[i], 16); if (code >= 32 && code <= 126) { result += String.fromCharCode(code); } } if (result.length > 0) return result; } } return value.replace(/[^\x20-\x7E]/g, ''); - uuid: b7c8d9e0f1a2b3c4d5e6f7a8b9c0d1e2 name: Firmware Version type: SNMP_AGENT snmp_oid: 'get[1.3.6.1.4.1.28959.3.255.1.8.0]' key: hid.firmware delay: 1d history: 90d trends: '0' value_type: TEXT description: 'Printer firmware version' tags: - tag: component value: printer - tag: type value: info preprocessing: - type: JAVASCRIPT parameters: - | // Convert hex-encoded SNMP string to ASCII var hexPattern = /^[0-9A-Fa-f\s]+$/; if (hexPattern.test(value) && value.length > 4) { var hexBytes = value.match(/[0-9A-Fa-f]{2}/g); if (hexBytes && hexBytes.length > 0) { var result = ''; for (var i = 0; i < hexBytes.length; i++) { var code = parseInt(hexBytes[i], 16); if (code >= 32 && code <= 126) { result += String.fromCharCode(code); } } if (result.length > 0) return result; } } return value.replace(/[^\x20-\x7E]/g, ''); # === HID Enterprise MIB - Status === - uuid: c8d9e0f1a2b3c4d5e6f7a8b9c0d1e2f3 name: Printer Status Code type: SNMP_AGENT snmp_oid: 'get[1.3.6.1.4.1.28959.3.255.1.4.0]' key: hid.status.code delay: 1m history: 90d trends: 365d value_type: UNSIGNED description: 'Printer status code (0=Unknown, 1=Offline, 2=Standby, 3=Ready, 4=Printing, 5=Error)' tags: - tag: component value: printer - tag: type value: status valuemap: name: HID Printer Status - uuid: d9e0f1a2b3c4d5e6f7a8b9c0d1e2f3a4 name: Printer Status Flags type: SNMP_AGENT snmp_oid: 'get[1.3.6.1.4.1.28959.3.255.1.10.0]' key: hid.status.flags delay: 1m history: 7d trends: '0' value_type: TEXT description: | Status flags string containing component states: DH=Door/Hopper, IH=Input Hopper, LM=Laminator, FL=Film, MG=Magnetic, SM=Smart Module, SC=Smart Card, PE=Paper Empty Values: 0=OK, 1=Warning/Active tags: - tag: component value: printer - tag: type value: status preprocessing: - type: JAVASCRIPT parameters: - | // Convert hex-encoded SNMP string to ASCII var hexPattern = /^[0-9A-Fa-f\s]+$/; if (hexPattern.test(value) && value.length > 4) { var hexBytes = value.match(/[0-9A-Fa-f]{2}/g); if (hexBytes && hexBytes.length > 0) { var result = ''; for (var i = 0; i < hexBytes.length; i++) { var code = parseInt(hexBytes[i], 16); if (code >= 32 && code <= 126) { result += String.fromCharCode(code); } } if (result.length > 0) return result; } } return value.replace(/[^\x20-\x7E]/g, ''); # === HID Enterprise MIB - Counters === - uuid: e0f1a2b3c4d5e6f7a8b9c0d1e2f3a4b5 name: Current Print Count type: SNMP_AGENT snmp_oid: 'get[1.3.6.1.4.1.28959.3.255.1.9.0]' key: hid.prints.current delay: 5m history: 90d trends: 365d value_type: UNSIGNED units: cards description: 'Current session or ribbon print count' tags: - tag: component value: counter - tag: type value: performance - uuid: f1a2b3c4d5e6f7a8b9c0d1e2f3a4b5c6 name: Total Lifetime Prints type: SNMP_AGENT snmp_oid: 'get[1.3.6.1.4.1.28959.3.255.1.12.0]' key: hid.prints.lifetime delay: 1h history: 90d trends: 365d value_type: UNSIGNED units: cards description: 'Total lifetime card prints' tags: - tag: component value: counter - tag: type value: performance - uuid: a2b3c4d5e6f7a8b9c0d1e2f3a4b5c6d7 name: Ribbon Remaining type: SNMP_AGENT snmp_oid: 'get[1.3.6.1.4.1.28959.3.255.1.16.0]' key: hid.ribbon.remaining delay: 5m history: 90d trends: 365d value_type: UNSIGNED units: prints description: 'Ribbon remaining count (estimated prints left)' tags: - tag: component value: supplies - tag: type value: consumable # === Additional HID MIB values === - uuid: b3c4d5e6f7a8b9c0d1e2f3a4b5c6d7e8 name: Error Count type: SNMP_AGENT snmp_oid: 'get[1.3.6.1.4.1.28959.3.255.1.11.0]' key: hid.errors delay: 5m history: 90d trends: 365d value_type: UNSIGNED description: 'Error count or error state' tags: - tag: component value: printer - tag: type value: error - uuid: c4d5e6f7a8b9c0d1e2f3a4b5c6d7e8f9 name: Card Count in Hopper type: SNMP_AGENT snmp_oid: 'get[1.3.6.1.4.1.28959.3.255.1.13.0]' key: hid.hopper.count delay: 5m history: 90d trends: 365d value_type: UNSIGNED units: cards description: 'Estimated cards remaining in input hopper' tags: - tag: component value: supplies - tag: type value: consumable # === Derived Items === - uuid: d5e6f7a8b9c0d1e2f3a4b5c6d7e8f9a0 name: Door/Hopper Status type: DEPENDENT key: hid.status.door delay: '0' history: 90d trends: '0' value_type: UNSIGNED description: 'Door/Hopper status extracted from flags (0=Closed/OK, 1=Open/Warning)' master_item: key: hid.status.flags tags: - tag: component value: printer - tag: type value: status preprocessing: - type: JAVASCRIPT parameters: - | var match = value.match(/DH:(\d)/); return match ? match[1] : '0'; valuemap: name: HID Door Status - uuid: e6f7a8b9c0d1e2f3a4b5c6d7e8f9a0b1 name: Film/Ribbon Loaded type: DEPENDENT key: hid.status.film delay: '0' history: 90d trends: '0' value_type: UNSIGNED description: 'Film/Ribbon loaded status (0=Not Loaded, 1=Loaded)' master_item: key: hid.status.flags tags: - tag: component value: supplies - tag: type value: status preprocessing: - type: JAVASCRIPT parameters: - | var match = value.match(/FL:(\d)/); return match ? match[1] : '0'; valuemap: name: HID Film Status - uuid: f7a8b9c0d1e2f3a4b5c6d7e8f9a0b1c2 name: Input Hopper Status type: DEPENDENT key: hid.status.inputhopper delay: '0' history: 90d trends: '0' value_type: UNSIGNED description: 'Input hopper status (0=OK, 1=Empty/Warning)' master_item: key: hid.status.flags tags: - tag: component value: supplies - tag: type value: status preprocessing: - type: JAVASCRIPT parameters: - | var match = value.match(/IH:(\d)/); return match ? match[1] : '0'; valuemap: name: HID Hopper Status # === Triggers === triggers: - uuid: a8b9c0d1e2f3a4b5c6d7e8f9a0b1c2d3 expression: 'last(/HID Fargo DTC4500e Card Printer/hid.status.code)=5' name: 'HID DTC4500e: Printer in error state' priority: HIGH description: 'Printer is reporting an error condition' tags: - tag: scope value: availability - uuid: b9c0d1e2f3a4b5c6d7e8f9a0b1c2d3e4 expression: 'last(/HID Fargo DTC4500e Card Printer/hid.status.door)=1' name: 'HID DTC4500e: Door/Hopper open' priority: WARNING description: 'Printer door or hopper is open' tags: - tag: scope value: notice - uuid: c0d1e2f3a4b5c6d7e8f9a0b1c2d3e4f5 expression: 'last(/HID Fargo DTC4500e Card Printer/hid.status.film)=0' name: 'HID DTC4500e: Film/Ribbon not loaded' priority: WARNING description: 'Printer film or ribbon is not loaded' tags: - tag: scope value: availability - uuid: d1e2f3a4b5c6d7e8f9a0b1c2d3e4f5a6 expression: 'last(/HID Fargo DTC4500e Card Printer/hid.status.inputhopper)=1' name: 'HID DTC4500e: Input hopper empty or warning' priority: WARNING description: 'Input hopper is empty or has a warning' tags: - tag: scope value: availability - uuid: e2f3a4b5c6d7e8f9a0b1c2d3e4f5a6b7 expression: 'last(/HID Fargo DTC4500e Card Printer/hid.ribbon.remaining)<50' name: 'HID DTC4500e: Ribbon low (less than 50 prints remaining)' priority: WARNING description: 'Ribbon is running low, less than 50 prints remaining' tags: - tag: scope value: capacity - uuid: f3a4b5c6d7e8f9a0b1c2d3e4f5a6b7c8 expression: 'last(/HID Fargo DTC4500e Card Printer/hid.ribbon.remaining)<10' name: 'HID DTC4500e: Ribbon critically low (less than 10 prints remaining)' priority: HIGH description: 'Ribbon is critically low, less than 10 prints remaining' tags: - tag: scope value: capacity - uuid: a4b5c6d7e8f9a0b1c2d3e4f5a6b7c8d9 expression: 'nodata(/HID Fargo DTC4500e Card Printer/hid.status.code,15m)=1' name: 'HID DTC4500e: No SNMP data received' priority: AVERAGE description: 'No SNMP data received for 15 minutes - printer may be offline' tags: - tag: scope value: availability # === Value Maps === valuemaps: - uuid: b5c6d7e8f9a0b1c2d3e4f5a6b7c8d9e0 name: HID Printer Status mappings: - value: '0' newvalue: Unknown - value: '1' newvalue: Offline - value: '2' newvalue: Standby - value: '3' newvalue: Ready - value: '4' newvalue: Printing - value: '5' newvalue: Error - uuid: c6d7e8f9a0b1c2d3e4f5a6b7c8d9e0f1 name: HID Door Status mappings: - value: '0' newvalue: Closed - value: '1' newvalue: Open - uuid: d7e8f9a0b1c2d3e4f5a6b7c8d9e0f1a2 name: HID Film Status mappings: - value: '0' newvalue: Not Loaded - value: '1' newvalue: Loaded - uuid: e8f9a0b1c2d3e4f5a6b7c8d9e0f1a2b3 name: HID Hopper Status mappings: - value: '0' newvalue: OK - value: '1' newvalue: Empty/Warning