zabbix_export: version: '7.4' template_groups: - uuid: 6a77c63954c44f5aa65ec9b09ebbc44e name: Printers templates: - uuid: 97f742974686406aa8be1394d18dcb5f 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: dedc9f977e774060b65ceb9fa95f9b10 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: 2c00861272a141b7b283b4dbb7cda1a9 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: 56e2e80affa2425bb4928b9fb626418e 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: 9663f856dd754c1d948912129d7e93b7 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: 3717343306494909aa6f9e9e5c67febe 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: b77c0bd8dbe145dc95ce5faffb91f48c 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: 6f9c04daa71a4fb181b43c51a7dd7e7b 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: 9ccf1a8f6e8f4b68b3aecd025a85b0a3 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 triggers: - uuid: bee29c14c93d4607a10a434b66b51304 expression: 'last(/HID Fargo DTC4500e Card Printer/hid.status.code)=5' name: 'HID DTC4500e: Printer in error state on {HOST.NAME}' priority: HIGH description: 'Printer is reporting an error condition' tags: - tag: scope value: availability - uuid: 284b88f7401942488b0a4c65742a0773 expression: 'nodata(/HID Fargo DTC4500e Card Printer/hid.status.code,15m)=1' name: 'HID DTC4500e: No SNMP data received on {HOST.NAME}' priority: AVERAGE description: 'No SNMP data received for 15 minutes - printer may be offline' tags: - tag: scope value: availability - uuid: 8006966a63ec46a1ad96914d3823fabb 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: 3f6a1c22ed8d4537a428d538aab2381a 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: 5227ecf6ac654abb9fb8d460b1feb06c 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: cc5821dc024f47b49ea1a75062d8a479 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 triggers: - uuid: 0b6570b2126544579ca5e3bfd3569574 expression: 'last(/HID Fargo DTC4500e Card Printer/hid.ribbon.remaining)<75' name: 'HID DTC4500e: Ribbon low on {HOST.NAME} (less than 75 prints remaining)' priority: WARNING description: 'Ribbon is running low, less than 75 prints remaining' tags: - tag: scope value: capacity - uuid: 7e580066c3cd4a42bfe90092e7485f8c expression: 'last(/HID Fargo DTC4500e Card Printer/hid.ribbon.remaining)<25' name: 'HID DTC4500e: Ribbon critically low on {HOST.NAME} (less than 25 prints remaining)' priority: HIGH description: 'Ribbon is critically low, less than 25 prints remaining' tags: - tag: scope value: capacity # === Additional HID MIB values === - uuid: f2906f6740fa4b40a1be7fbbc2c4229b 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: 28697e8eae8c4264a5eca54ce37b2fe3 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 from Status Flags === - uuid: fd33474b04714f3db64ea94930ba8593 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 triggers: - uuid: eaddab3ea34e443fbce891ca79ec9c34 expression: 'last(/HID Fargo DTC4500e Card Printer/hid.status.door)=1' name: 'HID DTC4500e: Door/Hopper open on {HOST.NAME}' priority: WARNING description: 'Printer door or hopper is open' tags: - tag: scope value: notice - uuid: 9b4cd42ecb274382b8e6092f9d8b18f5 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 triggers: - uuid: 3f9a5e93794347bb8b899c8e779656ca expression: 'last(/HID Fargo DTC4500e Card Printer/hid.status.film)=0' name: 'HID DTC4500e: Film/Ribbon not loaded on {HOST.NAME}' priority: WARNING description: 'Printer film or ribbon is not loaded' tags: - tag: scope value: availability - uuid: e38084b40dd8475990661b58b3ea91e5 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: - uuid: 11a1bac8c805437cbfed965e380f499a expression: 'last(/HID Fargo DTC4500e Card Printer/hid.status.inputhopper)=1' name: 'HID DTC4500e: Input hopper empty on {HOST.NAME}' priority: WARNING description: 'Input hopper is empty or has a warning' tags: - tag: scope value: availability # === Value Maps === valuemaps: - uuid: 62c85cd185e744b08746d3b291e5a074 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: d17dea90ecae4ecba0e5bbc4ac3e9b51 name: HID Door Status mappings: - value: '0' newvalue: Closed - value: '1' newvalue: Open - uuid: 6ec97e9591b64510a0b65e27b7c5c601 name: HID Film Status mappings: - value: '0' newvalue: Not Loaded - value: '1' newvalue: Loaded - uuid: f49a8b67e0574e6e96067c3afc652e48 name: HID Hopper Status mappings: - value: '0' newvalue: OK - value: '1' newvalue: Empty/Warning