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.<ROOT-DOMAIN>/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: * Scripting ("script") - Scripting generated entry by a Lua "print(..)" or "log.xxx(..)" statement. * Service call ("call") - Service operation call information. * Event trigger ("event") - Log related to event triggering routing. * Configuration ("config") - Occurs when the Murano solution is updated. * Service specific ("service") - Log generated by Service configured for the Solution.
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 {
"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
}
}