Start and stop recording (REST)
To start a recording event:
-
Send an HTTP POST request to the
/json/records
endpoint with the_action=start
parameter. -
Specify a JSON payload identical in format to the input file for the
ssoadm start-recording
command.For details of the file contents, and an example file, refer to Capture troubleshooting information.
You must authenticate to AM as an administrative user to obtain an SSO token
prior to calling the /json/records
REST endpoint.
You then pass the SSO token in the iPlanetDirectoryPro
header as proof of authentication.
$ curl \
--request POST \
--header "Content-Type: application/json" \
--header "iPlanetDirectoryPro: AQIC5…" \
--header "Accept-API-Version: resource=1.0" \
--data ' {
"issueID": 103572,
"referenceID": "policyEvalFails",
"description": "Troubleshooting artifacts in support of case 103572",
"zipEnable": true,
"configExport": {
"enable": true,
"password": "5x2RR70",
"sharePassword": false
},
"debugLogs": {
"debugLevel": "MESSAGE",
"autoStop": {
"time": {
"timeUnit": "SECONDS",
"value": 15
},
"fileSize": {
"sizeUnit": "GB",
"value": 1
}
}
},
"threadDump" : {
"enable": true,
"delay" : {
"timeUnit": "SECONDS",
"value": 5
}
}
}' \
https://am.example.com:8443/am/json/records?_action=start
{
"recording":true,
"record":{
"issueID":103572,
"referenceID":"policyEvalFails",
"description":"Troubleshooting artifacts in support of case 103572",
"zipEnable":true,
"threadDump":{
"enable":true,
"delay":{
"timeUnit":"SECONDS",
"value":5
}
},
"configExport":{
"enable":true,
"password":"xxxxxx",
"sharePassword":false
},
"debugLogs":{
"debugLevel":"message",
"autoStop":{
"time":{
"timeUnit":"MILLISECONDS",
"value":15000
},
"fileSize":{
"sizeUnit":"KB",
"value":1048576
}
}
},
"status":"RUNNING",
"folder":"/path/to/am/var/debug/record/103572/policyEvalFails/"
}
}
The curl
command output is indented for ease of reading.
The actual output is not indented,
and the actions available from the /json/records
endpoint do not support the _prettyPrint
parameter.
To stop a recording event, send an HTTP POST request to the /json/records
endpoint,
specifying the _action=stop
parameter in the URL:
$ curl \
--request POST \
--header "iPlanetDirectoryPro: AQIC5…" \
--header "Accept-API-Version: resource=1.0" \
https://am.example.com:8443/am/json/records?_action=stop
If there is no active recording event, AM returns a 400 error code.
If there is an active recording event, output similar to the following appears:
{
"recording": false,
"record": {
"issueID": 103572,
"referenceID": "policyEvalFails",
"description": "Troubleshooting artifacts in support of case 103572",
"zipEnable": true,
"threadDump": {
"enable": true,
"delay": {
"timeUnit": "SECONDS",
"value": 5
}
},
"configExport": {
"enable": true,
"password": "xxxxxx",
"sharePassword": false
},
"debugLogs": {
"debugLevel": "message",
"autoStop": {
"time": {
"timeUnit": "MILLISECONDS",
"value": 15000
},
"fileSize": {
"sizeUnit": "KB",
"value": 1048576
}
}
},
"status": "STOPPED",
"folder": "/path/to/am/var/debug/record/103572/policyEvalFails/"
}
}