Genesis is an open-source project, created by the Enterprise Architecture Team. His main aim is to provide a simple, flexible system to ping various services, and export all these metrics in a readable format for Prometheus.
The project is a Golang program, running a web server. The server exposes a /metrics
endpoint on port 8080, who shows
all ping time, HTTP status and API results using the GET method.
Cache time and endpoints could be easily configured in the config.json
file.
- Stand-alone / dev :
go mod download && go run ./cmd
- Docker :
docker build --no-cache -t="genesis:latest" . && docker run -d --name="genesis" -p 8080:8080 -v config.json:/app/config.json genesis:latest
genesis_http_request_status{service="website",url="https://be-ys.com/"} 200
genesis_http_request_time{service="website",url="https://be-ys.com/"} 0.091947
genesis_http_request_status{service="website",url="https://www.be-ys.com/ecosysteme-be-ys"} 200
genesis_http_request_time{service="website",url="https://www.be-ys.com/ecosysteme-be-ys"} 0.087947
genesis_http_request_status{service="serviceA",url="https://serviceA.local/"} 200
genesis_http_request_time{service="serviceA",url="https://serviceA.local/"} 0.094947
genesis_http_request_field{service="serviceA",url="https://serviceA.local/health",field="status"} 0
Project released under MIT License.