Monitoring Nimble Studio - Amazon Nimble Studio

Monitoring Nimble Studio

Monitoring Nimble Studio is important for maintaining the reliability, availability, and performance of your cloud studio and other AWS solutions.

AWS provides the following tools to monitor Nimble Studio, report when something is wrong, and take automatic actions, when appropriate.

  • Amazon CloudWatch monitors your AWS resources and the applications that you run on AWS in real time. You can collect and track metrics, create customized dashboards, and set alarms that notify you when a specified metric reaches a threshold that you specify. For example, CloudWatch can track CPU usage or other metrics of your Amazon EC2 instances, and automatically launch new instances when needed. For more information, see the Amazon CloudWatch User Guide.

  • With Amazon CloudWatch Logs you can monitor, store, and access your log files from Amazon EC2 instances, CloudTrail, and other sources. CloudWatch Logs can monitor information in the log files and notify you when certain thresholds are met. You can also archive your log data in highly durable storage. For more information, see the Amazon CloudWatch Logs User Guide.

  • AWS CloudTrail captures API calls and related events made by, or on behalf of, your AWS account. Then, AWS CloudTrail delivers the log files to an Amazon S3 bucket that you specify. CloudTrail logs identify the users and accounts that called AWS, the source IP address from which the calls were made, and when the calls occurred. For more information, see the AWS CloudTrail User Guide.

Amazon EventBridge is a serverless event bus that connects your applications with data from a variety of sources. EventBridge delivers a stream of real-time data from your own applications, software as a service (SaaS) applications, and AWS services. Then it routes that data to targets, such as Lambda, so that you can monitor events that happen in services, and build event-driven architectures. For more information, see the Amazon EventBridge User Guide.

Monitoring Nimble Studio with Amazon CloudWatch

You can monitor Nimble Studio using CloudWatch, which collects raw data and processes it into readable, near real-time metrics. These statistics are kept for 15 months, so that you can access historical information and gain perspective on how your web application or service is performing.

You can also set alarms that watch for certain thresholds and send notifications when those thresholds are met. For more information, see the Amazon CloudWatch User Guide.

The Nimble Studio service reports the following metrics in the AWS/NimbleStudio namespace.

Metric Description Dimensions

RunningStreamingSessions

The count of streaming sessions in the READY state for the account or studio.

Reporting criteria: There is a nonzero value.

Statistics: The most useful statistic is Maximum.

Unit: Count

LaunchProfileId

StreamingSessionLaunchSuccess

The count of streaming session creation attempts that successfully launched, and that you can connect to with NICE DCV.

Reporting criteria: There is a nonzero value.

Statistics: The most useful statistic is Sum.

Unit: Count

LaunchProfileId

StreamingSessionLaunchConfigurationError

The count of streaming session creation attempts that failed to launch due to a configuration error that the customer can remediate.

Reporting criteria: There is a nonzero value.

Statistics: The most useful statistic is Sum.

Unit: Count

LaunchProfileId

StreamingSessionLaunchInternalServerError

The count of streaming session creation attempts that failed to launch due to an internal error that the customer can't remediate themselves with configuration changes.

Reporting criteria: There is a nonzero value.

Statistics: The most useful statistic is Sum.

Unit: Count

LaunchProfileId

The following dimensions are supported for the Nimble Studio metrics.

Dimension Description
LaunchProfileId

The ID of the launch profile used to create the streaming session.

Monitoring examples

The following examples show how to use the AWS CLI to respond to a CloudWatch alarm, and to see which WorkSpaces in a directory have connection failures.

To respond to a CloudWatch alarm

  1. Determine which directory that the alarm applies to by using the describe-alarms command.

    aws cloudwatch describe-alarms --state-value "ALARM"{ "MetricAlarms": [ { ... "Dimensions": [ { "Name": "DirectoryId", "Value": "directory_id" } ], ... } ] }
  2. Get the list of WorkSpaces in the specified directory using the describe-workspace command.

    aws workspaces describe-workspaces --directory-id directory_id{ "Workspaces": [ { ... "WorkspaceId": "workspace1_id", ... }, { ... "WorkspaceId": "workspace2_id", ... }, { ... "WorkspaceId": "workspace3_id", ... } ] }
  3. Get CloudWatch metrics for WorkSpaces in a specified directory by using the get-metric-statistics command.

    aws cloudwatch get-metric-statistics \ --namespace AWS/NimbleStudio \ --metric-name RunningStreamingSessions \ --start-time 2015-04-27T00:00:00Z \ --end-time 2015-04-28T00:00:00Z \ --period 3600 \ --statistics Maximum\ --dimensions "Name=LaunchProfileId,Value=launch_profile_id"{ "Datapoints" : [ { "Timestamp": "2015-04-27T00:18:00Z", "Maximum": 5, "Unit": "Count" }, { "Timestamp": "2014-04-27T01:18:00Z", "Maximum": 2, "Unit": "Count" } ], "Label" : "RunningStreamingSessions" }