Minutes:
- Filebeat deployment:
- OOM deployment is proceeding with one Filebeat container per pod or (as a daemonset) per container.
- Logs are initially being written to non-persistent volumes, making them vulnerable to loss. This is a provisional configuration only.
- Both were decisions by the architects for the implementation teams.
- Impact of Zipkin:
- Confirmed to require in-container probes (→ ONAP-wide classpath changes), collector agents.
- That's seen as prohibitive. Will proceed with REST and MDC conventions for now.
- Tracing:
- Continue to improve transactionID propagation.
- Limitations of X-FromAppID.
- Intention is to identify and disambiguate invocations between components.
- Suggestion (as per diagram attached to last week's minutes):
- Generate an invocationID per service call, logged as MDC.
- Pass invocationID in REST invocations as per transactionID.
- Use Markers to:
- Report relationship between caller invocationID and invoked invocationID.
- Report return and/or exit.
- (Possibly other stuff like async execution).
- What this achieves:
- Minimal impact; conventions, but no API changes.
- All of the above is captured in the Elastic Stack index, allowing an invocation graph to be construction.
- Question (Horace Ji):
- Does a suitable MDC already exist?
- Usage is inconsistent, so I think we all agreed it's risky, and probably saves to invent something new.
- (With MDCs logged as name-value pairs, there's no great cost to defining a new MDC).
- Suggestion (Dave Williamson):
- Record relationship between caller and invoked elements at the caller end.
- Then:
- The invoking component issues an invocationID during invocation. (And records nothing new).
- The invoked component just sets the invocationID MDC wherever it presently sets the transactionID MDC.
- Suggestions (Lee Breslau):
- Use EELF audit log to record entry.
- Use EELF metric log to record exit.
- Logging wrappers/abstractions between the application and EELF. (Which we missed, sorry).
Actions:
- Update on Filebeat deployment (Luke Parker)
- M3 (API freeze) debrief (Luke Parker).
- Logging abstractions (Dave Williamson).
- Draft updated logging guide. (Luke Parker).
- Continue discussion of tracing options:
- Suggestions above.
- Persisting invocationID and transactionID in cases like where execution may be deferred (e.g. BPMN).
- (I think this supports Dave's suggestion).