Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/rizasghari/sagmi
API Health Checker Service
https://github.com/rizasghari/sagmi
Last synced: about 6 hours ago
JSON representation
API Health Checker Service
- Host: GitHub
- URL: https://github.com/rizasghari/sagmi
- Owner: rizasghari
- License: other
- Created: 2024-06-08T19:24:04.000Z (5 months ago)
- Default Branch: main
- Last Pushed: 2024-06-10T09:46:36.000Z (5 months ago)
- Last Synced: 2024-06-10T11:35:52.386Z (5 months ago)
- Language: Go
- Homepage:
- Size: 22.6 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: Readme.md
- License: LICENSE
Awesome Lists containing this project
README
# SagMi | API Health Checker
SagMi is a service that monitors the health of multiple API endpoints and provides visualization and notification capabilities for users. It is developed using the following tech stack:
- Backend: Golang
- Web Server: Gin
- Frontend: htmx
- Database: SQLite
- Containerization: Docker
- Configuration: TOML## Features
- Background service to automatically check the health of API endpoints and save the logs in the database.
- Capability to print logs in the console.
- Sending Slack messages and email using Mailgun.
- Web UI for monitoring the health status of endpoints visually.
- Subscribing new endpoints, deleting/editing existing ones, and unsubscribing endpoints.
- CLI manual endpoint health check.## Installation
To install and run the API Health Checker service, follow these steps:
1. Clone the repository: `git clone https://github.com/your-username/api-health-checker.git`
2. Build the Docker image: `docker build -t api-health-checker .`
3. Create a `config.toml` file with the necessary configuration options.
4. Run the Docker container: `docker run -d -v /path/to/config.toml:/app/config.toml --name api-health-checker api-health-checker`## Configuration
The API Health Checker service uses a `config.toml` file for configuration. The available options are:
- `slack_webhook_url`: The URL of the Slack webhook for sending messages.
- `mailgun_api_key`: The API key for Mailgun.
- `mailgun_domain`: The Mailgun domain.
- `mailgun_sender`: The email address of the sender.
- `mailgun_recipient`: The email address of the recipient.## Contributing
Contributions are welcome! If you find any issues or have suggestions for improvements, please open an issue or submit a pull request.
## License
This project is licensed under the [MIT License](LICENSE).