Skip to content

Latest commit

 

History

History
158 lines (128 loc) · 4.05 KB

File metadata and controls

158 lines (128 loc) · 4.05 KB

ISPConfig Zabbix Monitoring - Project Plan

Overview

Development plan for creating a comprehensive monitoring ecosystem for ISPConfig using Zabbix 7.4, including autodiscovery scripts, key readers, and monitoring templates.

Project Phases

Phase 1: Foundation & Infrastructure

Status: In Progress

Deliverables:

  • Project structure setup
  • Composer configuration
  • Composer dependencies
    • Install ispconfig/remote-api-client - Official ISPConfig SOAP API client
    • Configure autoloading for custom classes
  • 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)

Phase 2: Websites Module

Status: Planned

Deliverables:

  • 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

Metrics to Monitor:

  • Website status (active/inactive)
  • HTTP/HTTPS availability
  • SSL certificate expiration
  • Traffic statistics
  • Quota usage
  • PHP version
  • Database connections

Phase 3: Additional Modules

Status: Future

3.1 Mail Module

  • Mail domain autodiscovery
  • Mailbox monitoring
  • Queue status
  • Spam filter metrics

3.2 DNS Module

  • DNS zone monitoring
  • Record validation
  • Zone transfer status

3.3 Database Module

  • Database size monitoring
  • Connection status
  • User quotas
  • Connection status

3.4 System Module

  • Server load metrics
  • Service status
  • Backup monitoring

Phase 4: Testing & Documentation

Status: Future

Deliverables:

  • Unit tests for core libraries
  • Integration tests with ISPConfig API
  • Zabbix template validation
  • Comprehensive user documentation
  • API documentation
  • Troubleshooting guide

Phase 5: Deployment & Maintenance

Status: Future

Deliverables:

  • Automated installation process
  • Update mechanism
  • Backup procedures
  • Version control strategy
  • Release management

Technical Requirements

Dependencies:

  • PHP 7.4 or higher
  • Composer
  • ISPConfig 3.x with API enabled
  • Zabbix 7.4
  • SOAP extension for PHP

Server Requirements:

  • Linux-based system
  • Network access to ISPConfig API
  • Zabbix agent installed

Timeline (Estimated)

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

Success Criteria

  1. Functionality:

    • Successful autodiscovery of ISPConfig resources
    • Accurate metric collection
    • Reliable alerting mechanism
  2. Performance:

    • Minimal impact on ISPConfig server
    • Efficient API calls (caching where appropriate)
    • Fast discovery cycles
  3. Usability:

    • Simple installation process
    • Clear documentation
    • Easy template customization
  4. Maintainability:

    • Clean, documented code
    • Modular architecture
    • Version compatibility tracking

Risk Assessment

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

Notes

  • 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