A sophisticated, browser-based printer supply monitoring portal that performs SNMP walks to printers to obtain toner levels and displays them in a colorful, detailed dashboard with real-time alerts.
- SNMP Integration: Full SNMP v1/v2c support for printer communication
- Multi-Manufacturer Support: Pre-configured OIDs for HP, Canon, Epson, Brother, Lexmark, Xerox, and Generic printers
- Real-time Scanning: Automatic and manual printer scanning capabilities
- Supply Tracking: Monitor toner levels, cartridge status, and printer health
- Colorful Interface: Modern gradient design with glassmorphism effects
- Real-time Statistics: Live counters for total printers, low supplies, critical supplies, and healthy supplies
- Interactive Cards: Hover effects and smooth animations
- Responsive Design: Works perfectly on desktop, tablet, and mobile devices
- Threshold-based Alerts: Configurable warning and critical thresholds
- Multiple Alert Types: Critical, warning, and error notifications
- Alert Management: Acknowledge, clear, and track alert history
- Visual Indicators: Color-coded status bars and alert badges
- OID Configuration: Easy selection of printer models with pre-configured OIDs
- Alert Thresholds: Customizable low and critical supply percentages
- Scan Intervals: Configurable automatic scanning frequency
- SNMP Settings: Adjustable timeout and community string settings
- Export/Import: Save and load complete configurations
- Local Storage: All data persisted in browser localStorage
- No External Dependencies: Self-contained application
- GitHub Ready: All files stored and executed from GitHub
- Modern web browser (Chrome, Firefox, Safari, Edge)
- Network access to printer IP addresses
- SNMP enabled on target printers
- Clone or Download the repository to your local machine
- Open
index.htmlin your web browser - Start Monitoring by adding your first printer
-
Add Printers: Click "Add Printer" and enter:
- Printer Name
- IP Address
- SNMP Community (usually "public")
- Printer Model (select from dropdown)
-
Configure Settings: Go to Settings tab to adjust:
- Alert thresholds (default: 20% low, 10% critical)
- Scan interval (default: 5 minutes)
- SNMP timeout (default: 3 seconds)
-
Start Scanning: Click "Scan Printers" to begin monitoring
- OIDs: Standard HP MIB + HP-specific enterprise OIDs
- Supplies: Black, Cyan, Magenta, Yellow toner levels
- Features: HP LaserJet, OfficeJet, and Color LaserJet series
- OIDs: Canon enterprise MIB + standard printer MIB
- Supplies: Toner levels, drum units, waste toner
- Features: ImageRunner, imageCLASS, and PIXMA series
- OIDs: Epson enterprise MIB + standard printer MIB
- Supplies: Ink levels, maintenance boxes
- Features: WorkForce, Expression, and EcoTank series
- OIDs: Brother enterprise MIB + standard printer MIB
- Supplies: Toner levels, drum units
- Features: HL, MFC, and DCP series
- OIDs: Lexmark enterprise MIB + standard printer MIB
- Supplies: Toner levels, imaging units
- Features: Optra, T, and X series
- OIDs: Xerox enterprise MIB + standard printer MIB
- Supplies: Toner levels, drum units, waste toner
- Features: WorkCentre, Phaser, and ColorQube series
- OIDs: Standard printer MIB (RFC 3805)
- Supplies: Basic toner/ink level monitoring
- Features: Compatible with most SNMP-enabled printers
System Name: 1.3.6.1.2.1.25.3.2.1.3.1
System Description: 1.3.6.1.2.1.1.1.0
Printer Status: 1.3.6.1.2.1.25.3.5.1.1.1
Black Toner Level: 1.3.6.1.2.1.43.10.2.1.4.1.1
Black Toner Max: 1.3.6.1.2.1.43.10.2.1.5.1.1
Cyan Toner Level: 1.3.6.1.2.1.43.10.2.1.4.1.2
Cyan Toner Max: 1.3.6.1.2.1.43.10.2.1.5.1.2
Magenta Toner Level: 1.3.6.1.2.1.43.10.2.1.4.1.3
Magenta Toner Max: 1.3.6.1.2.1.43.10.2.1.5.1.3
Yellow Toner Level: 1.3.6.1.2.1.43.10.2.1.4.1.4
Yellow Toner Max: 1.3.6.1.2.1.43.10.2.1.5.1.4
Each manufacturer has additional enterprise-specific OIDs for enhanced monitoring capabilities. These are automatically configured when selecting the appropriate printer model.
- Overview: View all printers at a glance with supply levels
- Statistics: Monitor total printers, low supplies, critical supplies, and healthy supplies
- Real-time Updates: Automatic refresh with last scan timestamps
- Quick Actions: Scan all printers with one click
- Add Printers: Simple form to add new printers
- Edit Settings: Modify printer configurations
- Remove Printers: Delete printers from monitoring
- Individual Scanning: Scan specific printers on demand
- Alert Types: Critical (red), Warning (yellow), Error (red)
- Alert Management: Acknowledge alerts to mark as resolved
- Alert History: View all historical alerts
- Clear All: Bulk clear all alerts
- Alert Thresholds: Set low and critical supply percentages
- Scan Configuration: Adjust scan intervals and timeouts
- OID Configuration: View and modify OID mappings
- Export/Import: Backup and restore configurations
- Community Strings: Use strong community strings (not "public" in production)
- Network Security: Ensure SNMP traffic is properly secured
- Access Control: Limit SNMP access to monitoring systems only
- Local Storage: All data is stored locally in the browser
- No External Calls: Application doesn't make external API calls
- HTTPS Recommended: Use HTTPS when hosting on a web server
- Frontend Only: Pure HTML, CSS, and JavaScript
- No Backend Required: All processing done in the browser
- SNMP Simulation: Demo mode with simulated SNMP responses
- Local Storage: Data persistence using browser localStorage
- Chrome: 80+
- Firefox: 75+
- Safari: 13+
- Edge: 80+
Printlert/
βββ index.html # Main application file
βββ styles.css # Sophisticated styling
βββ app.js # Core application logic
βββ README.md # This documentation
- Upload all files to a GitHub repository
- Enable GitHub Pages in repository settings
- Access via
https://username.github.io/repository-name
- Install a local web server (Apache, Nginx, or Python)
- Place files in web server directory
- Access via
http://localhost
- Upload files to your web server
- Configure HTTPS for security
- Set up proper network access to printers
- Edit
app.jsfile - Add new model to
getOIDConfigurations()function - Include appropriate OIDs for the new model
- Update HTML select options
- Go to Settings tab
- Adjust Low Supply and Critical Supply percentages
- Save settings to apply changes
- Select "Generic" printer model
- Manually configure OIDs in settings
- Test with your specific printer
- Check printer IP address
- Verify SNMP is enabled on printer
- Confirm community string is correct
- Test network connectivity
- Verify printer model selection
- Check OID configuration
- Test SNMP walk manually
- Update to manufacturer-specific OIDs
- Check alert threshold settings
- Verify supply percentage calculations
- Test alert system manually
- Review browser console for errors
Enable browser developer tools to view:
- SNMP request/response logs
- JavaScript error messages
- Network connectivity issues
- Local storage data
- Email Alerts: Send email notifications for critical supplies
- SMS Notifications: Text message alerts for urgent issues
- Historical Data: Track supply usage over time
- Reports: Generate supply usage reports
- Multi-user Support: User authentication and roles
- API Integration: REST API for external systems
- New Printer Models: Add support for additional manufacturers
- Enhanced OIDs: Improve OID coverage for existing models
- UI Improvements: Suggest interface enhancements
- Bug Reports: Report issues and suggest fixes
This project is licensed under the MIT License - see the LICENSE file for details.
- Fork the repository
- Create a feature branch
- Make your changes
- Test thoroughly
- Submit a pull request
For support and questions:
- Issues: Create an issue on GitHub
- Documentation: Check this README file
- Community: Join discussions in GitHub discussions
- SNMP Community: For maintaining SNMP standards
- Printer Manufacturers: For providing SNMP MIBs
- Open Source Community: For inspiration and tools
- Font Awesome: For the beautiful icons
- Google Fonts: For the Inter font family
Printlert - Making printer management beautiful and efficient! π¨οΈβ¨