Tools for printer discovery and monitoring: - snmp_scanner.py: SNMP-based printer discovery - generate_printer_templates.py: Generate Zabbix templates - analyze_supplies.py: Analyze printer supply levels - extract_summary.py: Extract printer data summaries Includes Zabbix templates for: - HP Color/Mono printers - HP DesignJet T1700 - Xerox Color/Mono/Enterprise printers 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
1425 lines
62 KiB
JSON
1425 lines
62 KiB
JSON
{
|
|
"zabbix_export": {
|
|
"version": "7.4",
|
|
"template_groups": [
|
|
{
|
|
"uuid": "3cd4e8d0b828464e8f4b3becf13a9dbd",
|
|
"name": "Printers"
|
|
}
|
|
],
|
|
"templates": [
|
|
{
|
|
"uuid": "8559e8ebcbb849eca59287790b707168",
|
|
"template": "Printer SNMP Monitor",
|
|
"name": "Printer SNMP Monitor",
|
|
"groups": [
|
|
{
|
|
"name": "Printers"
|
|
}
|
|
],
|
|
"items": [
|
|
{
|
|
"uuid": "f14061bd0a6f4b4aae84fa631c06ad06",
|
|
"name": "Printer Model",
|
|
"type": "SNMP_AGENT",
|
|
"snmp_oid": "get[1.3.6.1.2.1.25.3.2.1.3.1]",
|
|
"key": "printer.model",
|
|
"delay": "1h",
|
|
"history": "90d",
|
|
"trends": "0d",
|
|
"value_type": "TEXT",
|
|
"description": "Device model information",
|
|
"tags": [
|
|
{
|
|
"tag": "component",
|
|
"value": "printer"
|
|
},
|
|
{
|
|
"tag": "category",
|
|
"value": "printer_info"
|
|
}
|
|
],
|
|
"inventory_link": "MODEL",
|
|
"preprocessing": [
|
|
{
|
|
"type": "JAVASCRIPT",
|
|
"parameters": [
|
|
"// Handle hex-encoded SNMP strings\n// Try multiple approaches to convert hex to ASCII\n\n// First, check if it looks like hex (with spaces, newlines, or other separators)\nvar hexPattern = /^[0-9A-Fa-f\\s]+$/;\nif (hexPattern.test(value) && value.length > 4) {\n // Extract all hex pairs (2 characters)\n var hexBytes = value.match(/[0-9A-Fa-f]{2}/g);\n if (hexBytes && hexBytes.length > 0) {\n var result = '';\n for (var i = 0; i < hexBytes.length; i++) {\n var code = parseInt(hexBytes[i], 16);\n // Only keep printable ASCII (0x20-0x7E)\n if (code >= 32 && code <= 126) {\n result += String.fromCharCode(code);\n }\n }\n if (result.length > 0) {\n return result;\n }\n }\n}\n\n// Fallback: Remove non-printable characters\nreturn value.replace(/[^\\x20-\\x7E]/g, '');"
|
|
]
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"uuid": "8cdc1529f9b94279bbb82376f5384197",
|
|
"name": "Printer Hostname",
|
|
"type": "SNMP_AGENT",
|
|
"snmp_oid": "get[1.3.6.1.2.1.1.5.0]",
|
|
"key": "printer.hostname",
|
|
"delay": "1h",
|
|
"history": "90d",
|
|
"trends": "0d",
|
|
"value_type": "TEXT",
|
|
"description": "System hostname",
|
|
"tags": [
|
|
{
|
|
"tag": "component",
|
|
"value": "printer"
|
|
},
|
|
{
|
|
"tag": "category",
|
|
"value": "printer_info"
|
|
}
|
|
],
|
|
"inventory_link": "NAME",
|
|
"preprocessing": [
|
|
{
|
|
"type": "JAVASCRIPT",
|
|
"parameters": [
|
|
"// Handle hex-encoded SNMP strings\n// Try multiple approaches to convert hex to ASCII\n\n// First, check if it looks like hex (with spaces, newlines, or other separators)\nvar hexPattern = /^[0-9A-Fa-f\\s]+$/;\nif (hexPattern.test(value) && value.length > 4) {\n // Extract all hex pairs (2 characters)\n var hexBytes = value.match(/[0-9A-Fa-f]{2}/g);\n if (hexBytes && hexBytes.length > 0) {\n var result = '';\n for (var i = 0; i < hexBytes.length; i++) {\n var code = parseInt(hexBytes[i], 16);\n // Only keep printable ASCII (0x20-0x7E)\n if (code >= 32 && code <= 126) {\n result += String.fromCharCode(code);\n }\n }\n if (result.length > 0) {\n return result;\n }\n }\n}\n\n// Fallback: Remove non-printable characters\nreturn value.replace(/[^\\x20-\\x7E]/g, '');"
|
|
]
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"uuid": "a1a7295be9a5424192c33d37160792de",
|
|
"name": "Printer Serial Number",
|
|
"type": "SNMP_AGENT",
|
|
"snmp_oid": "get[1.3.6.1.2.1.43.5.1.1.17.1]",
|
|
"key": "printer.serial",
|
|
"delay": "1h",
|
|
"history": "90d",
|
|
"trends": "0d",
|
|
"value_type": "TEXT",
|
|
"description": "Printer serial number",
|
|
"tags": [
|
|
{
|
|
"tag": "component",
|
|
"value": "printer"
|
|
},
|
|
{
|
|
"tag": "category",
|
|
"value": "printer_info"
|
|
}
|
|
],
|
|
"inventory_link": "SERIALNO_A",
|
|
"preprocessing": [
|
|
{
|
|
"type": "JAVASCRIPT",
|
|
"parameters": [
|
|
"// Handle hex-encoded SNMP strings\n// Try multiple approaches to convert hex to ASCII\n\n// First, check if it looks like hex (with spaces, newlines, or other separators)\nvar hexPattern = /^[0-9A-Fa-f\\s]+$/;\nif (hexPattern.test(value) && value.length > 4) {\n // Extract all hex pairs (2 characters)\n var hexBytes = value.match(/[0-9A-Fa-f]{2}/g);\n if (hexBytes && hexBytes.length > 0) {\n var result = '';\n for (var i = 0; i < hexBytes.length; i++) {\n var code = parseInt(hexBytes[i], 16);\n // Only keep printable ASCII (0x20-0x7E)\n if (code >= 32 && code <= 126) {\n result += String.fromCharCode(code);\n }\n }\n if (result.length > 0) {\n return result;\n }\n }\n}\n\n// Fallback: Remove non-printable characters\nreturn value.replace(/[^\\x20-\\x7E]/g, '');"
|
|
]
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"uuid": "77ef807ba8214781a162252ca8d47b49",
|
|
"name": "System Location",
|
|
"type": "SNMP_AGENT",
|
|
"snmp_oid": "get[1.3.6.1.2.1.1.6.0]",
|
|
"key": "printer.location",
|
|
"delay": "1h",
|
|
"history": "90d",
|
|
"trends": "0d",
|
|
"value_type": "TEXT",
|
|
"description": "Physical location",
|
|
"tags": [
|
|
{
|
|
"tag": "component",
|
|
"value": "printer"
|
|
},
|
|
{
|
|
"tag": "category",
|
|
"value": "printer_info"
|
|
}
|
|
],
|
|
"preprocessing": [
|
|
{
|
|
"type": "JAVASCRIPT",
|
|
"parameters": [
|
|
"// Handle hex-encoded SNMP strings\n// Try multiple approaches to convert hex to ASCII\n\n// First, check if it looks like hex (with spaces, newlines, or other separators)\nvar hexPattern = /^[0-9A-Fa-f\\s]+$/;\nif (hexPattern.test(value) && value.length > 4) {\n // Extract all hex pairs (2 characters)\n var hexBytes = value.match(/[0-9A-Fa-f]{2}/g);\n if (hexBytes && hexBytes.length > 0) {\n var result = '';\n for (var i = 0; i < hexBytes.length; i++) {\n var code = parseInt(hexBytes[i], 16);\n // Only keep printable ASCII (0x20-0x7E)\n if (code >= 32 && code <= 126) {\n result += String.fromCharCode(code);\n }\n }\n if (result.length > 0) {\n return result;\n }\n }\n}\n\n// Fallback: Remove non-printable characters\nreturn value.replace(/[^\\x20-\\x7E]/g, '');"
|
|
]
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"uuid": "5ec3baa71dd94dd588dfdbdabd5bdb74",
|
|
"name": "MAC Address",
|
|
"type": "SNMP_AGENT",
|
|
"snmp_oid": "get[1.3.6.1.2.1.2.2.1.6.2]",
|
|
"key": "printer.macaddress",
|
|
"delay": "1h",
|
|
"history": "90d",
|
|
"trends": "0d",
|
|
"value_type": "TEXT",
|
|
"description": "Primary network interface MAC address",
|
|
"tags": [
|
|
{
|
|
"tag": "component",
|
|
"value": "printer"
|
|
},
|
|
{
|
|
"tag": "category",
|
|
"value": "printer_info"
|
|
}
|
|
],
|
|
"inventory_link": "MACADDRESS_A",
|
|
"preprocessing": [
|
|
{
|
|
"type": "JAVASCRIPT",
|
|
"parameters": [
|
|
"// Handle hex-encoded SNMP strings\n// Try multiple approaches to convert hex to ASCII\n\n// First, check if it looks like hex (with spaces, newlines, or other separators)\nvar hexPattern = /^[0-9A-Fa-f\\s]+$/;\nif (hexPattern.test(value) && value.length > 4) {\n // Extract all hex pairs (2 characters)\n var hexBytes = value.match(/[0-9A-Fa-f]{2}/g);\n if (hexBytes && hexBytes.length > 0) {\n var result = '';\n for (var i = 0; i < hexBytes.length; i++) {\n var code = parseInt(hexBytes[i], 16);\n // Only keep printable ASCII (0x20-0x7E)\n if (code >= 32 && code <= 126) {\n result += String.fromCharCode(code);\n }\n }\n if (result.length > 0) {\n return result;\n }\n }\n}\n\n// Fallback: Remove non-printable characters\nreturn value.replace(/[^\\x20-\\x7E]/g, '');"
|
|
]
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"uuid": "1ca63a9ace904cb9953d8073939d80b1",
|
|
"name": "Black Toner Current",
|
|
"type": "SNMP_AGENT",
|
|
"snmp_oid": "get[1.3.6.1.2.1.43.11.1.1.9.1.1]",
|
|
"key": "printer.toner.black.current",
|
|
"delay": "1h",
|
|
"history": "90d",
|
|
"trends": "365d",
|
|
"value_type": "FLOAT",
|
|
"description": "Black toner current level (raw value)",
|
|
"tags": [
|
|
{
|
|
"tag": "component",
|
|
"value": "printer"
|
|
},
|
|
{
|
|
"tag": "category",
|
|
"value": "toner_levels"
|
|
}
|
|
],
|
|
"units": ""
|
|
},
|
|
{
|
|
"uuid": "8425ee5c66984653bb93325a0fa00e6e",
|
|
"name": "Black Toner Max",
|
|
"type": "SNMP_AGENT",
|
|
"snmp_oid": "get[1.3.6.1.2.1.43.11.1.1.8.1.1]",
|
|
"key": "printer.toner.black.max",
|
|
"delay": "1h",
|
|
"history": "90d",
|
|
"trends": "365d",
|
|
"value_type": "FLOAT",
|
|
"description": "Black toner maximum capacity",
|
|
"tags": [
|
|
{
|
|
"tag": "component",
|
|
"value": "printer"
|
|
},
|
|
{
|
|
"tag": "category",
|
|
"value": "toner_levels"
|
|
}
|
|
],
|
|
"units": ""
|
|
},
|
|
{
|
|
"uuid": "a30f2233f3e8460b9888716fa0545fd0",
|
|
"name": "Black Toner Level",
|
|
"type": "CALCULATED",
|
|
"key": "printer.toner.black",
|
|
"delay": "1h",
|
|
"history": "90d",
|
|
"trends": "365d",
|
|
"value_type": "FLOAT",
|
|
"params": "round((last(//printer.toner.black.current)/last(//printer.toner.black.max))*100,0)",
|
|
"description": "Black toner percentage",
|
|
"tags": [
|
|
{
|
|
"tag": "component",
|
|
"value": "toner"
|
|
},
|
|
{
|
|
"tag": "category",
|
|
"value": "toner_levels"
|
|
},
|
|
{
|
|
"tag": "color",
|
|
"value": "black"
|
|
}
|
|
],
|
|
"units": "%",
|
|
"triggers": [
|
|
{
|
|
"uuid": "67c0cc9e72734c79a09ad5bdeaf341ff",
|
|
"expression": "last(/Printer SNMP Monitor/printer.toner.black)<20 and length(last(/Printer SNMP Monitor/printer.cartridge.black))>0",
|
|
"name": "Black Toner Level is low on {{HOST.NAME}}",
|
|
"priority": "WARNING",
|
|
"description": "Black Toner Level has dropped below 20%. Replacement part: {ITEM.LASTVALUE2}",
|
|
"tags": [
|
|
{
|
|
"tag": "scope",
|
|
"value": "availability"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"uuid": "6a585ec7829b4c2d8d8a22b6510383b6",
|
|
"expression": "last(/Printer SNMP Monitor/printer.toner.black)<10 and length(last(/Printer SNMP Monitor/printer.cartridge.black))>0",
|
|
"name": "Black Toner Level is low on {{HOST.NAME}}",
|
|
"priority": "HIGH",
|
|
"description": "Black Toner Level has dropped below 10%. Replacement part: {ITEM.LASTVALUE2}",
|
|
"tags": [
|
|
{
|
|
"tag": "scope",
|
|
"value": "availability"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"uuid": "210e86285b074d828a8dfb02ff5839f8",
|
|
"name": "Cyan Toner Current",
|
|
"type": "SNMP_AGENT",
|
|
"snmp_oid": "get[1.3.6.1.2.1.43.11.1.1.9.1.2]",
|
|
"key": "printer.toner.cyan.current",
|
|
"delay": "1h",
|
|
"history": "90d",
|
|
"trends": "365d",
|
|
"value_type": "FLOAT",
|
|
"description": "Cyan toner current level (raw value)",
|
|
"tags": [
|
|
{
|
|
"tag": "component",
|
|
"value": "printer"
|
|
},
|
|
{
|
|
"tag": "category",
|
|
"value": "toner_levels"
|
|
}
|
|
],
|
|
"units": ""
|
|
},
|
|
{
|
|
"uuid": "55e83440391e49d6bba87f3a9b5895e7",
|
|
"name": "Cyan Toner Max",
|
|
"type": "SNMP_AGENT",
|
|
"snmp_oid": "get[1.3.6.1.2.1.43.11.1.1.8.1.2]",
|
|
"key": "printer.toner.cyan.max",
|
|
"delay": "1h",
|
|
"history": "90d",
|
|
"trends": "365d",
|
|
"value_type": "FLOAT",
|
|
"description": "Cyan toner maximum capacity",
|
|
"tags": [
|
|
{
|
|
"tag": "component",
|
|
"value": "printer"
|
|
},
|
|
{
|
|
"tag": "category",
|
|
"value": "toner_levels"
|
|
}
|
|
],
|
|
"units": ""
|
|
},
|
|
{
|
|
"uuid": "ae0c1782f0b74d6f88be391a446d661e",
|
|
"name": "Cyan Toner Level",
|
|
"type": "CALCULATED",
|
|
"key": "printer.toner.cyan",
|
|
"delay": "1h",
|
|
"history": "90d",
|
|
"trends": "365d",
|
|
"value_type": "FLOAT",
|
|
"params": "round((last(//printer.toner.cyan.current)/last(//printer.toner.cyan.max))*100,0)",
|
|
"description": "Cyan toner percentage",
|
|
"tags": [
|
|
{
|
|
"tag": "component",
|
|
"value": "toner"
|
|
},
|
|
{
|
|
"tag": "category",
|
|
"value": "toner_levels"
|
|
},
|
|
{
|
|
"tag": "color",
|
|
"value": "cyan"
|
|
}
|
|
],
|
|
"units": "%",
|
|
"triggers": [
|
|
{
|
|
"uuid": "221671dfccdb44579cd7dc9f0abad794",
|
|
"expression": "last(/Printer SNMP Monitor/printer.toner.cyan)<20 and length(last(/Printer SNMP Monitor/printer.cartridge.cyan))>0",
|
|
"name": "Cyan Toner Level is low on {{HOST.NAME}}",
|
|
"priority": "WARNING",
|
|
"description": "Cyan Toner Level has dropped below 20%. Replacement part: {ITEM.LASTVALUE2}",
|
|
"tags": [
|
|
{
|
|
"tag": "scope",
|
|
"value": "availability"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"uuid": "63b13139e7374ac689072ec7d8e2ba27",
|
|
"expression": "last(/Printer SNMP Monitor/printer.toner.cyan)<10 and length(last(/Printer SNMP Monitor/printer.cartridge.cyan))>0",
|
|
"name": "Cyan Toner Level is low on {{HOST.NAME}}",
|
|
"priority": "HIGH",
|
|
"description": "Cyan Toner Level has dropped below 10%. Replacement part: {ITEM.LASTVALUE2}",
|
|
"tags": [
|
|
{
|
|
"tag": "scope",
|
|
"value": "availability"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"uuid": "b74db9fdbf3642d7b27433d553636293",
|
|
"name": "Magenta Toner Current",
|
|
"type": "SNMP_AGENT",
|
|
"snmp_oid": "get[1.3.6.1.2.1.43.11.1.1.9.1.3]",
|
|
"key": "printer.toner.magenta.current",
|
|
"delay": "1h",
|
|
"history": "90d",
|
|
"trends": "365d",
|
|
"value_type": "FLOAT",
|
|
"description": "Magenta toner current level (raw value)",
|
|
"tags": [
|
|
{
|
|
"tag": "component",
|
|
"value": "printer"
|
|
},
|
|
{
|
|
"tag": "category",
|
|
"value": "toner_levels"
|
|
}
|
|
],
|
|
"units": ""
|
|
},
|
|
{
|
|
"uuid": "bbd164aed85d4f7db496dded965080ee",
|
|
"name": "Magenta Toner Max",
|
|
"type": "SNMP_AGENT",
|
|
"snmp_oid": "get[1.3.6.1.2.1.43.11.1.1.8.1.3]",
|
|
"key": "printer.toner.magenta.max",
|
|
"delay": "1h",
|
|
"history": "90d",
|
|
"trends": "365d",
|
|
"value_type": "FLOAT",
|
|
"description": "Magenta toner maximum capacity",
|
|
"tags": [
|
|
{
|
|
"tag": "component",
|
|
"value": "printer"
|
|
},
|
|
{
|
|
"tag": "category",
|
|
"value": "toner_levels"
|
|
}
|
|
],
|
|
"units": ""
|
|
},
|
|
{
|
|
"uuid": "3a93c394f95b4c959cc3c20b2f18e014",
|
|
"name": "Magenta Toner Level",
|
|
"type": "CALCULATED",
|
|
"key": "printer.toner.magenta",
|
|
"delay": "1h",
|
|
"history": "90d",
|
|
"trends": "365d",
|
|
"value_type": "FLOAT",
|
|
"params": "round((last(//printer.toner.magenta.current)/last(//printer.toner.magenta.max))*100,0)",
|
|
"description": "Magenta toner percentage",
|
|
"tags": [
|
|
{
|
|
"tag": "component",
|
|
"value": "toner"
|
|
},
|
|
{
|
|
"tag": "category",
|
|
"value": "toner_levels"
|
|
},
|
|
{
|
|
"tag": "color",
|
|
"value": "magenta"
|
|
}
|
|
],
|
|
"units": "%",
|
|
"triggers": [
|
|
{
|
|
"uuid": "c0bc98d818d440ccbdc0e2d9c3f68cdf",
|
|
"expression": "last(/Printer SNMP Monitor/printer.toner.magenta)<20 and length(last(/Printer SNMP Monitor/printer.cartridge.magenta))>0",
|
|
"name": "Magenta Toner Level is low on {{HOST.NAME}}",
|
|
"priority": "WARNING",
|
|
"description": "Magenta Toner Level has dropped below 20%. Replacement part: {ITEM.LASTVALUE2}",
|
|
"tags": [
|
|
{
|
|
"tag": "scope",
|
|
"value": "availability"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"uuid": "a880d1f24ce24c56ab420bd2d3d46961",
|
|
"expression": "last(/Printer SNMP Monitor/printer.toner.magenta)<10 and length(last(/Printer SNMP Monitor/printer.cartridge.magenta))>0",
|
|
"name": "Magenta Toner Level is low on {{HOST.NAME}}",
|
|
"priority": "HIGH",
|
|
"description": "Magenta Toner Level has dropped below 10%. Replacement part: {ITEM.LASTVALUE2}",
|
|
"tags": [
|
|
{
|
|
"tag": "scope",
|
|
"value": "availability"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"uuid": "e6131ba3c3a84901a62e46fb3e1a558d",
|
|
"name": "Yellow Toner Current",
|
|
"type": "SNMP_AGENT",
|
|
"snmp_oid": "get[1.3.6.1.2.1.43.11.1.1.9.1.4]",
|
|
"key": "printer.toner.yellow.current",
|
|
"delay": "1h",
|
|
"history": "90d",
|
|
"trends": "365d",
|
|
"value_type": "FLOAT",
|
|
"description": "Yellow toner current level (raw value)",
|
|
"tags": [
|
|
{
|
|
"tag": "component",
|
|
"value": "printer"
|
|
},
|
|
{
|
|
"tag": "category",
|
|
"value": "toner_levels"
|
|
}
|
|
],
|
|
"units": ""
|
|
},
|
|
{
|
|
"uuid": "9efc8706ede34244a3f6146aa329fcc3",
|
|
"name": "Yellow Toner Max",
|
|
"type": "SNMP_AGENT",
|
|
"snmp_oid": "get[1.3.6.1.2.1.43.11.1.1.8.1.4]",
|
|
"key": "printer.toner.yellow.max",
|
|
"delay": "1h",
|
|
"history": "90d",
|
|
"trends": "365d",
|
|
"value_type": "FLOAT",
|
|
"description": "Yellow toner maximum capacity",
|
|
"tags": [
|
|
{
|
|
"tag": "component",
|
|
"value": "printer"
|
|
},
|
|
{
|
|
"tag": "category",
|
|
"value": "toner_levels"
|
|
}
|
|
],
|
|
"units": ""
|
|
},
|
|
{
|
|
"uuid": "4b6760dc4b9d4b2eb10e88a130d93a31",
|
|
"name": "Yellow Toner Level",
|
|
"type": "CALCULATED",
|
|
"key": "printer.toner.yellow",
|
|
"delay": "1h",
|
|
"history": "90d",
|
|
"trends": "365d",
|
|
"value_type": "FLOAT",
|
|
"params": "round((last(//printer.toner.yellow.current)/last(//printer.toner.yellow.max))*100,0)",
|
|
"description": "Yellow toner percentage",
|
|
"tags": [
|
|
{
|
|
"tag": "component",
|
|
"value": "toner"
|
|
},
|
|
{
|
|
"tag": "category",
|
|
"value": "toner_levels"
|
|
},
|
|
{
|
|
"tag": "color",
|
|
"value": "yellow"
|
|
}
|
|
],
|
|
"units": "%",
|
|
"triggers": [
|
|
{
|
|
"uuid": "65ed6a1b74db412d927656c90a265136",
|
|
"expression": "last(/Printer SNMP Monitor/printer.toner.yellow)<20 and length(last(/Printer SNMP Monitor/printer.cartridge.yellow))>0",
|
|
"name": "Yellow Toner Level is low on {{HOST.NAME}}",
|
|
"priority": "WARNING",
|
|
"description": "Yellow Toner Level has dropped below 20%. Replacement part: {ITEM.LASTVALUE2}",
|
|
"tags": [
|
|
{
|
|
"tag": "scope",
|
|
"value": "availability"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"uuid": "af4da363f9a04f8a8fdd41927e7c71fd",
|
|
"expression": "last(/Printer SNMP Monitor/printer.toner.yellow)<10 and length(last(/Printer SNMP Monitor/printer.cartridge.yellow))>0",
|
|
"name": "Yellow Toner Level is low on {{HOST.NAME}}",
|
|
"priority": "HIGH",
|
|
"description": "Yellow Toner Level has dropped below 10%. Replacement part: {ITEM.LASTVALUE2}",
|
|
"tags": [
|
|
{
|
|
"tag": "scope",
|
|
"value": "availability"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"uuid": "197a06c64c204e4d977cef902d0503b2",
|
|
"name": "Black Cartridge Part Number",
|
|
"type": "SNMP_AGENT",
|
|
"snmp_oid": "get[1.3.6.1.2.1.43.11.1.1.6.1.1]",
|
|
"key": "printer.cartridge.black",
|
|
"delay": "1h",
|
|
"history": "90d",
|
|
"trends": "0d",
|
|
"value_type": "TEXT",
|
|
"description": "Black toner cartridge model/part number",
|
|
"tags": [
|
|
{
|
|
"tag": "component",
|
|
"value": "printer"
|
|
},
|
|
{
|
|
"tag": "category",
|
|
"value": "cartridge_info"
|
|
}
|
|
],
|
|
"preprocessing": [
|
|
{
|
|
"type": "JAVASCRIPT",
|
|
"parameters": [
|
|
"// Handle hex-encoded SNMP strings\n// Try multiple approaches to convert hex to ASCII\n\n// First, check if it looks like hex (with spaces, newlines, or other separators)\nvar hexPattern = /^[0-9A-Fa-f\\s]+$/;\nif (hexPattern.test(value) && value.length > 4) {\n // Extract all hex pairs (2 characters)\n var hexBytes = value.match(/[0-9A-Fa-f]{2}/g);\n if (hexBytes && hexBytes.length > 0) {\n var result = '';\n for (var i = 0; i < hexBytes.length; i++) {\n var code = parseInt(hexBytes[i], 16);\n // Only keep printable ASCII (0x20-0x7E)\n if (code >= 32 && code <= 126) {\n result += String.fromCharCode(code);\n }\n }\n if (result.length > 0) {\n return result;\n }\n }\n}\n\n// Fallback: Remove non-printable characters\nreturn value.replace(/[^\\x20-\\x7E]/g, '');"
|
|
]
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"uuid": "6f07f404171946b697f1bfa3850036ff",
|
|
"name": "Cyan Cartridge Part Number",
|
|
"type": "SNMP_AGENT",
|
|
"snmp_oid": "get[1.3.6.1.2.1.43.11.1.1.6.1.2]",
|
|
"key": "printer.cartridge.cyan",
|
|
"delay": "1h",
|
|
"history": "90d",
|
|
"trends": "0d",
|
|
"value_type": "TEXT",
|
|
"description": "Cyan toner cartridge model/part number",
|
|
"tags": [
|
|
{
|
|
"tag": "component",
|
|
"value": "printer"
|
|
},
|
|
{
|
|
"tag": "category",
|
|
"value": "cartridge_info"
|
|
}
|
|
],
|
|
"preprocessing": [
|
|
{
|
|
"type": "JAVASCRIPT",
|
|
"parameters": [
|
|
"// Handle hex-encoded SNMP strings\n// Try multiple approaches to convert hex to ASCII\n\n// First, check if it looks like hex (with spaces, newlines, or other separators)\nvar hexPattern = /^[0-9A-Fa-f\\s]+$/;\nif (hexPattern.test(value) && value.length > 4) {\n // Extract all hex pairs (2 characters)\n var hexBytes = value.match(/[0-9A-Fa-f]{2}/g);\n if (hexBytes && hexBytes.length > 0) {\n var result = '';\n for (var i = 0; i < hexBytes.length; i++) {\n var code = parseInt(hexBytes[i], 16);\n // Only keep printable ASCII (0x20-0x7E)\n if (code >= 32 && code <= 126) {\n result += String.fromCharCode(code);\n }\n }\n if (result.length > 0) {\n return result;\n }\n }\n}\n\n// Fallback: Remove non-printable characters\nreturn value.replace(/[^\\x20-\\x7E]/g, '');"
|
|
]
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"uuid": "52e13188182649c2a788326288e0cd6d",
|
|
"name": "Magenta Cartridge Part Number",
|
|
"type": "SNMP_AGENT",
|
|
"snmp_oid": "get[1.3.6.1.2.1.43.11.1.1.6.1.3]",
|
|
"key": "printer.cartridge.magenta",
|
|
"delay": "1h",
|
|
"history": "90d",
|
|
"trends": "0d",
|
|
"value_type": "TEXT",
|
|
"description": "Magenta toner cartridge model/part number",
|
|
"tags": [
|
|
{
|
|
"tag": "component",
|
|
"value": "printer"
|
|
},
|
|
{
|
|
"tag": "category",
|
|
"value": "cartridge_info"
|
|
}
|
|
],
|
|
"preprocessing": [
|
|
{
|
|
"type": "JAVASCRIPT",
|
|
"parameters": [
|
|
"// Handle hex-encoded SNMP strings\n// Try multiple approaches to convert hex to ASCII\n\n// First, check if it looks like hex (with spaces, newlines, or other separators)\nvar hexPattern = /^[0-9A-Fa-f\\s]+$/;\nif (hexPattern.test(value) && value.length > 4) {\n // Extract all hex pairs (2 characters)\n var hexBytes = value.match(/[0-9A-Fa-f]{2}/g);\n if (hexBytes && hexBytes.length > 0) {\n var result = '';\n for (var i = 0; i < hexBytes.length; i++) {\n var code = parseInt(hexBytes[i], 16);\n // Only keep printable ASCII (0x20-0x7E)\n if (code >= 32 && code <= 126) {\n result += String.fromCharCode(code);\n }\n }\n if (result.length > 0) {\n return result;\n }\n }\n}\n\n// Fallback: Remove non-printable characters\nreturn value.replace(/[^\\x20-\\x7E]/g, '');"
|
|
]
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"uuid": "fd58812f0fde467c8444b0b6c2dcb337",
|
|
"name": "Yellow Cartridge Part Number",
|
|
"type": "SNMP_AGENT",
|
|
"snmp_oid": "get[1.3.6.1.2.1.43.11.1.1.6.1.4]",
|
|
"key": "printer.cartridge.yellow",
|
|
"delay": "1h",
|
|
"history": "90d",
|
|
"trends": "0d",
|
|
"value_type": "TEXT",
|
|
"description": "Yellow toner cartridge model/part number",
|
|
"tags": [
|
|
{
|
|
"tag": "component",
|
|
"value": "printer"
|
|
},
|
|
{
|
|
"tag": "category",
|
|
"value": "cartridge_info"
|
|
}
|
|
],
|
|
"preprocessing": [
|
|
{
|
|
"type": "JAVASCRIPT",
|
|
"parameters": [
|
|
"// Handle hex-encoded SNMP strings\n// Try multiple approaches to convert hex to ASCII\n\n// First, check if it looks like hex (with spaces, newlines, or other separators)\nvar hexPattern = /^[0-9A-Fa-f\\s]+$/;\nif (hexPattern.test(value) && value.length > 4) {\n // Extract all hex pairs (2 characters)\n var hexBytes = value.match(/[0-9A-Fa-f]{2}/g);\n if (hexBytes && hexBytes.length > 0) {\n var result = '';\n for (var i = 0; i < hexBytes.length; i++) {\n var code = parseInt(hexBytes[i], 16);\n // Only keep printable ASCII (0x20-0x7E)\n if (code >= 32 && code <= 126) {\n result += String.fromCharCode(code);\n }\n }\n if (result.length > 0) {\n return result;\n }\n }\n}\n\n// Fallback: Remove non-printable characters\nreturn value.replace(/[^\\x20-\\x7E]/g, '');"
|
|
]
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"uuid": "eaa234629c2443cfaa2c6679239ddb53",
|
|
"name": "Drum Cartridge R1 Part Number",
|
|
"type": "SNMP_AGENT",
|
|
"snmp_oid": "get[1.3.6.1.2.1.43.11.1.1.6.1.5]",
|
|
"key": "printer.drum.r1",
|
|
"delay": "1h",
|
|
"history": "90d",
|
|
"trends": "0d",
|
|
"value_type": "TEXT",
|
|
"description": "Drum cartridge R1 part number",
|
|
"tags": [
|
|
{
|
|
"tag": "component",
|
|
"value": "printer"
|
|
},
|
|
{
|
|
"tag": "category",
|
|
"value": "other_supplies"
|
|
}
|
|
],
|
|
"preprocessing": [
|
|
{
|
|
"type": "JAVASCRIPT",
|
|
"parameters": [
|
|
"// Handle hex-encoded SNMP strings\n// Try multiple approaches to convert hex to ASCII\n\n// First, check if it looks like hex (with spaces, newlines, or other separators)\nvar hexPattern = /^[0-9A-Fa-f\\s]+$/;\nif (hexPattern.test(value) && value.length > 4) {\n // Extract all hex pairs (2 characters)\n var hexBytes = value.match(/[0-9A-Fa-f]{2}/g);\n if (hexBytes && hexBytes.length > 0) {\n var result = '';\n for (var i = 0; i < hexBytes.length; i++) {\n var code = parseInt(hexBytes[i], 16);\n // Only keep printable ASCII (0x20-0x7E)\n if (code >= 32 && code <= 126) {\n result += String.fromCharCode(code);\n }\n }\n if (result.length > 0) {\n return result;\n }\n }\n}\n\n// Fallback: Remove non-printable characters\nreturn value.replace(/[^\\x20-\\x7E]/g, '');"
|
|
]
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"uuid": "94b6b40dfffa4a8eb4386cb345e33d64",
|
|
"name": "Drum Cartridge R1 Level",
|
|
"type": "SNMP_AGENT",
|
|
"snmp_oid": "get[1.3.6.1.2.1.43.11.1.1.9.1.5]",
|
|
"key": "printer.drum.r1.level",
|
|
"delay": "1h",
|
|
"history": "90d",
|
|
"trends": "365d",
|
|
"value_type": "FLOAT",
|
|
"description": "Drum cartridge R1 remaining life percentage",
|
|
"tags": [
|
|
{
|
|
"tag": "component",
|
|
"value": "printer"
|
|
},
|
|
{
|
|
"tag": "category",
|
|
"value": "other_supplies"
|
|
}
|
|
],
|
|
"units": "%",
|
|
"triggers": [
|
|
{
|
|
"uuid": "ae07bd0a7f214d92ad84c1b5b0f333d7",
|
|
"expression": "last(/Printer SNMP Monitor/printer.drum.r1.level)<20 and length(last(/Printer SNMP Monitor/printer.drum.r1))>0",
|
|
"name": "Drum Cartridge R1 Level is low on {{HOST.NAME}}",
|
|
"priority": "WARNING",
|
|
"description": "Drum Cartridge R1 Level has dropped below 20%. Replacement part: {ITEM.LASTVALUE2}",
|
|
"tags": [
|
|
{
|
|
"tag": "scope",
|
|
"value": "availability"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"uuid": "87029b70ab414d3aa9370e01468e0bc9",
|
|
"expression": "last(/Printer SNMP Monitor/printer.drum.r1.level)<10 and length(last(/Printer SNMP Monitor/printer.drum.r1))>0",
|
|
"name": "Drum Cartridge R1 Level is low on {{HOST.NAME}}",
|
|
"priority": "HIGH",
|
|
"description": "Drum Cartridge R1 Level has dropped below 10%. Replacement part: {ITEM.LASTVALUE2}",
|
|
"tags": [
|
|
{
|
|
"tag": "scope",
|
|
"value": "availability"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"uuid": "a05ab2cbf4384a6a93e12d006bc8f8ed",
|
|
"name": "Drum Cartridge R2 Part Number",
|
|
"type": "SNMP_AGENT",
|
|
"snmp_oid": "get[1.3.6.1.2.1.43.11.1.1.6.1.6]",
|
|
"key": "printer.drum.r2",
|
|
"delay": "1h",
|
|
"history": "90d",
|
|
"trends": "0d",
|
|
"value_type": "TEXT",
|
|
"description": "Drum cartridge R2 part number",
|
|
"tags": [
|
|
{
|
|
"tag": "component",
|
|
"value": "printer"
|
|
},
|
|
{
|
|
"tag": "category",
|
|
"value": "other_supplies"
|
|
}
|
|
],
|
|
"preprocessing": [
|
|
{
|
|
"type": "JAVASCRIPT",
|
|
"parameters": [
|
|
"// Handle hex-encoded SNMP strings\n// Try multiple approaches to convert hex to ASCII\n\n// First, check if it looks like hex (with spaces, newlines, or other separators)\nvar hexPattern = /^[0-9A-Fa-f\\s]+$/;\nif (hexPattern.test(value) && value.length > 4) {\n // Extract all hex pairs (2 characters)\n var hexBytes = value.match(/[0-9A-Fa-f]{2}/g);\n if (hexBytes && hexBytes.length > 0) {\n var result = '';\n for (var i = 0; i < hexBytes.length; i++) {\n var code = parseInt(hexBytes[i], 16);\n // Only keep printable ASCII (0x20-0x7E)\n if (code >= 32 && code <= 126) {\n result += String.fromCharCode(code);\n }\n }\n if (result.length > 0) {\n return result;\n }\n }\n}\n\n// Fallback: Remove non-printable characters\nreturn value.replace(/[^\\x20-\\x7E]/g, '');"
|
|
]
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"uuid": "55250c2fc46d4086a7d3c110db50dc46",
|
|
"name": "Drum Cartridge R2 Level",
|
|
"type": "SNMP_AGENT",
|
|
"snmp_oid": "get[1.3.6.1.2.1.43.11.1.1.9.1.6]",
|
|
"key": "printer.drum.r2.level",
|
|
"delay": "1h",
|
|
"history": "90d",
|
|
"trends": "365d",
|
|
"value_type": "FLOAT",
|
|
"description": "Drum cartridge R2 remaining life percentage",
|
|
"tags": [
|
|
{
|
|
"tag": "component",
|
|
"value": "printer"
|
|
},
|
|
{
|
|
"tag": "category",
|
|
"value": "other_supplies"
|
|
}
|
|
],
|
|
"units": "%",
|
|
"triggers": [
|
|
{
|
|
"uuid": "da956bb03a7145558ceed46f22f59180",
|
|
"expression": "last(/Printer SNMP Monitor/printer.drum.r2.level)<20 and length(last(/Printer SNMP Monitor/printer.drum.r2))>0",
|
|
"name": "Drum Cartridge R2 Level is low on {{HOST.NAME}}",
|
|
"priority": "WARNING",
|
|
"description": "Drum Cartridge R2 Level has dropped below 20%. Replacement part: {ITEM.LASTVALUE2}",
|
|
"tags": [
|
|
{
|
|
"tag": "scope",
|
|
"value": "availability"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"uuid": "606e8d5f08f7460eae72015cab07d789",
|
|
"expression": "last(/Printer SNMP Monitor/printer.drum.r2.level)<10 and length(last(/Printer SNMP Monitor/printer.drum.r2))>0",
|
|
"name": "Drum Cartridge R2 Level is low on {{HOST.NAME}}",
|
|
"priority": "HIGH",
|
|
"description": "Drum Cartridge R2 Level has dropped below 10%. Replacement part: {ITEM.LASTVALUE2}",
|
|
"tags": [
|
|
{
|
|
"tag": "scope",
|
|
"value": "availability"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"uuid": "b582a5b3352a4406aa1a28fefa6b929c",
|
|
"name": "Drum Cartridge R3 Part Number",
|
|
"type": "SNMP_AGENT",
|
|
"snmp_oid": "get[1.3.6.1.2.1.43.11.1.1.6.1.7]",
|
|
"key": "printer.drum.r3",
|
|
"delay": "1h",
|
|
"history": "90d",
|
|
"trends": "0d",
|
|
"value_type": "TEXT",
|
|
"description": "Drum cartridge R3 part number",
|
|
"tags": [
|
|
{
|
|
"tag": "component",
|
|
"value": "printer"
|
|
},
|
|
{
|
|
"tag": "category",
|
|
"value": "other_supplies"
|
|
}
|
|
],
|
|
"preprocessing": [
|
|
{
|
|
"type": "JAVASCRIPT",
|
|
"parameters": [
|
|
"// Handle hex-encoded SNMP strings\n// Try multiple approaches to convert hex to ASCII\n\n// First, check if it looks like hex (with spaces, newlines, or other separators)\nvar hexPattern = /^[0-9A-Fa-f\\s]+$/;\nif (hexPattern.test(value) && value.length > 4) {\n // Extract all hex pairs (2 characters)\n var hexBytes = value.match(/[0-9A-Fa-f]{2}/g);\n if (hexBytes && hexBytes.length > 0) {\n var result = '';\n for (var i = 0; i < hexBytes.length; i++) {\n var code = parseInt(hexBytes[i], 16);\n // Only keep printable ASCII (0x20-0x7E)\n if (code >= 32 && code <= 126) {\n result += String.fromCharCode(code);\n }\n }\n if (result.length > 0) {\n return result;\n }\n }\n}\n\n// Fallback: Remove non-printable characters\nreturn value.replace(/[^\\x20-\\x7E]/g, '');"
|
|
]
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"uuid": "a8646395156b4fbb90438347522ee6fa",
|
|
"name": "Drum Cartridge R3 Level",
|
|
"type": "SNMP_AGENT",
|
|
"snmp_oid": "get[1.3.6.1.2.1.43.11.1.1.9.1.7]",
|
|
"key": "printer.drum.r3.level",
|
|
"delay": "1h",
|
|
"history": "90d",
|
|
"trends": "365d",
|
|
"value_type": "FLOAT",
|
|
"description": "Drum cartridge R3 remaining life percentage",
|
|
"tags": [
|
|
{
|
|
"tag": "component",
|
|
"value": "printer"
|
|
},
|
|
{
|
|
"tag": "category",
|
|
"value": "other_supplies"
|
|
}
|
|
],
|
|
"units": "%",
|
|
"triggers": [
|
|
{
|
|
"uuid": "ab6425f3dc484e6fbc029be8de0ea6eb",
|
|
"expression": "last(/Printer SNMP Monitor/printer.drum.r3.level)<20 and length(last(/Printer SNMP Monitor/printer.drum.r3))>0",
|
|
"name": "Drum Cartridge R3 Level is low on {{HOST.NAME}}",
|
|
"priority": "WARNING",
|
|
"description": "Drum Cartridge R3 Level has dropped below 20%. Replacement part: {ITEM.LASTVALUE2}",
|
|
"tags": [
|
|
{
|
|
"tag": "scope",
|
|
"value": "availability"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"uuid": "2b04057e9e4e43c5bcbfdd8cdd69de58",
|
|
"expression": "last(/Printer SNMP Monitor/printer.drum.r3.level)<10 and length(last(/Printer SNMP Monitor/printer.drum.r3))>0",
|
|
"name": "Drum Cartridge R3 Level is low on {{HOST.NAME}}",
|
|
"priority": "HIGH",
|
|
"description": "Drum Cartridge R3 Level has dropped below 10%. Replacement part: {ITEM.LASTVALUE2}",
|
|
"tags": [
|
|
{
|
|
"tag": "scope",
|
|
"value": "availability"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"uuid": "31a2f55026c94912a41049bfb22834b4",
|
|
"name": "Drum Cartridge R4 Part Number",
|
|
"type": "SNMP_AGENT",
|
|
"snmp_oid": "get[1.3.6.1.2.1.43.11.1.1.6.1.8]",
|
|
"key": "printer.drum.r4",
|
|
"delay": "1h",
|
|
"history": "90d",
|
|
"trends": "0d",
|
|
"value_type": "TEXT",
|
|
"description": "Drum cartridge R4 part number",
|
|
"tags": [
|
|
{
|
|
"tag": "component",
|
|
"value": "printer"
|
|
},
|
|
{
|
|
"tag": "category",
|
|
"value": "other_supplies"
|
|
}
|
|
],
|
|
"preprocessing": [
|
|
{
|
|
"type": "JAVASCRIPT",
|
|
"parameters": [
|
|
"// Handle hex-encoded SNMP strings\n// Try multiple approaches to convert hex to ASCII\n\n// First, check if it looks like hex (with spaces, newlines, or other separators)\nvar hexPattern = /^[0-9A-Fa-f\\s]+$/;\nif (hexPattern.test(value) && value.length > 4) {\n // Extract all hex pairs (2 characters)\n var hexBytes = value.match(/[0-9A-Fa-f]{2}/g);\n if (hexBytes && hexBytes.length > 0) {\n var result = '';\n for (var i = 0; i < hexBytes.length; i++) {\n var code = parseInt(hexBytes[i], 16);\n // Only keep printable ASCII (0x20-0x7E)\n if (code >= 32 && code <= 126) {\n result += String.fromCharCode(code);\n }\n }\n if (result.length > 0) {\n return result;\n }\n }\n}\n\n// Fallback: Remove non-printable characters\nreturn value.replace(/[^\\x20-\\x7E]/g, '');"
|
|
]
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"uuid": "d90ac9cf6dd041eca83fa23b339de473",
|
|
"name": "Drum Cartridge R4 Level",
|
|
"type": "SNMP_AGENT",
|
|
"snmp_oid": "get[1.3.6.1.2.1.43.11.1.1.9.1.8]",
|
|
"key": "printer.drum.r4.level",
|
|
"delay": "1h",
|
|
"history": "90d",
|
|
"trends": "365d",
|
|
"value_type": "FLOAT",
|
|
"description": "Drum cartridge R4 remaining life percentage",
|
|
"tags": [
|
|
{
|
|
"tag": "component",
|
|
"value": "printer"
|
|
},
|
|
{
|
|
"tag": "category",
|
|
"value": "other_supplies"
|
|
}
|
|
],
|
|
"units": "%",
|
|
"triggers": [
|
|
{
|
|
"uuid": "07c79834c5b848c298ed090f8d1e7b8b",
|
|
"expression": "last(/Printer SNMP Monitor/printer.drum.r4.level)<20 and length(last(/Printer SNMP Monitor/printer.drum.r4))>0",
|
|
"name": "Drum Cartridge R4 Level is low on {{HOST.NAME}}",
|
|
"priority": "WARNING",
|
|
"description": "Drum Cartridge R4 Level has dropped below 20%. Replacement part: {ITEM.LASTVALUE2}",
|
|
"tags": [
|
|
{
|
|
"tag": "scope",
|
|
"value": "availability"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"uuid": "7241561532a24d7fa9598ed3ea74e44e",
|
|
"expression": "last(/Printer SNMP Monitor/printer.drum.r4.level)<10 and length(last(/Printer SNMP Monitor/printer.drum.r4))>0",
|
|
"name": "Drum Cartridge R4 Level is low on {{HOST.NAME}}",
|
|
"priority": "HIGH",
|
|
"description": "Drum Cartridge R4 Level has dropped below 10%. Replacement part: {ITEM.LASTVALUE2}",
|
|
"tags": [
|
|
{
|
|
"tag": "scope",
|
|
"value": "availability"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"uuid": "cdfce3b4df8c49859d454a8883c1cec4",
|
|
"name": "Waste Toner Container Part Number",
|
|
"type": "SNMP_AGENT",
|
|
"snmp_oid": "get[1.3.6.1.2.1.43.11.1.1.6.1.9]",
|
|
"key": "printer.waste.partnumber",
|
|
"delay": "1h",
|
|
"history": "90d",
|
|
"trends": "0d",
|
|
"value_type": "TEXT",
|
|
"description": "Waste toner container part number",
|
|
"tags": [
|
|
{
|
|
"tag": "component",
|
|
"value": "printer"
|
|
},
|
|
{
|
|
"tag": "category",
|
|
"value": "other_supplies"
|
|
}
|
|
],
|
|
"preprocessing": [
|
|
{
|
|
"type": "JAVASCRIPT",
|
|
"parameters": [
|
|
"// Handle hex-encoded SNMP strings\n// Try multiple approaches to convert hex to ASCII\n\n// First, check if it looks like hex (with spaces, newlines, or other separators)\nvar hexPattern = /^[0-9A-Fa-f\\s]+$/;\nif (hexPattern.test(value) && value.length > 4) {\n // Extract all hex pairs (2 characters)\n var hexBytes = value.match(/[0-9A-Fa-f]{2}/g);\n if (hexBytes && hexBytes.length > 0) {\n var result = '';\n for (var i = 0; i < hexBytes.length; i++) {\n var code = parseInt(hexBytes[i], 16);\n // Only keep printable ASCII (0x20-0x7E)\n if (code >= 32 && code <= 126) {\n result += String.fromCharCode(code);\n }\n }\n if (result.length > 0) {\n return result;\n }\n }\n}\n\n// Fallback: Remove non-printable characters\nreturn value.replace(/[^\\x20-\\x7E]/g, '');"
|
|
]
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"uuid": "38a4a4150ba949b2ae62d1d20e411c4e",
|
|
"name": "Waste Toner Container Level",
|
|
"type": "SNMP_AGENT",
|
|
"snmp_oid": "get[1.3.6.1.2.1.43.11.1.1.9.1.9]",
|
|
"key": "printer.waste.level",
|
|
"delay": "1h",
|
|
"history": "90d",
|
|
"trends": "365d",
|
|
"value_type": "FLOAT",
|
|
"description": "Waste toner container fill level (higher is more full)",
|
|
"tags": [
|
|
{
|
|
"tag": "component",
|
|
"value": "printer"
|
|
},
|
|
{
|
|
"tag": "category",
|
|
"value": "other_supplies"
|
|
}
|
|
],
|
|
"units": "%",
|
|
"triggers": [
|
|
{
|
|
"uuid": "fbf34636cdf242f2850b73d77a339220",
|
|
"expression": "last(/Printer SNMP Monitor/printer.waste.level)>80 and length(last(/Printer SNMP Monitor/printer.waste.partnumber))>0",
|
|
"name": "Waste Toner Container Level is low on {{HOST.NAME}}",
|
|
"priority": "WARNING",
|
|
"description": "Waste Toner Container Level has dropped below 80%. Replacement part: {ITEM.LASTVALUE2}",
|
|
"tags": [
|
|
{
|
|
"tag": "scope",
|
|
"value": "availability"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"uuid": "f8f3473f933749e88eb9b6b08bf0bd4a",
|
|
"expression": "last(/Printer SNMP Monitor/printer.waste.level)>90 and length(last(/Printer SNMP Monitor/printer.waste.partnumber))>0",
|
|
"name": "Waste Toner Container Level is low on {{HOST.NAME}}",
|
|
"priority": "HIGH",
|
|
"description": "Waste Toner Container Level has dropped below 90%. Replacement part: {ITEM.LASTVALUE2}",
|
|
"tags": [
|
|
{
|
|
"tag": "scope",
|
|
"value": "availability"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"uuid": "1210838ab6df401ab235653b975421f2",
|
|
"name": "Transfer Belt Cleaner Part Number",
|
|
"type": "SNMP_AGENT",
|
|
"snmp_oid": "get[1.3.6.1.2.1.43.11.1.1.6.1.10]",
|
|
"key": "printer.transfer.belt",
|
|
"delay": "1h",
|
|
"history": "90d",
|
|
"trends": "0d",
|
|
"value_type": "TEXT",
|
|
"description": "Transfer belt cleaner part number",
|
|
"tags": [
|
|
{
|
|
"tag": "component",
|
|
"value": "printer"
|
|
},
|
|
{
|
|
"tag": "category",
|
|
"value": "other_supplies"
|
|
}
|
|
],
|
|
"preprocessing": [
|
|
{
|
|
"type": "JAVASCRIPT",
|
|
"parameters": [
|
|
"// Handle hex-encoded SNMP strings\n// Try multiple approaches to convert hex to ASCII\n\n// First, check if it looks like hex (with spaces, newlines, or other separators)\nvar hexPattern = /^[0-9A-Fa-f\\s]+$/;\nif (hexPattern.test(value) && value.length > 4) {\n // Extract all hex pairs (2 characters)\n var hexBytes = value.match(/[0-9A-Fa-f]{2}/g);\n if (hexBytes && hexBytes.length > 0) {\n var result = '';\n for (var i = 0; i < hexBytes.length; i++) {\n var code = parseInt(hexBytes[i], 16);\n // Only keep printable ASCII (0x20-0x7E)\n if (code >= 32 && code <= 126) {\n result += String.fromCharCode(code);\n }\n }\n if (result.length > 0) {\n return result;\n }\n }\n}\n\n// Fallback: Remove non-printable characters\nreturn value.replace(/[^\\x20-\\x7E]/g, '');"
|
|
]
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"uuid": "d5e1f76785cd4198a3170a5c55856627",
|
|
"name": "Transfer Belt Cleaner Level",
|
|
"type": "SNMP_AGENT",
|
|
"snmp_oid": "get[1.3.6.1.2.1.43.11.1.1.9.1.10]",
|
|
"key": "printer.transfer.belt.level",
|
|
"delay": "1h",
|
|
"history": "90d",
|
|
"trends": "365d",
|
|
"value_type": "FLOAT",
|
|
"description": "Transfer belt cleaner remaining life percentage",
|
|
"tags": [
|
|
{
|
|
"tag": "component",
|
|
"value": "printer"
|
|
},
|
|
{
|
|
"tag": "category",
|
|
"value": "other_supplies"
|
|
}
|
|
],
|
|
"units": "%",
|
|
"triggers": [
|
|
{
|
|
"uuid": "87789c39b16d41e5843846e6f33a41d5",
|
|
"expression": "last(/Printer SNMP Monitor/printer.transfer.belt.level)<20 and length(last(/Printer SNMP Monitor/printer.transfer.belt))>0",
|
|
"name": "Transfer Belt Cleaner Level is low on {{HOST.NAME}}",
|
|
"priority": "WARNING",
|
|
"description": "Transfer Belt Cleaner Level has dropped below 20%. Replacement part: {ITEM.LASTVALUE2}",
|
|
"tags": [
|
|
{
|
|
"tag": "scope",
|
|
"value": "availability"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"uuid": "8bfab1ce66734b8e99729fb9dd8a0821",
|
|
"expression": "last(/Printer SNMP Monitor/printer.transfer.belt.level)<10 and length(last(/Printer SNMP Monitor/printer.transfer.belt))>0",
|
|
"name": "Transfer Belt Cleaner Level is low on {{HOST.NAME}}",
|
|
"priority": "HIGH",
|
|
"description": "Transfer Belt Cleaner Level has dropped below 10%. Replacement part: {ITEM.LASTVALUE2}",
|
|
"tags": [
|
|
{
|
|
"tag": "scope",
|
|
"value": "availability"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"uuid": "06718c135cf8495ab4f64a248bed0597",
|
|
"name": "Second Bias Transfer Roll Part Number",
|
|
"type": "SNMP_AGENT",
|
|
"snmp_oid": "get[1.3.6.1.2.1.43.11.1.1.6.1.11]",
|
|
"key": "printer.transfer.roller",
|
|
"delay": "1h",
|
|
"history": "90d",
|
|
"trends": "0d",
|
|
"value_type": "TEXT",
|
|
"description": "Second bias transfer roll part number",
|
|
"tags": [
|
|
{
|
|
"tag": "component",
|
|
"value": "printer"
|
|
},
|
|
{
|
|
"tag": "category",
|
|
"value": "other_supplies"
|
|
}
|
|
],
|
|
"preprocessing": [
|
|
{
|
|
"type": "JAVASCRIPT",
|
|
"parameters": [
|
|
"// Handle hex-encoded SNMP strings\n// Try multiple approaches to convert hex to ASCII\n\n// First, check if it looks like hex (with spaces, newlines, or other separators)\nvar hexPattern = /^[0-9A-Fa-f\\s]+$/;\nif (hexPattern.test(value) && value.length > 4) {\n // Extract all hex pairs (2 characters)\n var hexBytes = value.match(/[0-9A-Fa-f]{2}/g);\n if (hexBytes && hexBytes.length > 0) {\n var result = '';\n for (var i = 0; i < hexBytes.length; i++) {\n var code = parseInt(hexBytes[i], 16);\n // Only keep printable ASCII (0x20-0x7E)\n if (code >= 32 && code <= 126) {\n result += String.fromCharCode(code);\n }\n }\n if (result.length > 0) {\n return result;\n }\n }\n}\n\n// Fallback: Remove non-printable characters\nreturn value.replace(/[^\\x20-\\x7E]/g, '');"
|
|
]
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"uuid": "fc3a32dba72945d89809c0c202fab5d2",
|
|
"name": "Second Bias Transfer Roll Level",
|
|
"type": "SNMP_AGENT",
|
|
"snmp_oid": "get[1.3.6.1.2.1.43.11.1.1.9.1.11]",
|
|
"key": "printer.transfer.roller.level",
|
|
"delay": "1h",
|
|
"history": "90d",
|
|
"trends": "365d",
|
|
"value_type": "FLOAT",
|
|
"description": "Second bias transfer roll remaining life percentage",
|
|
"tags": [
|
|
{
|
|
"tag": "component",
|
|
"value": "printer"
|
|
},
|
|
{
|
|
"tag": "category",
|
|
"value": "other_supplies"
|
|
}
|
|
],
|
|
"units": "%",
|
|
"triggers": [
|
|
{
|
|
"uuid": "371a3230e24c4f41841a0f2f58a81e34",
|
|
"expression": "last(/Printer SNMP Monitor/printer.transfer.roller.level)<20 and length(last(/Printer SNMP Monitor/printer.transfer.roller))>0",
|
|
"name": "Second Bias Transfer Roll Level is low on {{HOST.NAME}}",
|
|
"priority": "WARNING",
|
|
"description": "Second Bias Transfer Roll Level has dropped below 20%. Replacement part: {ITEM.LASTVALUE2}",
|
|
"tags": [
|
|
{
|
|
"tag": "scope",
|
|
"value": "availability"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"uuid": "6210babed1284bfc890a00d05328dedf",
|
|
"expression": "last(/Printer SNMP Monitor/printer.transfer.roller.level)<10 and length(last(/Printer SNMP Monitor/printer.transfer.roller))>0",
|
|
"name": "Second Bias Transfer Roll Level is low on {{HOST.NAME}}",
|
|
"priority": "HIGH",
|
|
"description": "Second Bias Transfer Roll Level has dropped below 10%. Replacement part: {ITEM.LASTVALUE2}",
|
|
"tags": [
|
|
{
|
|
"tag": "scope",
|
|
"value": "availability"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"uuid": "94f4bb2c7f8c494ead740f091846f978",
|
|
"name": "Maintenance Kit Model (HP)",
|
|
"type": "SNMP_AGENT",
|
|
"snmp_oid": "get[1.3.6.1.4.1.11.2.3.9.4.2.1.1.3.3.0]",
|
|
"key": "printer.maintenance.model",
|
|
"delay": "1h",
|
|
"history": "90d",
|
|
"trends": "0d",
|
|
"value_type": "TEXT",
|
|
"description": "HP maintenance kit model/serial number",
|
|
"tags": [
|
|
{
|
|
"tag": "component",
|
|
"value": "printer"
|
|
},
|
|
{
|
|
"tag": "category",
|
|
"value": "maintenance_kit_hp"
|
|
}
|
|
],
|
|
"preprocessing": [
|
|
{
|
|
"type": "JAVASCRIPT",
|
|
"parameters": [
|
|
"// Handle hex-encoded SNMP strings\n// Try multiple approaches to convert hex to ASCII\n\n// First, check if it looks like hex (with spaces, newlines, or other separators)\nvar hexPattern = /^[0-9A-Fa-f\\s]+$/;\nif (hexPattern.test(value) && value.length > 4) {\n // Extract all hex pairs (2 characters)\n var hexBytes = value.match(/[0-9A-Fa-f]{2}/g);\n if (hexBytes && hexBytes.length > 0) {\n var result = '';\n for (var i = 0; i < hexBytes.length; i++) {\n var code = parseInt(hexBytes[i], 16);\n // Only keep printable ASCII (0x20-0x7E)\n if (code >= 32 && code <= 126) {\n result += String.fromCharCode(code);\n }\n }\n if (result.length > 0) {\n return result;\n }\n }\n}\n\n// Fallback: Remove non-printable characters\nreturn value.replace(/[^\\x20-\\x7E]/g, '');"
|
|
]
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"uuid": "dfa98041e7b24981bc41bb3d05dacd77",
|
|
"name": "Maintenance Kit Remaining (HP)",
|
|
"type": "SNMP_AGENT",
|
|
"snmp_oid": "get[1.3.6.1.4.1.11.2.3.9.4.2.1.4.1.2.0]",
|
|
"key": "printer.maintenance.remaining",
|
|
"delay": "1h",
|
|
"history": "90d",
|
|
"trends": "365d",
|
|
"value_type": "FLOAT",
|
|
"description": "HP maintenance kit remaining pages",
|
|
"tags": [
|
|
{
|
|
"tag": "component",
|
|
"value": "printer"
|
|
},
|
|
{
|
|
"tag": "category",
|
|
"value": "maintenance_kit_hp"
|
|
}
|
|
],
|
|
"units": "pages",
|
|
"triggers": [
|
|
{
|
|
"uuid": "30b01b873ae643e99c1b55efa7584313",
|
|
"expression": "last(/Printer SNMP Monitor/printer.maintenance.remaining)<10000 and length(last(/Printer SNMP Monitor/printer.maintenance.model))>0",
|
|
"name": "Maintenance Kit Remaining (HP) is low on {{HOST.NAME}}",
|
|
"priority": "WARNING",
|
|
"description": "Maintenance Kit Remaining (HP) has dropped below 10000pages. Replacement part: {ITEM.LASTVALUE2}",
|
|
"tags": [
|
|
{
|
|
"tag": "scope",
|
|
"value": "availability"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"uuid": "59b58b9fb96e448f8907a68ab21a68bd",
|
|
"expression": "last(/Printer SNMP Monitor/printer.maintenance.remaining)<5000 and length(last(/Printer SNMP Monitor/printer.maintenance.model))>0",
|
|
"name": "Maintenance Kit Remaining (HP) is low on {{HOST.NAME}}",
|
|
"priority": "HIGH",
|
|
"description": "Maintenance Kit Remaining (HP) has dropped below 5000pages. Replacement part: {ITEM.LASTVALUE2}",
|
|
"tags": [
|
|
{
|
|
"tag": "scope",
|
|
"value": "availability"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"uuid": "3352d313b0cf499f8a22e14d9f36e7ce",
|
|
"name": "Printer Model (HP MIB)",
|
|
"type": "SNMP_AGENT",
|
|
"snmp_oid": "get[1.3.6.1.4.1.11.2.3.9.4.2.1.1.3.2.0]",
|
|
"key": "printer.maintenance.printer_model",
|
|
"delay": "1h",
|
|
"history": "90d",
|
|
"trends": "0d",
|
|
"value_type": "TEXT",
|
|
"description": "Printer model from HP maintenance MIB",
|
|
"tags": [
|
|
{
|
|
"tag": "component",
|
|
"value": "printer"
|
|
},
|
|
{
|
|
"tag": "category",
|
|
"value": "maintenance_kit_hp"
|
|
}
|
|
],
|
|
"preprocessing": [
|
|
{
|
|
"type": "JAVASCRIPT",
|
|
"parameters": [
|
|
"// Handle hex-encoded SNMP strings\n// Try multiple approaches to convert hex to ASCII\n\n// First, check if it looks like hex (with spaces, newlines, or other separators)\nvar hexPattern = /^[0-9A-Fa-f\\s]+$/;\nif (hexPattern.test(value) && value.length > 4) {\n // Extract all hex pairs (2 characters)\n var hexBytes = value.match(/[0-9A-Fa-f]{2}/g);\n if (hexBytes && hexBytes.length > 0) {\n var result = '';\n for (var i = 0; i < hexBytes.length; i++) {\n var code = parseInt(hexBytes[i], 16);\n // Only keep printable ASCII (0x20-0x7E)\n if (code >= 32 && code <= 126) {\n result += String.fromCharCode(code);\n }\n }\n if (result.length > 0) {\n return result;\n }\n }\n}\n\n// Fallback: Remove non-printable characters\nreturn value.replace(/[^\\x20-\\x7E]/g, '');"
|
|
]
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"uuid": "3126905128cc4eb78326021449df7d67",
|
|
"name": "Supply 1 Max Capacity",
|
|
"type": "SNMP_AGENT",
|
|
"snmp_oid": "get[1.3.6.1.2.1.43.10.2.1.4.1.1]",
|
|
"key": "printer.supply.1.max",
|
|
"delay": "1h",
|
|
"history": "90d",
|
|
"trends": "365d",
|
|
"value_type": "FLOAT",
|
|
"description": "Maximum capacity for supply index 1 (usually black)",
|
|
"tags": [
|
|
{
|
|
"tag": "component",
|
|
"value": "printer"
|
|
},
|
|
{
|
|
"tag": "category",
|
|
"value": "supply_capacity"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"uuid": "329ab388b8664648877bedf551dd370d",
|
|
"name": "Supply 1 Current Level",
|
|
"type": "SNMP_AGENT",
|
|
"snmp_oid": "get[1.3.6.1.2.1.43.10.2.1.9.1.1]",
|
|
"key": "printer.supply.1.current",
|
|
"delay": "1h",
|
|
"history": "90d",
|
|
"trends": "365d",
|
|
"value_type": "FLOAT",
|
|
"description": "Current level for supply index 1 (usually black)",
|
|
"tags": [
|
|
{
|
|
"tag": "component",
|
|
"value": "printer"
|
|
},
|
|
{
|
|
"tag": "category",
|
|
"value": "supply_capacity"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
}
|
|
]
|
|
}
|
|
} |