Microservice Patterns | Design Patterns | Distributed Diagnostics


Microservice and Containerization Patterns > Utility Patterns > Distributed Diagnostics
Home > Design Patterns > Distributed Diagnostics

Distributed Diagnostics (Erl, Naserpour)

How can microservice diagnostics data be more efficiently acted upon in response to problem conditions?

Distributed Diagnostics

Problem

Microservices can generate their own service, access and diagnostics logs. These are typically stored in a centralized diagnostics system, which can become bloated and difficult to access efficiently in response to problem conditions indicated in the log data

Solution

A diagnostic collector service is utilized to receive diagnostic data from different microservices and inspect the data before sending it to the persistent centralized diagnostic store. This provides an opportunity for the diagnostic collector service to immediately act upon data indicating problem conditions.

Application

The Pre-Defined Data View pattern can be further applied to provide a specialized view of the specific diagnostics and service log data collected from different microservices.

A diagnostic collector service agent is introduced to intercept diagnostics data before it arrives in the persistent centralized diagnostic system. When data of concern is encountered, the diagnostic collector service has the opportunity to invoke a notification system in order to immediately notify administrators of the concern.

Distributed Diagnostics: The notification service is responsible for raising an alert by sending a message to the support team according to the event or error that occurs, or sending the information to the ticketing system to raise a ticket. 

The notification service is responsible for raising an alert by sending a message to the support team according to the event or error that occurs, or sending the information to the ticketing system to raise a ticket.

This pattern can be applied together with the Pre-Defined Data View pattern, as explained in the complete pattern description.

Module 10: Advanced Microservice Architecture & Containerization.

This pattern is covered in Module 10: Advanced Microservice Architecture & Containerization..

For more information regarding microservice and containerization courses and accreditation,
visit the Microservice Architect Certification program page..