LOG Meeting Minutes 2017-08-22
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):
No API changes!
New documentation obligations.
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).