Skip to content
Squzy - is a high-performance open-source monitoring system written in Golang with Bazel and love.
Go Starlark Shell Makefile
Branch: develop
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.circleci feat(grpc): add health checks and tests (#2) Nov 17, 2019
.github feat(docker): add release latest Jan 24, 2020
apps tests(schedulerStorage): add test when we cant stop Feb 7, 2020
scripts fix(release) Jan 23, 2020
.bazelrc Bazel docker (#4) Nov 18, 2019
.codecov.yml
.gitignore feat(release): add ci for release Dec 13, 2019
BUILD feat(bazel): init bazel Nov 3, 2019
CODE_OF_CONDUCT.md Create CODE_OF_CONDUCT.md Dec 1, 2019
LICENSE
Makefile fix(sitemap + agent) Jan 22, 2020
README.md docs(readme): add deploy latest Jan 24, 2020
WORKSPACE fix(sitemap + agent) Jan 22, 2020
build.bash
go.mod fix(sitemap + agent) Jan 22, 2020
go.sum fix(sitemap + agent) Jan 22, 2020

README.md

Squzy - opensource monitoring system

version codecov GolangCI Join the chat at https://gitter.im/squzyio/community

About

Squzy - is a high-performance open-source monitoring system written in Golang with Bazel and love.

System Health Checks Capabilities

  1. HTTP/HTTPS
  2. TCP
  3. GRPC - https://github.com/grpc/grpc/blob/master/doc/health-checking.md
  4. 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.

You can’t perform that action at this time.