One status dashboard to rule them all, those lousy microservices. Are they green yet?
Greenyet polls all your services for status information and gives a traffic light overview on the application health.
greenyet is written in Clojure. Give it a try if you haven't yet.
$ CONFIG_DIR=example/simple ./lein ring server
$ ./example/simple/run_mock_service.sh
Don't want to go that far? We got you covered! Try the production release standalone JAR (run via java -jar greenyet-*-standalone.jar
).
Config as YAML (remember JSON is a subset):
Status URL config status_url.yaml
---
- system: SimpleSystem
url: http://%hostname%:8080/
- system: SystemWithStatusJson
url: http://%hostname%:8080/status.json
color: "status"
- system: SystemWithComplexStatusJson
url: http://%hostname%:8080/complex_status.json
package-version: "packageNameWithVersion"
message: "readableStatus"
color:
json-path: $.statuses[0].color # query as implemented by https://github.com/gga/json-path
green-value: "healthy"
yellow-value: "warning"
- system: SystemWithComponents
url: http://%hostname%:8080/status_with_components.json
color: "status"
components:
json-path: $.subSystems
color: "status"
name: "name"
message: "description"
Host list hosts.yaml
---
- hostname: 192.168.0.10
environment: DEV
system: SimpleSystem
- hostname: 192.168.10.42
environment: PROD
system: SimpleSystem
But read the full description here.
# Back-end unit tests
$ ./lein test
# UI unit tests, later `open http://localhost:3000/styleguide.html`
$ CONFIG_DIR=example/simple lein ring server-headless