Documents:
- Zabbix template requirements for ShopDB integration
- Supply item naming rules ("Level" in name, percentage values)
- YAML structure (triggers inside items, valid UUIDv4)
- Common import errors and fixes
- HID DTC4500e device-specific notes
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
92 lines
2.6 KiB
Markdown
92 lines
2.6 KiB
Markdown
# SNMP Scanner - Claude Code Instructions
|
|
|
|
## Project Overview
|
|
|
|
Repository for SNMP-based Zabbix templates and network device monitoring tools. Templates created here integrate with the ShopDB application for displaying supply levels.
|
|
|
|
## Repository Location
|
|
|
|
- **Local**: `/home/camp/projects/python/snmp-scanner/`
|
|
- **Gitea**: `http://localhost:3000/cproudlock/snmp-scanner`
|
|
|
|
## Key Files
|
|
|
|
| File | Purpose |
|
|
|------|---------|
|
|
| `zabbix_template_*.yaml` | Zabbix monitoring templates |
|
|
| `README.md` | Template guidelines for ShopDB integration |
|
|
|
|
## Zabbix Template Requirements
|
|
|
|
### For displayprinter.asp Compatibility
|
|
|
|
Supply level items MUST follow these rules to appear in ShopDB:
|
|
|
|
1. **Item name must contain "Level"**
|
|
```yaml
|
|
name: Ribbon Level # Good - will appear
|
|
name: Ribbon Remaining # Bad - filtered out
|
|
```
|
|
|
|
2. **Value must be percentage (0-100)**
|
|
- Add preprocessing if SNMP returns raw counts
|
|
- Use JavaScript to convert: `(remaining / capacity) * 100`
|
|
|
|
3. **Use `units: '%'`** for percentage values
|
|
|
|
### Zabbix YAML Structure
|
|
|
|
```yaml
|
|
# UUIDs: 32 hex chars, no dashes
|
|
uuid: 97f742974686406aa8be1394d18dcb5f
|
|
|
|
# Triggers go INSIDE items, not at template level
|
|
items:
|
|
- uuid: abc123...
|
|
name: Some Item
|
|
triggers: # Nested under the item
|
|
- uuid: def456...
|
|
expression: '...'
|
|
```
|
|
|
|
### Generating Valid UUIDs
|
|
|
|
```bash
|
|
python3 -c "import uuid; print(uuid.uuid4().hex)"
|
|
```
|
|
|
|
## Related Projects
|
|
|
|
- **ShopDB**: `/home/camp/projects/windows/shopdb/`
|
|
- `includes/zabbix_all_supplies.asp` - Zabbix API integration
|
|
- `displayprinter.asp` - Displays supply levels from Zabbix
|
|
|
|
## Common Tasks
|
|
|
|
### Creating a New Template
|
|
|
|
1. Get SNMP walk data from the device
|
|
2. Identify relevant OIDs for monitoring
|
|
3. Create YAML template following structure in existing templates
|
|
4. Ensure supply items have "Level" in name and return percentages
|
|
5. Generate valid UUIDv4 for all uuid fields
|
|
6. Place triggers inside their related items
|
|
|
|
### Testing Template Import
|
|
|
|
1. Import into Zabbix via Configuration > Templates > Import
|
|
2. Common errors:
|
|
- "unexpected tag triggers" = triggers at wrong level (move inside items)
|
|
- "invalid parameter uuid" = UUID not valid UUIDv4 format
|
|
|
|
## Device-Specific Notes
|
|
|
|
### HID Fargo DTC4500e Card Printer
|
|
|
|
- **MIB**: HID Enterprise MIB (1.3.6.1.4.1.28959)
|
|
- **Ribbon**: YMCKO 500-print capacity
|
|
- **OID for ribbon**: 1.3.6.1.4.1.28959.3.255.1.16.0 (returns raw count)
|
|
- **Status flags OID**: 1.3.6.1.4.1.28959.3.255.1.10.0
|
|
- Format: `DH:0 IH:0 LM:0 FL:1 MG:0 SM:0 SC:0 PE:0`
|
|
- DH=Door/Hopper, IH=Input Hopper, FL=Film loaded, etc.
|