🚀 Major Release: Comprehensive JSON & XML Monitoring
This release represents a significant evolution from the original XML-only monitoring plugin to a comprehensive dual-format solution supporting both JSON and XML endpoints.
✨ New Features
Dual Format Support
- 🆕 JSON Support: Full JSONPath query support for REST APIs and JSON endpoints
- 🔄 XML Support: Enhanced XPath functionality with improved processing
- 🎯 Unified Interface: Single plugin handles both JSON and XML with automatic format detection
Enhanced Monitoring Capabilities
- 📝 String Pattern Matching: Regex-based string validation with case sensitivity controls
- 🔗 Host Header Support: Custom Host headers for reverse proxy and load balancer scenarios
- 📊 Performance Data: Automatic generation for numeric values with configurable thresholds
- 🎛️ Flexible Parameters: Enhanced command-line interface with intuitive parameter structure
Developer & Operations Experience
- 🧪 Comprehensive Test Suite: 19+ test cases covering unit, integration, and performance scenarios
- 📚 Complete Documentation: Detailed examples, Icinga2 configurations, and troubleshooting guides
- 🛠️ Debug Mode: Enhanced debugging for exploring data structures and query paths
- ⚡ Performance Optimized: Efficient processing for high-frequency monitoring
⚠️ Breaking Changes & Migration
NOT Backward Compatible - Parameter syntax has changed and migration is required:
# OLD syntax (check_http_xml.pl):
check_http_xml.pl -H host -p /path --xpath "//inet/state" --threshold "1:2"
# NEW syntax (check_http_data.pl):
check_http_data.pl -H host -p /path --query "//inet/state" --limit "1:2" --type xml