The System Logs page lists log messages generated by API Provider Endpoint calls. There are several ways to filter your messages to display only the messages you are interested in, view log data, and troubleshoot. See the following topics for more info:
For each log message, the following attributes are displayed. Some of these attributes are available to be used as filtering criteria.
Attribute | Description | Available as Filtering Criteria |
---|---|---|
Status |
Status of the API call. Possible values: Successful or Failed. Response codes of 2XX and 3XX are considered successful. Response codes of 4XX and 5XX are considered failed. |
Yes |
Time | Timestamp indicating the date and time the API was called. | No |
Method | The method used in the call. | Yes |
Resource Path | The resource path used for the call. | Yes |
Response Code |
HTTP Status Code returned by the API. | Yes |
Response Time |
The time it took for the API to return the result. This is important in understanding how the system is performing with respect to APIs. ** Note that there are two filtering criteria available based on Response time:
|
** See note. |
Endpoint |
The Endpoint associated with the API. Click a value in this column to display the Endpoint Edit page. Click Browse to see a list of Endpoints to choose from. |
Yes |
Job |
The CIC Job number, if a job was generated by the call. Click the value in this column to display the Jobs detail page for that Job. See Working with Jobs. Select the check box to display only logs with no jobs associated with them. This can be helpful for troubleshooting API calls with no associated Job. Note: Filtering on a Job number ignores all other filtering critieria. |
Yes |
Filtering the API Logs List
You can apply filtering criteria on the System Logs page to narrow the scope of the data displayed.
Date filtering
Display logs for APIs run during the range you select here. Note that System Logs are only available for 15 days. If you select a value larger than 15 days, CIC still only returns Log items generated for the last 15 days.
Attribute filtering
You can filter on any of the attributes shown below. You can apply multiple filtering criteria.
Note: If you specify a Job number, it overrides all other filtering criteria and no other logs are displayed even if they meet the other criteria specified.
As you apply filters, they appear above the list of Logs. From here, you can remove filters one at a time or clear them all.
Drilling Down into Log Data
There are several ways to drill into API log data.
Display log entry
Click anywhere in a row to display the entire log entry for that row. Click the Copy button to copy the log data to the Clipboard.
Note: This capability is especially useful in cases where there is no other way to easily expose log data, for example, when the call has failed and there is no Job associated with the call.
Display Endpoint information
Click a value in the Endpoint column to display that Endpoint in the Network > Endpoint editor. See Managing Endpoints for more information about Endpoints and their details.
Display Job Detail page
Click the value in the Job column to display the Job Details page for that Job. See Working with Jobs for more information about viewing details about Jobs.
Troubleshooting Using the API Logs
The following describes several ways to use the API Logs information to aid troubleshooting.
Filtering by Response Time
Filter by the Response Time to see which API (and Endpoint) takes the longest to respond. Based on this insight, investigation can continue on the Job Details page to discover which part of the Job takes the most time. This helps identify areas for improvement in the Integration.
Filtering for API call logs without associated Jobs
Select the Show Logs without Jobs filter to display all the Logs that have not created a Job in CIC Cockpit or have not been processed yet. There are multiple reasons for this condition and looking at Response Codes can help with troubleshooting. For example,
- The request was unauthored. (HTTP 401 error)
- The request was throttled/rate limited (HTTP 429 error)
- The path/URI is wrong (HTTP 404 error)
Filtering based on HTTP Response Codes
Filter by Response Code to view all the API Requests that failed with a given HTTP response code. Based on the meaning of the response code, follow up with appropriate actions or further troubleshooting. For example, from a 429 HTTP Response Code, it can be inferred that requests have been throttled. See HTTP Response Code Reasons and Remediation below. Possible follow-up actions for this response code include the following:
- Make sure to retry the request.
- If the issue persists continuously, discuss with partners (or whoever is invoking the APIs) to possibly reduce the frequency of the offending API calls.
- If the issue persists, contact Cleo Support.
HTTP Response Code Reasons and Remediation
The following section provides information about common HTTP response codes.
HTTP 400
Possible Reasons
Bad Request - Request Payload is wrong or failed during validation
Suggested Remediation
- Verify the Request Payload and make sure it’s as per the expected format and then Retry
- Verify the CIC Job for this request. The Issue tab in the Job will have more details about the Issue.
HTTP 401
Response Body
Basic Auth = "{ ""message"": ""Invalid authentication credentials"" }"
OAuth = "{ ""error"": ""invalid_token"", ""error_description"": ""The access token is invalid or has expired"" }"
Key = "{ ""message"": ""No API key found in request"" }"
Possible Reasons
Unauthenticated Request - Credentials in the Request are wrong.
Suggested Remediation
Change the credentials in the API Endpoint configuration in Cockpit or make sure the correct credentials are used to invoke in the Request.
HTTP 403
Response Body
{
"message": "You cannot consume this service"
}
Possible Reasons
Unauthorized Request
- The API Provider Endpoint has IP Whitelisting enabled and the request was invoked from a non-whitelisted IP.
- Credentials in the Request are not authorized to invoke the API Provider.
Suggested Remediation
- Change the IP whitelisting configuration as needed.
- Make sure the correct credentials are to be used to invoke the Request. Refer to the API Endpoint page to get the credentials for an Endpoint.
HTTP 404
Response Body
{
"Error": "An error occurred processing the jobId:ca731c46-a2fc-4004-ad1c-39fdcd9e4793",
"Message": "No Service found for the given HTTP_METHOD and RESOURCE_PATH http verb : GET,resourcePath: /internalcustom/caustom3/test3/MyWsProviderWSPcustom3Rest"
}
Possible Reasons
URI is incorrect - API Group, Path, or Resource Name is incorrect.
Suggested Remediation
Make sure the right URI is used in the request. Refer to the API Endpoint page to determine the URI allowed for an Endpoint.
HTTP 429
Response Body
{
"message":"API rate limit exceeded"
}
Possible Reasons
Request was throttled due to too many requests
Suggested Remediation
Retry the Request after some time. If the issue persists, contact Cleo Support.
HTTP 500
Response Body
Customizable in Business Process.
Possible Reasons
Internal Server error - Business Process did not execute as expected
Suggested Remediation
Verify the CIC Job for this request. The Issue tab in the Job will contain details about the Issue.
If a Web Service Consumer (WSC) is invoked as part of this WSP, check whether the response of the WSC is 500.
HTTP 503
Response Body
Customizable in Business Process
{ "message": "name resolution failed" }
OR
503 Service Unavailable
No server is available to handle this request.
Possible Reasons
Request was throttled due to too many requests
Suggested Remediation
Retry the Request after some time. If the issue persists, contact Cleo Support.
HTTP 504
Response Body
{
"message": "The upstream server is timing out"
}
Possible Reasons
Business Process execution is taking longer than expected.
Suggested Remediation
Explore converting the API Provider to Async. See Async in the Web Service Provided Object article.
Comments
0 comments
Please sign in to leave a comment.