Amazon GameLift monitoring
Dynatrace ingests metrics for multiple preselected namespaces, including Amazon GameLift. You can view metrics for each service instance, split metrics into multiple dimensions, and create custom charts that you can pin to your dashboards.
Prerequisites
To enable monitoring for this service, you need
- ActiveGate version 1.197+, as follows:
- For Dynatrace SaaS deployments, you need an Environment ActiveGate or a Multi-environment ActiveGate.
- For Dynatrace Managed deployments, you can use any kind of ActiveGate.
Note: For role-based access (whether in a SaaS or Managed deployment), you need an Environment ActiveGate installed on an Amazon EC2 host.
- Dynatrace version 1.203+
- An updated AWS monitoring policy to include the additional AWS services.
To update the AWS IAM policy, use the JSON below, containing the monitoring policy (permissions) for all supporting services.
If you don't want to add permissions to all services, and just select permissions for certain services, consult the table below. The table contains a set of permissions that are required for all services (All monitored Amazon services) and, for each supporting service, a list of optional permissions specific to that service.
Example of JSON policy for one single service.
In this example, from the complete list of permissions you need to select
"apigateway:GET"
for Amazon API Gateway"cloudwatch:GetMetricData"
,"cloudwatch:GetMetricStatistics"
,"cloudwatch:ListMetrics"
,"sts:GetCallerIdentity"
,"tag:GetResources"
,"tag:GetTagKeys"
, and"ec2:DescribeAvailabilityZones"
for All monitored Amazon services.
Enable monitoring
To enable monitoring for this service, you first need to integrate Dynatrace with Amazon Web Services:
Add the service to monitoring
In order to view the service metrics, you must add the service to monitoring in your Dynatrace environment.
All cloud services consume Davis data units (DDUs). The amount of DDU consumption per service instance depends on the number of monitored metrics and their dimensions (each metric dimension results in the ingestion of 1 data point; 1 data point consumes 0.001 DDUs).
Monitor resources based on tags
You can choose to monitor resources based on existing AWS tags, as Dynatrace automatically imports them from service instances. Nevertheless, the transition from AWS to Dynatrace tagging isn't supported for all AWS services. Expand the table below to see which cloud services are filtered by tagging.
To monitor resources based on tags
- In the Dynatrace menu, go to Settings > Cloud and virtualization > AWS and select Edit for the desired AWS instance.
- For Resources to be monitored, select Monitor resources selected by tags.
- Enter the Key and Value.
- Select Save.
Configure service metrics
Once you add a service, Dynatrace starts automatically collecting a suite of metrics for this particular service. These are recommended metrics.
Recommended metrics:
- Are enabled by default
- Can't be disabled
- Can have recommended dimensions (enabled by default, can't be disabled)
- Can have optional dimensions (disabled by default, can be enabled)
Apart from the recommended metrics, most services have the possibility of enabling optional metrics.
Optional metrics:
- Can be added and configured manually
View service metrics
You can view the service metrics in your Dynatrace environment either on the custom device overview page or on your Dashboards page.
View metrics on the custom device overview page
To access the custom device overview page
- In the Dynatrace menu, go to Technologies and processes.
- Filter by service name and select the relevant custom device group.
- Once you select the custom device group, you're on the custom device group overview page.
- The custom device group overview page lists all instances (custom devices) belonging to the group. Select an instance to view the custom device overview page.
View metrics on your dashboard
After you add the service to monitoring, a preset dashboard containing all recommended metrics is automatically listed on your Dashboards page. To look for specific dashboards, filter by Preset and then by Name.
Note: For existing monitored services, you might need to resave your credentials for the preset dashboard to appear on the Dashboards page. To resave your credentials, go to Settings > Cloud and virtualization > AWS, select the desired AWS instance, and then select Save.
You can't make changes on a preset dashboard directly, but you can clone and edit it. To clone a dashboard, open the browse menu (…) and select Clone.
To remove a dashboard from the dashboards page, you can hide it. To hide a dashboard, open the browse menu (…) and select Hide.
Note: Hiding a dashboard doesn't affect other users.
To check the availability of preset dashboards for each AWS service, see the list below.
Available metrics
Name | Description | Unit | Statistics | Dimensions | Recommended |
---|---|---|---|---|---|
ActivatingGameSessions | Game sessions with Activating status, which means they are in the process of starting up | Count | Multi | FleetId | ✔️ |
ActivatingGameSessions | Count | Multi | Region, MetricGroups | ✔️ | |
ActiveGameSessions | Game sessions with Active status, which means they are able to host players, and are hosting zero or more players | Count | Multi | FleetId | ✔️ |
ActiveGameSessions | Count | Multi | Region, MetricGroups | ✔️ | |
ActiveInstances | Instances with Active status, which means they are running active server processes | Count | Multi | FleetId | ✔️ |
ActiveInstances | Count | Multi | Region, MetricGroups | ✔️ | |
ActiveServerProcesses | Server processes with Active status, which means they are running and able to host game session | Count | Multi | FleetId | ✔️ |
ActiveServerProcesses | Count | Multi | Region, MetricGroups | ✔️ | |
AvailableGameSessions | Active, healthy server processes that are not currently being used to host a game session and can start a new game session without a delay to spin up new server processes or instances | Count | Multi | FleetId | ✔️ |
AvailableGameSessions | Count | Multi | Region, MetricGroups | ✔️ | |
AverageWaitTime | Average amount of time that game session placement requests in the queue in Pending status have been waiting to be fulfilled | Seconds | Multi | Region, QueueName | ✔️ |
AverageWaitTime | Seconds | Sum | Region, QueueName | ✔️ | |
CurrentPlayerSessions | Player sessions with either Active status (player is connected to an active game session) or Reserved status (player has been given a slot in a game session but hasn't yet connected) | Count | Multi | FleetId | ✔️ |
CurrentPlayerSessions | Count | Multi | Region, MetricGroups | ✔️ | |
CurrentTickets | Matchmaking requests currently being processed or waiting to be processed | Count | Multi | Region, ConfigurationName | ✔️ |
CurrentTickets | Count | Sum | Region, ConfigurationName | ✔️ | |
DesiredInstances | Target number of active instances that GameLift is working to maintain in the fleet | Count | Multi | FleetId | |
FirstChoiceNotViable | Game sessions successfully placed but that aren't in the first-choice fleet, because that fleet isn't considered viable (such as a spot fleet with a high interruption rate) | Count/Minute | Multi | Region | |
FirstChoiceNotViable | Count/Minute | Multi | Region, QueueName | ||
FirstChoiceNotViable | Count/Minute | Sum | Region | ||
FirstChoiceNotViable | Count/Minute | Sum | Region, QueueName | ||
FirstChoiceOutOfCapacity | Game sessions successfully placed but that aren't in the first-choice fleet, because that fleet doesn't have any available resources | Count/Minute | Multi | Region | ✔️ |
FirstChoiceOutOfCapacity | Count/Minute | Multi | Region, QueueName | ✔️ | |
FirstChoiceOutOfCapacity | Count/Minute | Sum | Region | ✔️ | |
FirstChoiceOutOfCapacity | Count/Minute | Sum | Region, QueueName | ✔️ | |
GameSessionInterruptions | Number of game sessions on spot instances that have been interrupted | Count/Minute | Multi | FleetId | |
GameSessionInterruptions | Count/Minute | Multi | Region, MetricGroups | ||
GameSessionInterruptions | Count/Minute | Sum | FleetId | ||
GameSessionInterruptions | Count/Minute | Sum | Region, MetricGroups | ||
HealthyServerProcesses | Active server processes that are reporting healthy | Count | Multi | FleetId | ✔️ |
HealthyServerProcesses | Count | Multi | Region, MetricGroups | ✔️ | |
IdleInstances | Active instances that are currently hosting zero (0) game sessions. This metric measures capacity that is available but unused. | Count | Multi | FleetId | ✔️ |
IdleInstances | Count | Multi | Region, MetricGroups | ✔️ | |
InstanceInterruptions | Number of spot instances that have been interrupted | Count/Minute | Multi | FleetId | |
InstanceInterruptions | Count/Minute | Multi | Region, MetricGroups | ||
InstanceInterruptions | Count/Minute | Sum | FleetId | ||
InstanceInterruptions | Count/Minute | Sum | Region, MetricGroups | ||
LowestLatencyPlacement | Game sessions that were successfully placed in a region that offers the queue's lowest possible latency for the players | Count/Minute | Multi | Region | ✔️ |
LowestLatencyPlacement | Count/Minute | Multi | Region, QueueName | ✔️ | |
LowestLatencyPlacement | Count/Minute | Sum | Region | ✔️ | |
LowestLatencyPlacement | Count/Minute | Sum | Region, QueueName | ✔️ | |
LowestPricePlacement | Game sessions that were successfully placed in a fleet with the queue's lowest possible price for the chosen region | Count/Minute | Multi | Region | |
LowestPricePlacement | Count/Minute | Multi | Region, QueueName | ||
LowestPricePlacement | Count/Minute | Sum | Region | ||
LowestPricePlacement | Count/Minute | Sum | Region, QueueName | ||
MatchAcceptancesTimedOut | For matchmaking configurations that require acceptance, the potential matches that timed out during acceptance since the last report | Count/Minute | Sum | Region, ConfigurationName | ✔️ |
MatchesAccepted | For matchmaking configurations that require acceptance, the potential matches that were accepted since the last report | Count/Minute | Sum | Region, ConfigurationName | ✔️ |
MatchesCreated | Potential matches that were created since the last report | Count/Minute | Sum | Region, ConfigurationName | ✔️ |
MatchesPlaced | Matches that were successfully placed into a game session since the last report | Count/Minute | Sum | Region, ConfigurationName | ✔️ |
MatchesRejected | For matchmaking configurations that require acceptance, the potential matches that were rejected by at least one player since the last report | Count/Minute | Sum | Region, ConfigurationName | ✔️ |
MaxInstances | Maximum number of instances that are allowed for the fleet | Count | Multi | FleetId | |
MinInstances | Minimum number of instances allowed for the fleet | Count | Multi | FleetId | |
PercentAvailableGameSessions | Percentage of game session slots on all active server processes (healthy or unhealthy) that are not currently being used (calculated as AvailableGameSessions / [ActiveGameSessions + AvailableGameSessions + unhealthy server processes]) | Percent | Average | FleetId | ✔️ |
PercentAvailableGameSessions | Percent | Average | Region, MetricGroups | ✔️ | |
PercentHealthyServerProcesses | Percentage of all active server processes that are reporting healthy (calculated as HealthyServerProcesses / ActiveServerProcesses ) | Percent | Multi | FleetId | ✔️ |
PercentHealthyServerProcesses | Percent | Multi | Region, MetricGroups | ✔️ | |
PercentIdleInstances | Percentage of all active instances that are idle (calculated as IdleInstances / ActiveInstances ) | Percent | Multi | FleetId | ✔️ |
PercentIdleInstances | Percent | Multi | Region, MetricGroups | ✔️ | |
PlacementsCanceled | Game session placement requests canceled before timing out since the last report | Count/Minute | Multi | Region, QueueName | ✔️ |
PlacementsCanceled | Count/Minute | Sum | Region, QueueName | ✔️ | |
PlacementsFailed | Game session placement requests that failed for any reason since the last report | Count/Minute | Multi | Region, QueueName | ✔️ |
PlacementsFailed | Count/Minute | Sum | Region, QueueName | ✔️ | |
PlacementsStarted | New game session placement requests added to the queue since the last report | Count/Minute | Multi | Region, QueueName | ✔️ |
PlacementsStarted | Count/Minute | Sum | Region, QueueName | ✔️ | |
PlacementsSucceeded | Game session placement requests that resulted in a new game session since the last report | Count/Minute | Multi | Region, QueueName | ✔️ |
PlacementsSucceeded | Count/Minute | Sum | Region, QueueName | ✔️ | |
PlacementsTimedOut | Game session placement requests that reached the queue's timeout limit without being fulfilled since the last report | Count/Minute | Multi | Region, QueueName | ✔️ |
PlacementsTimedOut | Count/Minute | Sum | Region, QueueName | ✔️ | |
PlayerSessionActivations | Player sessions that transitioned from Reserved to Active status since the last report | Count/Minute | Multi | FleetId | ✔️ |
PlayerSessionActivations | Count/Minute | Multi | Region, MetricGroups | ✔️ | |
PlayerSessionActivations | Count/Minute | Sum | FleetId | ✔️ | |
PlayerSessionActivations | Count/Minute | Sum | Region, MetricGroups | ✔️ | |
PlayersStarted | Players in matchmaking tickets that were added since the last report | Count/Minute | Sum | Region, ConfigurationName | ✔️ |
QueueDepth | Number of game session placement requests in the queue with Pending status | Count | Multi | Region, QueueName | ✔️ |
QueueDepth | Count | Sum | Region, QueueName | ✔️ | |
ServerProcessAbnormalTerminations | Server processes that were shut down due to abnormal circumstances since the last report | Count/Minute | Multi | FleetId | ✔️ |
ServerProcessAbnormalTerminations | Count/Minute | Sum | FleetId | ✔️ | |
ServerProcessAbnormalTerminations | Count/Minute | Multi | Region, MetricGroups | ✔️ | |
ServerProcessAbnormalTerminations | Count/Minute | Sum | Region, MetricGroups | ✔️ | |
ServerProcessActivations | Server processes that successfully transitioned from Activating to Active status since the last report | Count/Minute | Multi | FleetId | ✔️ |
ServerProcessActivations | Count/Minute | Sum | FleetId | ✔️ | |
ServerProcessActivations | Count/Minute | Multi | Region, MetricGroups | ✔️ | |
ServerProcessActivations | Count/Minute | Sum | Region, MetricGroups | ✔️ | |
ServerProcessTerminations | Server processes that were shut down since the last report | Count/Minute | Multi | FleetId | ✔️ |
ServerProcessTerminations | Count/Minute | Sum | FleetId | ✔️ | |
ServerProcessTerminations | Count/Minute | Multi | Region, MetricGroups | ✔️ | |
ServerProcessTerminations | Count/Minute | Sum | Region, MetricGroups | ✔️ | |
TicketsFailed | Matchmaking requests that resulted in failure since the last report | Count/Minute | Sum | Region, ConfigurationName | ✔️ |
TicketsStarted | New matchmaking requests that were created since the last report | Count/Minute | Sum | Region, ConfigurationName | ✔️ |
TicketsTimedOut | Matchmaking requests that reached the timeout limit since the last report | Count/Minute | Sum | Region, ConfigurationName | ✔️ |
TimeToMatch | For matchmaking requests that were put into a potential match before the last report, the amount of time between ticket creation and potential match creation | Seconds | Multi | Region, ConfigurationName | ✔️ |
TimeToTicketCancel | For matchmaking requests that were canceled before the last report, the amount of time between ticket creation and cancellation | Seconds | Multi | Region, ConfigurationName | ✔️ |
TimeToTicketSuccess | For matchmaking requests that succeeded before the last report, the amount of time between ticket creation and successful match placement | Seconds | Multi | Region, ConfigurationName | ✔️ |