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>
52 lines
1.7 KiB
Markdown
52 lines
1.7 KiB
Markdown
# 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:
|
|
```vbscript
|
|
' 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
|