sky-meter is an synthetic endpoint checker. You can deploy this on your infra and run checks from your infa and set alerts. Here we are using the go httptrace library.
Currenly we have addded Database support. The endpoints and http output are now bing saved in Database. We also have a sentry integration to catch the runtime errors.
Development is in progress
GO version: 1.18
Postgres : 15.0
- Ubuntu 22.10
- alpine(docker)
- Macos
We are highly recommending to run th app as docker container. See Docker Hub Image https://hub.docker.com/r/soorajsky/sky-meter
Currenly we have two environment variables.
- sentry_dsn
- PORT
- You can create sentry project and imput the sentry_dsn as env variable.
- You can export the PORT variable to set the http port of the server
To add a URL to minitoring is pertty simple. Create input.json to add your endpoints to monitor. See an example of input.json below
[
{
"url": "https://github.com",
"timeout": 120,
"skip_ssl": false,
"frequency" : 5,
"group": "prod"
},
{
"url": "https://stackoverflow.com",
"timeout": 120,
"skip_ssl": false,
"frequency" : 30,
"group": "prod"
}
]
url : url to monitor (string)
timeout : Timeout of request in Millisecond (int)
skip_ssl : set flase if you want to skip the ssl verification (bool)
frequency : frequency of health check in secont (int)
group : Add group properties (string)
Clone the code
$ git clone https://github.com/sooraj-sky/sky-meter.git
$ cd sky-meter
Run the postgres docker container
$ docker-compose up -d
Added Env Option: You can enable sentry by adding
Export sentry dsn
$ export mode="dev"
$ export sentry_dsn="<yourDsnHere>"
Export the port
$ export PORT=8080
Run the project
$ go run cmd/main.go
we are sing concourse CI for Main Branch
For release branch we have Github Actions
install : https://concourse-ci.org/install.html