Visualize Microservices With the Microservices Dashboard App
Microservices Dashboard is a simple application to visualize links between microservices and the encompassing ecosystem. This AngularJS application consumes endpoints exposed by microservices-dashboard-server. It displays four columns: UI, Resources, Microservices, and Backends. Each of these columns shows nodes and links between them. The information for these links come from Spring Boot Actuator health endpoints, pact consumer-driven-contract-tests, and hypermedia indexes, which are aggregated in the microservices-dashboard-server project. The dashboard on its own doesn’t really make a lot of sense when it’s not connected to the architecture it’s supposed to visualize. Aggregators pull in information, which eventually gets translated into nodes and links on the dashboard.
Why We Need Microservices Dashboard
- To see which resources are exposed by what microservices.
- Services are impacted when a component has to change.
- To provide an easy access point for documentation.
- To see what version of the components is deployed.
- To get a sense of compliance and maturity of the components.
How to Set Up and Execute Microservices Dashboard
Add the microservices-dashboard-server as a dependency to your new Spring Boot’s dependencies:
pom.xml
<dependency>
<groupId>be.ordina</groupId>
<artifactId>microservices-dashboard-server</artifactId>
<version>1.0.1</version>
</dependency>
Pull in the Microservices Dashboard Server configuration by adding @EnableMicroservicesDashboardServer
to your configuration:
@SpringBootApplication
@EnableMicroservicesDashboardServer
public class MicroservicesDashboardServerApplication {
public static void main(String[] args) {
SpringApplication.run(Application.class, args);
}
}
Execute the application using mvn spring-boot:run
You should be able to check the dashboard on http://localhost:8080.
You can simply use the default aggregators and configure your ecosystem as we have intended it to be configured, or you can extend or override them.
Currently, four aggregators are provided out-of-the-box:
- Health aggregator (requires service discovery)
- Index aggregator (requires service discovery)
- Mappings aggregator (requires service discovery)
- Pact aggregator (requires pact broker)