Squzy - opensource monitoring system
About
Squzy - is a high-performance open-source monitoring system written in Golang with Bazel and love.
System Health Checks Capabilities
- HTTP/HTTPS
- TCP
- GRPC - https://github.com/grpc/grpc/blob/master/doc/health-checking.md
- SiteMap.xml - https://www.sitemaps.org/protocol.html
Usage
API
Squzy server implement GRPC API.
https://github.com/squzy/squzy_proto/blob/master/proto/v1/server.proto
Examples of call from BloomRPC
Http/Https check:
Usually that check used for monitoring web sites
{
"interval": 10, - 10 second interval
"http_check": {
"method": "GET", - method GET/POST/PUT/DELETE/HEAD
"url": "https://google.com", - url which should call
"headers": {
"custom": "yes",
},
"statusCode": 200 - expected statusCode
}
}
Tcp check:
Check good use for monitoring open ports or not
{
"interval": 10, - 10 second interval
"tcp_check": {
"host": "localhost", - host
"port": 6345 - port
},
}
SiteMap check:
Supports redirects!
Every route should return 200
That check good usage when you have critical URL in sitemap, if any of URL throw error check will be failed
{
"interval": 10,
"sitemap_check": {
"url": "https://www.sitemaps.org/sitemap.xml", - url of sitemap (https://www.sitemaps.org/sitemap.xml)
"concurrency": 5 - parallel 5 request
},
}
GRPC check:
Check better to use for internal testing of API services
{
"interval": 10,
"grpc_check": {
"service": "Check", - service name
"host": "localhost", - host
"port": 9090 - port
},
}
Storage
By default squzy use stdout for logs, but can be configured by ENV.
Storage should implement that API:
https://github.com/squzy/squzy_proto/blob/master/proto/v1/storage.proto
Environment variables
- PORT(8080) - on with port run squzy
- STORAGE_HOST - log storage host(example localhost:9090)
- STORAGE_TIMEOUT - timeout for connect to log storage
Docker
For current develop branch use tag: latest
Docker Hub
docker pull squzy/squzy_app:v1.1.8
Run locally with docker:
docker run -p 8080:8080 squzy/squzy_app:v1.1.8
Authors
Want to help?
Want to file a bug, contribute some code, or improve documentation? Excellent!
Add merge request with description.