Implement error handling mechanism with retry logic for failed services. Includes:
- ServiceControl struct to track service state
- HandleErrorProcess function to attempt service restarts
- Integration with monitor to automatically recover services
- Enhanced exception handling with status checks and monitoring restart
Improve exception message formatting by adding XML tags for better parsing and processing downstream. The new format includes explicit tags for exception type, service name, and error message.
- Move command handler to variable for better flexibility
- Add SendMsg function for sending messages through socket
- Fix missing return statements in command execution
- Improve error handling in monitor exception reporting
- Add debug server listen address and port configuration in config.json and config.go
- Update main.go to use debug config values when in debug mode
- Add logging for monitor add/remove commands in commandParse.go
Add functionality to parse and execute commands for adding/removing service monitors and shutting down the watchdog. The ExecuteCommand function now handles "monitor.add", "monitor.remove" and "watchdog.shutdown" commands by interacting with the monitor package and system operations.
Implement a new monitoring system that tracks service status and logs using systemd commands. The monitor includes:
- Periodic status checks via systemctl
- Log analysis via journalctl
- Thread-safe service tracking
- Error detection and reporting
Implement basic watchdog service for Linux systemd with:
- Configuration loading
- Logging system with database support
- WebSocket log broadcasting
- TCP server for agent communication
- Project setup with Go modules