Skip to content

Genesis allows you to ping a set of web endpoints to verify their status. These variables are exported so that they can be read by Prometheus, and thus be easily integrated into Grafana.

License

Notifications You must be signed in to change notification settings

florian-forestier/Genesis

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

16 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Genesis

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.

How does it work?

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.

How to execute it?

  • 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

Example of data

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

License

Project released under MIT License.

About

Genesis allows you to ping a set of web endpoints to verify their status. These variables are exported so that they can be read by Prometheus, and thus be easily integrated into Grafana.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Go 94.5%
  • Dockerfile 5.5%