Access Logs
Access Logs is not available in AGS Shared Cloud.
Overview
Access Logs provided by AccelByte Gaming Services (AGS) is a service that allows you to review the traffic logs from AGS. Every interaction made by a user, player, or application with an endpoint in the AGS platform is collected and stored in logs by the Access Logs service, and those logs can be accessed in the AGS Admin Portal. Each log contains detailed information about the event that generated it, which can assist in identifying problems while troubleshooting.
Permissions
Permissions are used to grant access to specific resources within our services. Make sure your account has the following permissions before you attempt to access the logs in the Admin Portal:
Usage | Permissions | Action |
---|---|---|
Query Log | ADMIN:NAMESPACE:{namespace}:LOG | READ |
Permissions work slightly different depending on whether they are assigned to IAM Clients or to Roles which are assigned to users. For more information, see AGS's Authorization documentation.
View service logs in the Admin Portal
View a log
In the Admin Portal, choose the namespace you wish to open. Access Logs sits outside of namespaces in the Development Utilities menu, so the logs can theoretically be accessed from any namespace. In practice, when you use Access Logs, only the logs from the namespaces to which you have access to will be visible.
On the sidebar, go to Development Utilities menu > Access Logs.
On the Access Logs page, you can view every log from every namespace that you have. To find a log, you can either browse the log list directly or use the filters available on the left side of the page.
- Request Time: filters the search by when a request was made. You can define the time range of the search by inputting the start and end times in UTC format in the Start Date and End Date fields, respectively. The maximum period of time you can search for is 30 days.
By default, any log search will be restricted to results from the previous hour before you opened the Access Logs page. If you want to search for older logs, you can input an earlier time into the Start Date field.
Log Type: filters the search by type of log. There are currently two types of logs: REST and WebSocket. If you choose to filter by WebSocket logs, you can also use WebSocket Specific Filter.
Show Internal Calls: toggle this filter to include internal calls in the search. An internal call is a record that doesn't provide a value to the user, such as a health check or revocation list. This filter is toggled to include internal calls by default.
General filters:
Namespace: limits the search to a specific namespace. If left blank, the logs returned by your search will come from every namespace to which you have access.
Service Name: limits the search to a specific service. To use this filter, type the name of the desired service into the box that appears. The service names must be entered as per the following table:
Service Name
Service Service Name Achievements justice-achievement-service Analytics analytic Augment justice-augment-service asic justice-basic-service Build Info justice-buildinfo-service Cloud Storage justice-cloud-storage Cloud Save justice-cloudsave-service Differ justice-differ-service Dedicated Server Artifact Manager justice-ds-artifact-manager Dedicated Server Hub justice-ds-hub-service Dedicated Server Log Manager justice-ds-log-manager-service Dedicated Server Upload justice-ds-upload-service DSM Controller justice-dsm-controller-service Event Log justice-event-log-service GDPR justice-gdpr-service Groups justice-group-service IAM justice-iam-service Leaderboards justice-leaderboard-service Legal justice-legal-service Lobby justice-lobby-server Log justice-log-service Matchmaking justice-matchmaking Platform justice-platform-service QOS Manager justice-qos-manager-service QOS justice-qos-service Reporting justice-reporting-service Season Pass justice-seasonpass-service Session Browser justice-session-browser-service Social justice-social-service Statistics justice-statistic-service Turn Manager justice-turn-manager-service User Generated Content (UGC) justice-ugc-service User ID: filters the search by a particular user or player's activity. To use this filter, type the User ID of the desired user or player into the box that appears.
Client ID: filters the search by a particular application's activity. To use this filter, type the Client ID of the desired application into the box that appears.
Request Method: filters the search by a particular request method. To use this filter, select from the following options in the dropdown menu:
Request Method
Request Method GET PUT DELETE POST PATCH Response Status Code: filters the search by a specific response status code. To use this filter, select from the following options in the dropdown menu:
Response Status Code
Response Status Code 200 OK 201 Created 202 Accepted 204 No Content 302 Found 307 Temporary Redirect 400 Bad Request 401 Unauthorized 403 Forbidden 404 Not Found 405 Method Not Allowed 406 Not Acceptable 08 Request Timeout 409 Conflict 412 Precondition Failed 413 Payload Too Large 415 Unsupported Media Type 422 Unprocessable Entity 429 Too Many Requests 500 Internal Server Error 502 Bad Gateway 503 Service Unavailable 504 Gateway Timeout Path: filters the search by a particular file path, such as /platform/admin. To use this filter, type the desired path into the box that appears.
Source IP: filters the search by a particular IP address. To use this filter, type the desired IP address in the box that appears.
Trace ID: filters the search by a particular trace ID. To use this filter, type the desired ID into the box that appears.
tipThe trace ID of a request is found in its Response Header.
Referrer: filters the search by a particular referrer from which the log was generated. To use this filter, type the web address of the referrer into the box that appears.
Response Duration: filters the search by logs with a specific response time. You can use this filter to search for logs with notably long or short response times. To use this filter, select Duration Option and choose from the following subfields:
Response Duration
Response Duration Less Than More Than Between If you select Less Than or More Than, type the duration in milliseconds in the Duration field. If you select Between, type the shortest response time into the Minimum Time field and the longest response time into the Maximum Time field, both in milliseconds.
WebSocket Specific Filters:
Connection ID: filters the search based on the WebSocket Connection ID of a particular user.
NOTEA user or player's WebSocket Connection ID will change each time they disconnect and reconnect to the AGS platform.
Session ID: filters the search based on the Session ID of a particular user or player's session.
Connection Stage: filters the search by connection stage. To use this filter, select from the following options in the dropdown menu:
Connection Stage
Connection Stage Connect Disconnect Receive Send Close Code: filters the search by a particular close code. To use this filter, type the desired close code into the box that appears. The close code must be entered as a numerical value, as per the table below:
Close Code
Close Code Description 4000 disconnectCloseCode 4001 disconnectTokenRevokedCode 4002 disconnectServerClosedCode Message Type: filters the search based on message type. To use this filter, type the desired message type into the box that appears. The message type must be entered as per the following:
Message Type
Message Type partyInfoRequest partyInfoResponse partyCreateRequest partyCreateResponse partyLeaveRequest partyLeaveResponse partyLeaveNotif partyInviteRequest partyInviteResponse partyInviteNotif partyGetInvitedNotif partyJoinRequest partyJoinResponse partyJoinNotif partyRejectRequest partyRejectResponse partyRejectNotif partyKickRequest partyKickResponse partyKickNotif personalChatRequest personalChatResponse personalChatNotif partyChatRequest partyChatResponse partyChatNotif personalChatHistoryRequest personalChatHistoryResponse partyPromoteLeaderRequest partyPromoteLeaderResponse partyGenerateCodeRequest partyGenerateCodeResponse partyGetCodeRequest partyGetCodeResponse partyDeleteCodeRequest partyDeleteCodeResponse partyJoinViaCodeRequest partyJoinViaCodeResponse partySendNotifRequest partySendNotifResponse partyNotif friendsStatusRequest friendsStatusResponse setUserStatusRequest setUserStatusResponse userStatusNotif clientResetRequest messageNotif startMatchmakingRequest startMatchmakingResponse cancelMatchmakingRequest cancelMatchmakingResponse matchmakingNotif setReadyConsentRequest setReadyConsentResponse setReadyConsentNotif rematchmakingNotif requestFriendsRequest requestFriendsResponse requestFriendsNotif listIncomingFriendsRequest listIncomingFriendsResponse listOutgoingFriendsRequest listOutgoingFriendsResponse acceptFriendsRequest acceptFriendsResponse acceptFriendsNotif rejectFriendsRequest rejectFriendsNotif rejectFriendsResponse cancelFriendsRequest cancelFriendsResponse cancelFriendsNotif unfriendRequest unfriendResponse unfriendNotif listOfFriendsRequest listOfFriendsResponse getFriendshipStatusRequest getFriendshipStatusResponse blockPlayerRequest blockPlayerResponse blockPlayerNotif unblockPlayerRequest unblockPlayerResponse unblockPlayerNotif getBlockedPlayerRequest getBlockedPlayerResponse createDSRequest createDSResponse waitForDSRequest claimDSRequest notifyDSRequest dsNotif systemComponentsStatus partyDataUpdateNotif joinDefaultChannelRequest joinDefaultChannelResponse userBannedNotification userUnbannedNotification exitAllChannel sendChannelChatRequest sendChannelChatResponse channelChatNotif setSessionAttributeRequest setSessionAttributeResponse getSessionAttributeRequest getSessionAttributeResponse getAllSessionAttributeRequest getAllSessionAttributeResponse signalingP2PNotif userMetricRequest userMetricResponse sendMatchResultNotif Message ID: filters the search by a particular Message ID.
After selecting your filters, click the Apply Filter button to begin your search.
Select a log file to expand its contents.
In the log's Details tab, you can see information about the activity that generated that particular log.
Under the Request Body (REST)/Request Message (WebSocket) tab, you can see the request bodies for the action generated in the log.
Under the Response Body (REST)/Response Message (WebSocket) tab, you can see the response to that action.