This is a PoC application, which demonstrates Microservice Architecture Pattern using Spring Cloud, Netflix OSS, Consul, ELK, Docker and monitoring solution.
- Spring Cloud
- Consul
- Netflix OSS
- Feign
- Sleuth
- Zipkin
- ELK Stack
- Monitoring
- Install Docker and Docker Compose.
git clone https://github.com/pradyb/microservicescd microservicesmvnw clean package -DskipTestsdocker-compose up --build -dcd devops-monitoringdocker-compose up --build -d
mvn testThis test invokes various APIs via Gateway service and the results can be monitor using below URLs.
docker-compose scale userservice=2
| Containers | Use | URL |
|---|---|---|
| Consul | Service Discovery and Configuration | http://localhost:8500/ui |
| Kibana | Log Visualize | http://localhost:5601 |
| Zipkin | Distributed Tracing system | http://localhost:9411 |
| Hystrix & Turbine | Aggregating streams of Server-Sent Event (SSE) | http://localhost:8080/hystrix/ |
| Prometheus | Application Metrics Database | http://localhost:9090/graph |
| Grafana | Metrics Visualize | http://localhost:3000 |
| RabbitMQ | Message Broker | http://localhost:15672 |
- Grafana: Login with user name admin and password changeme.
- Kibana: URL to view logs with basic columns.
http://localhost:5601/app/kibana#/discover?_g=(refreshInterval:('$$hashKey':'object:999',display:'5%20seconds',pause:!f,section:1,value:5000),time:(from:now%2Fd,mode:quick,to:now%2Fd))&_a=(columns:!(host,level,appname,logger_name,message,X-B3-ParentSpanId,X-B3-TraceId,thread_name),index:'logstash-*',interval:auto,query:(query_string:(analyze_wildcard:!t,query:'*')),sort:!('@timestamp',desc),uiState:(spy:(mode:(fill:!f,name:!n)),vis:(legendOpen:!f)))
Grafana Dashboard
Thanks to Stefan Prodan for providing a great setup for monitoring Docker containers Stefan Prodan Blog.
- OAuth for Client services.




