Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

TODO: fill out the EELF columns

TODO: add junit tests

review: 


Y (review
IDMDCDescriptionRequiredEELF Audit

EELF Metric

EELF Error

EELF Debug


RequestID

(may be renamed TransactionID)

See above.Y




InvocationID

See above.


Y




(move serverFQDN here)






ServiceName

See above.

The service inside the partner doing the call


Y




PartnerName

See above.

ONAP Application Logging Specification v1.2 (Beijing) (the larger component doing the call)

for example SDC-BE instead of just SDC for the overall pods

possibly rename "subComponent" of calling entity

Y



1BeginTimestamp

Date-time that processing activities being logged begins. The value should be represented in UTC and formatted per ISO 8601, such as “2015-06-03T13:21:58+00:00”. The time should be shown with the maximum resolution available to the logging component (e.g., milliseconds, microseconds) by including the appropriate number of decimal digits. For example, when millisecond precision is available, the date-time value would be presented as, as “2015-06-03T13:21:58.340+00:00”.

framework candidate

Y (will be derived)



2EndTimestamp

Date-time that processing for the request or event being logged ends. Formatting rules are the same as for the BeginTimestamp field above.

In the case of a request that merely logs an event and has not done subsequent processing, the EndTimestamp value may equal the BeginTimestamp value.

framework candidate

Y (will be derived)



3ElapsedTime

This field contains the elapsed time to complete processing of an API call or transaction request (e.g., processing of a message that was received). This value should be the difference between. EndTimestamp and BeginTimestamp fields and must be expressed in milliseconds.

Y



4ServiceInstanceID

This field is optional and should only be included if the information is readily available to the logging component.

Transaction requests that create or operate on a particular instance of a service/resource can
identify/reference it via a unique “serviceInstanceID” value. This value can be used as a primary key for
obtaining or updating additional detailed data about that specific service instance from the inventory
(e.g., AAI). In other words:

  • In the case of processing/logging a transaction request for creating a new service instance, the serviceInstanceID value is determined by either a) the MSO client and passed to MSO or b) by MSO itself upon receipt of a such a request.
  • In other cases, the serviceInstanceID value can be used to reference a specific instance of a service as would happen in a “MACD”-type request.
  • ServiceInstanceID is associated with a requestID in log records to facilitate tracing its processing over multiple requests and for a specific service instance. Its value may be left “empty” in subsequent record to the 1 st record where a requestID value is associated with the serviceInstanceID value.

NOTE: AAI won’t have a serviceInstanceUUID for every service instance. For example, no serviceInstanceUUID is available when the request is coming from an application that may import inventory data.






5VirtualServerName

Physical/virtual server/K8S-container name. Optional: empty if determined that its value can be added by the agent that collects the log files collecting.

Upgrade for kubernetes namespace, host affinity

Duplcate of 13 - heat specific






6StatusCode

This field indicates the high level status of the request. It must have the value COMPLETE when the request is successful and ERROR when there is a failure.

Y



7ResponseCode

This field contains application-specific error codes. For consistency, common error categorizations should be used.






8ResponseDescription

This field contains a human readable description of the ResponseCode.





11
9InstanceUUID

If known, this field contains a universally unique identifier used to differentiate between multiple instances of the same (named) log writing service/application. Its value is set at instance creation time (and read by it, e.g., at start/initialization time from the environment). This value should be picked up by the component instance from its configuration file and subsequently used to enable differentiation of log records created by multiple, locally load balanced ONAP component or subcomponent instances that are otherwise identically configured.






10SeverityOptional: 0, 1, 2, 3 see Nagios monitoring/alerting for specifics/details.




11TargetEntity

It contains the name of the ONAP component or sub-component, or external entity, at which the operation activities captured in this metrics log record is invoked.

Y



12TargetServiceNameIt contains the name of the API or operation activities invoked at the TargetEntity.Y



13

Server

This field contains the Virtual Machine (VM) Fully Qualified Domain Name (FQDN) if the server is virtualized. Otherwise, it contains the host name of the logging component.

Upgrade for kubernetes namespace, host affinity

heat specific

N (should be optional)

remove





14ServerIPAddress

This field contains the logging component host server’s IP address if known (e.g. Jetty container’s listening IP address). Otherwise it is empty.

Upgrade for kubernetes namespace, host affinity, nodeport

remove



15

ServerFQDN

(use for k8s cluster)

Unclear, but possibly duplicating one or both of Server and ServerIPAddress.

Upgrade for kubernetes namespace, host affinity

may keep this one - remove all other server fields



16ClientIPAddress

This field contains the requesting remote client application’s IP address if known. Otherwise this field can be empty.

remove



17ProcessKey

This field can be used to capture the flow of a transaction through the system by indicating the components and operations involved in processing. If present, it can be denoted by a comma separated list of components and applications.






18RemoteHostUnknown.




19AlertSeverityUnknown.




20TargetVirtualEntityUnknown




21ClassNameDefunct. Doesn't require an MDC.




22ThreadIDDefunct. Doesn't require an MDC.




23CustomField1(Defunct now that MDCs are serialized as NVPs.(Name Value Pairs)




24CustomField2(Defunct now that MDCs are serialized as NVPs.)




25CustomField3(Defunct now that MDCs are serialized as NVPs.)




26CustomField4(Defunct now that MDCs are serialized as NVPs.)




...