🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
525 lines
15 KiB
YAML
525 lines
15 KiB
YAML
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
|