View metrics with Amazon CloudWatch
During a contact, AWS Ground Station automatically captures and sends data to CloudWatch for analysis. Your data can be viewed in the Amazon CloudWatch console. For more information about accessing and CloudWatch Metrics, see Using Amazon CloudWatch Metrics.
AWS Ground Station Metrics and Dimensions
What metrics are available?
The following metrics are available from AWS Ground Station.
Note
The specific metrics emitted depend on the AWS Ground Station capabilities being used. Depending on your configuration, only a subset of the below metrics may be emitted.
Metric | Metric Dimensions | Description |
---|---|---|
|
SatelliteId |
The azimuth angle of the antenna. True north is 0 degrees and east is 90 degrees. Units: degrees |
|
Channel, Polarization, SatelliteId |
The error rate on bits in a given number of bit transmissions. Bit errors are caused by noise, distortion, or interference Units: Bits errors per unit time |
|
Channel, Polarization, SatelliteId |
The error rate of blocks in a given number of received blocks. Block errors are caused by interference. Units: Erroneous blocks / Total number of blocks |
|
Category, Config, SatelliteId |
Carrier to noise density ratio per unit bandwidth. Units: decibel-Hertz (dB-Hz) |
|
Category, Config, SatelliteId |
Set to 1 when the demodulator carrier frequency recovery loop is locked and 0 when unlocked. Units: unitless |
|
Category, Config, SatelliteId |
The offset between the estimated signal center and ideal center frequency. This is caused by Doppler shift and local oscillator offset between spacecraft and antenna system. Units: hertz (Hz) |
|
SatelliteId |
The elevation angle of the antenna. The horizon is 0 degrees and zenith is 90 degrees. Units: degrees |
|
Channel, Polarization, SatelliteId |
The ratio of energy per symbol to noise power spectral density. Units: decibels (dB) |
|
Polarization, SatelliteId |
The measured signal strength in the demodulator/decoder. Units: decibels relative to milliwatts (dBm) |
|
Category, Config, SatelliteId |
The error vector magnitude between received symbols and ideal constellation points. Units: percent |
|
Category, Config, SatelliteId |
Set to 1 when the demodulator symbol timing recovery loop is locked and 0 when unlocked Units: unitless |
|
Category, Config, SatelliteId |
The offset between the estimated symbol rate and ideal signal symbol rate. This is caused by Doppler shift and local oscillator offset between spacecraft and antenna system. Units: symbols/second |
What dimensions are used for AWS Ground Station?
You can filter AWS Ground Station data using the following dimensions.
Dimension | Description |
---|---|
|
Demodulation or Decode. |
|
The channels for each contact include One, Two, I (in-phase), and Q (quadrature). |
|
An antenna downlink demod decode config arn. |
|
The polarization for each contact include LHCP (Left Hand Circular Polarized) or RHCP (Right Hand Circular Polarized). |
|
The satellite ID contains the ARN of the satellite for your contacts. |
Viewing Metrics
When viewing graphed metrics, it is important to note that the aggregation window determines how your metrics will be displayed. Each metric in a contact can be displayed as data per second for 3 hours after the data is received. Your data will be aggregated by CloudWatch Metrics as data per minute after that 3-hour period has elapsed. If you need to view your metrics on a data per second measurement, it is recommended to view your data within the 3-hour period after the data is received or persist it outside of CloudWatch Metrics. For more information on CloudWatch retention, see Amazon CloudWatch concepts - Metric retention.
In addition, any data captured within the first 60 seconds will not contain enough information to produce meaningful metrics, and will likely not be displayed. In order to view meaningful metrics, it is recommended to view your data after 60 seconds has passed.
For more information about graphing AWS Ground Station metrics in CloudWatch, see Graphing Metrics.
To view metrics using the console
-
Open the CloudWatch console
. -
In the navigation pane, choose Metrics.
-
Select the GroundStation namespace.
-
Select your desired metric dimensions (for example, Channel, Polarization, SatelliteId).
-
The All metrics tab displays all metrics for that dimension in the namespace. You can do the following:
-
To sort the table, use the column heading.
-
To graph a metric, select the checkbox associated with the metric. To select all metrics, select the checkbox in the heading row of the table.
-
To filter by resource, choose the resource ID and then choose Add to search.
-
To filter by metric, choose the metric name and then choose Add to search.
-
To view metrics using AWS CLI
-
Ensure that AWS CLI is installed. For information about installing AWS CLI, see Installing the AWS CLI version 2.
-
Use the get-metric-data method of the CloudWatch CLI to generate a file that can be modified to specify the metrics that you're interested in, and then be used to query for those metrics.
To do this, run the following:
aws cloudwatch get-metric-data --generate-cli-skeleton
. This will generate output similar to:{ "MetricDataQueries": [ { "Id": "", "MetricStat": { "Metric": { "Namespace": "", "MetricName": "", "Dimensions": [ { "Name": "", "Value": "" } ] }, "Period": 0, "Stat": "", "Unit": "Seconds" }, "Expression": "", "Label": "", "ReturnData": true, "Period": 0, "AccountId": "" } ], "StartTime": "1970-01-01T00:00:00", "EndTime": "1970-01-01T00:00:00", "NextToken": "", "ScanBy": "TimestampDescending", "MaxDatapoints": 0, "LabelOptions": { "Timezone": "" } }
-
List the available CloudWatch metrics by running
aws cloudwatch list-metrics
.If you've recently used AWS Ground Station, the method should return output that contains entries like:
... { "Namespace": "AWS/GroundStation", "MetricName": "ReceivedPower", "Dimensions": [ { "Name": "Polarization", "Value": "LHCP" }, { "Name": "SatelliteId", "Value": "arn:aws:groundstation::111111111111:satellite/aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee" } ] }, ...
Note
Due to a limitation of CloudWatch, if it's been over 2 weeks since you last used AWS Ground Station, then you will need to manually inspect the table of available metrics to find the metric names and dimensions in the
AWS/GroundStation
metric namespace. For more information about the CloudWatch limitation see: View available metrics -
Modify the JSON file you created in step 2 to match the required values from step 3, for example
SatelliteId
, andPolarization
from your metrics. Also be sure to update theStartTime
, andEndTime
values to match your contact. For example:{ "MetricDataQueries": [ { "Id": "receivedPowerExample", "MetricStat": { "Metric": { "Namespace": "AWS/GroundStation", "MetricName": "ReceivedPower", "Dimensions": [ { "Name": "SatelliteId", "Value": "arn:aws:groundstation::111111111111:satellite/aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee" }, { "Name": "Polarization", "Value": "RHCP" } ] }, "Period": 300, "Stat": "Maximum", "Unit": "None" }, "Label": "ReceivedPowerExample", "ReturnData": true } ], "StartTime": "2024-02-08T00:00:00", "EndTime": "2024-04-09T00:00:00" }
Note
AWS Ground Station publishes metrics every 1 to 60 seconds, depending on the metric. Metrics will not be returned if the
Period
field has a value less than the publishing period for the metric. -
Run
aws cloudwatch get-metric-data
with the configuration file created in the previous steps. An example is provided below.aws cloudwatch get-metric-data --cli-input-json file://<nameOfConfigurationFileCreatedInStep2>.json
Metrics will be provided with timestamps from your contact. An example output of AWS Ground Station metrics is provided below.
{ "MetricDataResults": [ { "Id": "receivedPowerExample", "Label": "ReceivedPowerExample", "Timestamps": [ "2024-04-08T18:35:00+00:00", "2024-04-08T18:30:00+00:00", "2024-04-08T18:25:00+00:00" ], "Values": [ -33.30191555023193, -31.46100273132324, -32.13915576934814 ], "StatusCode": "Complete" } ], "Messages": [] }