Files
snmp-scanner/NAMING_FIX_SUMMARY.md
cproudlock 389e620261 Initial commit: SNMP scanner and Zabbix template generator
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>
2025-12-17 13:52:21 -05:00

1.7 KiB

Zabbix Template Naming Convention Fixes

Problem

Inconsistent naming between Level items and Part Number items made ASP matching logic complex and error-prone.

Solution

Standardize all templates so Part Number item name = Level item name with " Level" replaced by " Part Number"

Changes Made

HP Templates ( FIXED)

  • HP Mono: "Black Toner Level" → "Black Toner Part Number" ✓
  • HP Color: All colors fixed to match (Black/Cyan/Magenta/Yellow Toner)

Xerox Templates (⚠️ NEEDS FIX)

Xerox VersaLink Color - Need to remove extra "Cartridge":

  • Change: "Black Toner Cartridge Part Number" → "Black Toner Part Number"
  • Change: "Black Drum Cartridge Part Number" → "Black Drum Part Number"
  • (Same for all colors)

Xerox VersaLink Mono - Need to remove extra "Cartridge":

  • Change: "Toner Cartridge Part Number" → "Toner Part Number"
  • Change: "Drum Cartridge Part Number" → "Drum Part Number"

Xerox Enterprise - Already correct ✓

HP DesignJet (⚠️ NEEDS FIX IF USED)

  • These are ink cartridges, not toner
  • Level items use "Ink", Part Numbers use "Cartridge"
  • Should change to "Ink" for consistency
  • However, these may not be actively used in your environment

Simplified ASP Matching Logic

After fixes, the ASP code becomes:

' Simple direct match - no fuzzy logic needed
lookupName = Replace(itemName, " Level", "")
partKeyName = lookupName & " Part Number"
If partNumbers.Exists(partKeyName) Then
    partNumber = partNumbers(partKeyName)
End If

Next Steps

  1. Fix Xerox templates in generate_printer_templates.py
  2. Regenerate templates
  3. Re-import to Zabbix
  4. Simplify ASP matching code
  5. Clear cache and test