- Make use of the API Gateway pattern to facilitate the consumption of observability data by interested (or external) parties;
- Offer an easy to use observability system for microservices based on containers that encompasses the main observability concerns like logs and metrics.
Right now, the gateway image must be manually built before using docker-compose. That can be accomplished by running the following commands:
# clone the gateway repository
git clone https://github.com/microobs/gateway
cd gateway
# build the image
sudo docker build -t api_gateway .
After that, the microobs repository should be clonned where the docker-compose up
can be issued to run the services.
git clone https://github.com/microobs/microobs
cd microobs
ADMIN_USER=admin ADMIN_PASSWORD=admin docker-compose up -d
The API Gateway listens at the Port 8081
by default.
The API Gateway uses the module node-config to load its settings like the url of the observability services. Those settings are load from a JSON file called default.json located at the /config folder. To facilitate the load of custom settings, the folder gateway-config has a JSON (same name and with the same settings as the one in the API gateway image) that can be used to do so. After editing, one just need to uncomment the volume section in the docker-compose.yml file under the gateway service section.
The project helped the creation of the open source JS module Prom-GraphQL that as long as we know it's the first GraphQL wrapper on the Prometheus REST API.
This project uses as a base the dockprom repository. Also, the Grafana dashboard for Elasticsearch is used (with minor modification) as well.
MicroObs is available under the MIT license. See the LICENSE file for more info.