Solution Debug logs

Murano provides different debugging tools which includes Solution debug logging allowing user to track events and errors occurring in a Murano solution.

The Murano user-interface or client tool provides real-time logs information described in details in this document.

Log Format

Logs are provided in a standardized JSON and follow the following structure. Examples available in next chapter.

Fields common to all logs

Field Name Type Example Description
severity ENUM(
0, # Emergency: system is unusable,
1, # Alert: action must be taken immediately,
2, # Critical: critical conditions,
3, # Error: error conditions,
4, # Warning: warning conditions,
5, # Notice: normal but significant condition,
6, # Informational: informational messages,
7, # Debug: debug-level messages )
0 Severity of the log entry as defined by rsyslog standard.
type ENUM(
"script",
"call",
"event",
"config",
"service")
"script" The type of the log entry as defined in next chapter.
"script" - User Lua "print()" function call
"call" - On service calls from Lua.
"event" - On event trigger from services
"config" - On solution configuration change or used service deprecation warning.
"service" - Services generated & transmitted to Dispatcher.
message string "Request
URL:https://someapp.apps.exosite.io/notifications-miniview
Request Method:GET
Status Code:200 OK
Remote Address:45.56.95.64:443"
Plain text field describing the log entry event.
service string "webservice" The service via which the event name is coming or the service of which the function is called.
event string "request" Depending on the type:
- Event, Script => The event name
- Call => The operation name
timestamp integer 1474489282537 Timestamp in milliseconds
tracking_id string Ex. UUID Tracking id following a Murano execution including: the event trigger, script execution and service calls.
data JSON {"custom data": ..} Type specific data

Different Type of Logs

The following type of logs are available:

Type specific information described in this chapter are provided under the "data" field.

Field Name Type Example Description Log Types
request any {} The content of the request call call, event
response any {} The content of the response call, event
code integer 404 HTTP Status Code results call, event, [config], [service]
elapsed integer 1230 Elapsed time in milliseconds.
Depending on the type.
- Event: Trigger duration
- Script: Processing duration so far
- Webservice: Request duration
event, script, call, service(webservice)
module string utils The affected lua module or eventhandler
This field only support direct query matching and doesn't support special operators!
[script], [config]
section string (<method>:<path>) get_/api/v1/users If available script section within the module or eventhandler. Example: Webservice endpoint.
This field only support direct query matching and doesn't support special operators!
script
location string module/md5:512 Indicates module or eventhandler followed by sub-section and relative line number to the log emitter.
This field cannot be queried!
script

Examples

Script

Lua 'print("abc")' or 'log.info("abc")'

{
  "type": "script",
  "timestamp": 1474489282537,
  "severity": 6, // info
  "message": "abc",
  "tracking_id": "<UUID>",
  "service": "webservice",
  "event": "request",
  "data": { // Type specific
    "section": "get_/index",
    "module": "webservice_request",
    "location": "event/webservice_request:195 get_/index:123",
    "elapsed": 10
  }
}

Service Call

Keystore.get({key="abc"}) call failed.

{
  "type": "call",
  "timestamp": 1474489282537,
  "severity": 3, // error
  "message": "Service Call failed with error: timeout",
  "tracking_id": "<UUID>",
  "service": "keystore",
  "event": "get", // The operation id
  "data": { // Type specific
    "request": {..},
    "response": {..},
    "code": 504
   }
}

Service Event triggered

Timer timer event trigger failed.

{
  "type": "event",
  "timestamp": 1474489282537,
  "severity": 3, // error
  "message": "Event trigger failed with: event handler not found",
  "tracking_id": "<UUID>",
  "service": "timer",
  "event": "timer",
  "data": { // Type specific
    "request": <incoming payload>,
    "response": <lua response payload>,
    "code": 404
  }
}

Config

A <Eventhandler|Serviceconfig|Module|route> had been added to the solution.

{
  "severity": 5,
  "timestamp": 1513159931988,
  "type": "config",
  "service": <service>,
  "event": <event>,
  "tracking_id": <tracking_id>,
  "message": "<Eventhandler|Serviceconfig|Module|Route> <name> added to Solution.",
  "data": {
    "id": "62cbcb50-0a4e-11e8-878e-1fdda701bd48",
    "name": <name>,
    "script_key": <script_key> //only for Serviceconfig
  }
}