Development plan for creating a comprehensive monitoring ecosystem for ISPConfig using Zabbix 7.4, including autodiscovery scripts, key readers, and monitoring templates.
Status: In Progress
- Project structure setup
- Composer configuration
- Composer dependencies
- Install
ispconfig/remote-api-client- Official ISPConfig SOAP API client - Configure autoloading for custom classes
- Install
- Core library development
- ISPConfigClient.php - Wrapper around official ispconfig/remote-api-client library
- ZabbixHelper.php - Helper functions for Zabbix data formatting
- Configuration management
- config.example.php template
- Secure credential handling
- Installation script (install.sh)
Status: Planned
- Autodiscovery script (websites.php)
- Discover all active websites
- Format output for Zabbix LLD (Low-Level Discovery)
- Key reader script (websites.php)
- Website status monitoring
- Domain information
- SSL certificate status
- Traffic metrics
- Zabbix template (template_ispconfig_websites.yaml)
- Discovery rules
- Item prototypes
- Trigger prototypes
- Graph prototypes
- Website status (active/inactive)
- HTTP/HTTPS availability
- SSL certificate expiration
- Traffic statistics
- Quota usage
- PHP version
- Database connections
Status: Future
- Mail domain autodiscovery
- Mailbox monitoring
- Queue status
- Spam filter metrics
- DNS zone monitoring
- Record validation
- Zone transfer status
- Database size monitoring
- Connection status
- User quotas
- Connection status
- Server load metrics
- Service status
- Backup monitoring
Status: Future
- Unit tests for core libraries
- Integration tests with ISPConfig API
- Zabbix template validation
- Comprehensive user documentation
- API documentation
- Troubleshooting guide
Status: Future
- Automated installation process
- Update mechanism
- Backup procedures
- Version control strategy
- Release management
- PHP 7.4 or higher
- Composer
- ISPConfig 3.x with API enabled
- Zabbix 7.4
- SOAP extension for PHP
- Linux-based system
- Network access to ISPConfig API
- Zabbix agent installed
| Phase | Duration | Target Completion |
|---|---|---|
| Phase 1 | 2 weeks | TBD |
| Phase 2 | 3 weeks | TBD |
| Phase 3 | 6-8 weeks | TBD |
| Phase 4 | 2 weeks | TBD |
| Phase 5 | Ongoing | TBD |
-
Functionality:
- Successful autodiscovery of ISPConfig resources
- Accurate metric collection
- Reliable alerting mechanism
-
Performance:
- Minimal impact on ISPConfig server
- Efficient API calls (caching where appropriate)
- Fast discovery cycles
-
Usability:
- Simple installation process
- Clear documentation
- Easy template customization
-
Maintainability:
- Clean, documented code
- Modular architecture
- Version compatibility tracking
| Risk | Impact | Mitigation |
|---|---|---|
| ISPConfig API changes | High | Version-specific branches, compatibility layer |
| Performance overhead | Medium | Implement caching, optimize API calls |
| Security concerns | High | Secure credential storage, encrypted communication |
| Zabbix compatibility | Medium | Test with multiple Zabbix versions |
- Focus on websites module first as proof of concept
- Ensure scalability for large ISPConfig installations
- Consider multi-server ISPConfig setups
- Plan for future ISPConfig API changes