Standardize Logging, Monitoring, and Tracing
Context
Microservices are being adopted. There are multiple microservices with their own logging and monitoring each.
Problem
- The diverse logging, monitoring, and tracing across the system don't allow central aggregation
Solution
Standardize logging, monitoring and tracing across microservices. This technique is a topic-related specialization of general standardization in microservice-based systems.
At a bare minimum, agree on a common format for logging, monitoring, and tracing information to allow parsing them into structured information. Further, consider standardizing how the information is accessible across microservices to streamline log and monitor metric aggregation.
Maturity
Proposed, to be evaluated.
Sources of Evidence
L16:
- Standardize logging format and timestamps
- helps to aggregated individual logs
- not suitable for IoT since ont all services under control
- should emphasize use of common logging format
- example
- internationalized time stamps
L31:
- Context: aggregation of monitoring
- monitoring information should be parsed and aggregated into structured information
L41:
- Lambda provides standard formatting methods for logs and health checks
L46:
- Context: enterprise monitoring
- all emitters have to standardize events, e.g. operaitonal log events, metrics
- in order to collect them in a central collection
Interview A:
- Next standard is logging to std out in JSON format
- so that it can be collected and parsed
- and make available in Kibana as interface
Interview B:
- Which tracing formats and infrastructure used => part of macro decisions
- How tracing is done within services (which library) is in the services responsibility
Interview F:
- Context: Standardization about monitoring/logging?
- interviewee doesn't know, assumes there were requirements by the customer