Odin is a microservice-based HTTP monitor designed for distributed environments with built-in Kubernetes support. It performs health checks on specified endpoints in a CRON job format and integrates with popular cloud-native tools such as Grafana, Prometheus, and Helm for enhanced monitoring and scalability.
- Health Checks: Automatically checks the health of HTTP endpoints at specified intervals.
- Microservice Architecture: Designed to work seamlessly in distributed environments.
- Kubernetes Support: Full compatibility with Kubernetes for deployment and scaling.
- CRON Job Format: Schedule health checks using CRON expressions for flexibility.
- Integration with Monitoring Tools: Supports Grafana and Prometheus for monitoring and visualization.
- Horizontal Pod Autoscaling: Automatically scales the application based on demand.
- Docker (for containerization)
- Kubernetes (for deployment)
- Helm (for package management in Kubernetes)
- Prometheus (for monitoring)
- Grafana (for visualization)
-
Clone the repository:
git clone https://github.com/Manni-MinM/odin.git cd odin -
Build the Docker image:
docker build -t odin . -
Deploy to Kubernetes using Helm:
helm install odin ./charts/odin
You can configure the health checks and other settings by editing the configuration files in the config directory.
Once deployed, Odin will automatically start performing health checks on the specified endpoints. You can monitor the results using Grafana and Prometheus.
Contributions are welcome! Please feel free to submit a pull request or open an issue for any enhancements or bug reports.
This project is licensed under the MIT License. See the LICENSE file for details.