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>
37 lines
1.3 KiB
Bash
37 lines
1.3 KiB
Bash
#!/bin/bash
|
|
|
|
echo "=== XEROX SUPPLY COMPARISON ==="
|
|
echo
|
|
|
|
for printer in /home/camp/output/printer-10-80-92-{20,25,49}.printer.geaerospace.net.csv; do
|
|
name=$(basename "$printer" .csv)
|
|
model=$(grep -a "^1.3.6.1.2.1.25.3.2.1.3.1," "$printer" | head -1 | cut -d',' -f2 | tr -d '"')
|
|
|
|
echo "====================="
|
|
echo "$name"
|
|
echo "Model: $model"
|
|
echo "====================="
|
|
|
|
echo "Index | Description | Level | Max | Notes"
|
|
echo "------|----------------------|-------|--------|------"
|
|
|
|
for i in 1 2 3 4 5 6 7 8 9 10 11 12; do
|
|
desc=$(grep -a "^1.3.6.1.2.1.43.11.1.1.6.1.$i," "$printer" | head -1 | cut -d',' -f2 | tr -d '"' | cut -c1-20)
|
|
level=$(grep -a "^1.3.6.1.2.1.43.11.1.1.9.1.$i," "$printer" | head -1 | cut -d',' -f2)
|
|
max=$(grep -a "^1.3.6.1.2.1.43.11.1.1.8.1.$i," "$printer" | head -1 | cut -d',' -f2)
|
|
|
|
if [ -n "$desc" ]; then
|
|
printf "%-6s| %-20s | %-5s | %-6s |" "$i" "$desc" "$level" "$max"
|
|
|
|
# Calculate percentage if possible
|
|
if [ -n "$level" ] && [ -n "$max" ] && [ "$max" != "-2" ] && [ "$max" != "-3" ] && [ "$max" -gt 0 ] 2>/dev/null; then
|
|
pct=$((level * 100 / max))
|
|
echo " ${pct}%"
|
|
else
|
|
echo " N/A"
|
|
fi
|
|
fi
|
|
done
|
|
echo
|
|
done
|