Skip to content

Commit

Permalink
Merge pull request #2071 from rahul188/appstream
Browse files Browse the repository at this point in the history
 [Product Partnerships] Added Amazon AppStream Entity
  • Loading branch information
zstix authored Sep 28, 2023
2 parents e92a7c5 + 04cb72c commit a0666e6
Show file tree
Hide file tree
Showing 6 changed files with 353 additions and 0 deletions.
27 changes: 27 additions & 0 deletions alert-policies/amazon-appstream/HighCapacityUtilization.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
name: High Capacity Utilization

description: |+
This alert is triggered when the Capacity Utilization is above 90%.
type: STATIC
nrql:
query: "SELECT average(`aws.appstream.CapacityUtilization`) as 'Query' FROM Metric"

# Function used to aggregate the NRQL query value(s) for comparison to the terms.threshold (Default: SINGLE_VALUE)
valueFunction: SINGLE_VALUE

# List of Critical and Warning thresholds for the condition
terms:
- priority: CRITICAL
# Operator used to compare against the threshold.
operator: ABOVE
# Value that triggers a violation
threshold: 90
# Time in seconds; 120 - 3600
thresholdDuration: 300
# How many data points must be in violation for the duration
thresholdOccurrences: ALL

# Duration after which a violation automatically closes
# Time in seconds; 300 - 2592000 (Default: 86400 [1 day])
violationTimeLimitSeconds: 86400
27 changes: 27 additions & 0 deletions alert-policies/amazon-appstream/HighInsufficientCapacityErrors.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
name: High Insufficient Capacity Errors

description: |+
This alert is triggered when Insufficient Capacity Errors are above 10 in 10 minutes.
type: STATIC
nrql:
query: "SELECT count(`aws.appstream.InsufficientCapacityError`) as 'Query' FROM Metric"

# Function used to aggregate the NRQL query value(s) for comparison to the terms.threshold (Default: SINGLE_VALUE)
valueFunction: SINGLE_VALUE

# List of Critical and Warning thresholds for the condition
terms:
- priority: CRITICAL
# Operator used to compare against the threshold.
operator: ABOVE
# Value that triggers a violation
threshold: 100
# Time in seconds; 120 - 3600
thresholdDuration: 600
# How many data points must be in violation for the duration
thresholdOccurrences: ALL

# Duration after which a violation automatically closes
# Time in seconds; 300 - 2592000 (Default: 86400 [1 day])
violationTimeLimitSeconds: 86400
265 changes: 265 additions & 0 deletions dashboards/amazon-appstream/amazon-appstream.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,265 @@
{
"name": "Amazon AppStream",
"description": null,
"pages": [
{
"name": "Amazon AppStream",
"description": null,
"widgets": [
{
"title": "",
"layout": {
"column": 1,
"row": 1,
"width": 2,
"height": 2
},
"visualization": {
"id": "viz.markdown"
},
"rawConfiguration": {
"text": "# Amazon AppStream\nIt is a fully managed application streaming service that provides users with instant access to their desktop applications from anywhere."
}
},
{
"title": "Capacity Utilization",
"layout": {
"column": 3,
"row": 1,
"width": 5,
"height": 2
},
"visualization": {
"id": "viz.area"
},
"rawConfiguration": {
"facet": {
"showOtherSeries": false
},
"legend": {
"enabled": true
},
"nrqlQueries": [
{
"accountId": 0,
"query": "SELECT average(`aws.appstream.CapacityUtilization`) as 'Capacity Utilization' from Metric where aws.Namespace = 'AWS/AppStream' TIMESERIES auto facet `aws.appstream.Fleet`"
}
],
"platformOptions": {
"ignoreTimeRange": false
}
}
},
{
"title": "Insufficient Capacity Error",
"layout": {
"column": 8,
"row": 1,
"width": 5,
"height": 2
},
"visualization": {
"id": "viz.line"
},
"rawConfiguration": {
"facet": {
"showOtherSeries": false
},
"legend": {
"enabled": true
},
"nrqlQueries": [
{
"accountId": 0,
"query": "SELECT sum(`aws.appstream.InsufficientCapacityError`) as 'Insufficient Capacity Error' from Metric where aws.Namespace = 'AWS/AppStream' facet `aws.appstream.Fleet` TIMESERIES auto"
}
],
"platformOptions": {
"ignoreTimeRange": false
},
"units": {
"unit": "COUNT"
},
"yAxisLeft": {
"zero": true
}
}
},
{
"title": "Desired Capacity",
"layout": {
"column": 1,
"row": 3,
"width": 4,
"height": 3
},
"visualization": {
"id": "viz.area"
},
"rawConfiguration": {
"facet": {
"showOtherSeries": false
},
"legend": {
"enabled": true
},
"nrqlQueries": [
{
"accountId": 0,
"query": "SELECT average(`aws.appstream.DesiredCapacity`) as 'Average',min(`aws.appstream.DesiredCapacity`) as 'Minimum', max(`aws.appstream.DesiredCapacity`) as 'Maximum' from Metric where aws.Namespace = 'AWS/AppStream' TIMESERIES auto facet `aws.appstream.Fleet`"
}
],
"platformOptions": {
"ignoreTimeRange": false
}
}
},
{
"title": "Available Capacity",
"layout": {
"column": 5,
"row": 3,
"width": 4,
"height": 3
},
"visualization": {
"id": "viz.area"
},
"rawConfiguration": {
"facet": {
"showOtherSeries": false
},
"legend": {
"enabled": true
},
"nrqlQueries": [
{
"accountId": 0,
"query": "SELECT average(`aws.appstream.AvailableCapacity`) as 'Average',min(`aws.appstream.AvailableCapacity`) as 'Minimum', max(`aws.appstream.AvailableCapacity`) as 'Maximum' from Metric where aws.Namespace = 'AWS/AppStream' TIMESERIES auto facet `aws.appstream.Fleet`"
}
],
"platformOptions": {
"ignoreTimeRange": false
}
}
},
{
"title": "Actual Capacity",
"layout": {
"column": 9,
"row": 3,
"width": 4,
"height": 3
},
"visualization": {
"id": "viz.area"
},
"rawConfiguration": {
"facet": {
"showOtherSeries": false
},
"legend": {
"enabled": true
},
"nrqlQueries": [
{
"accountId": 0,
"query": "SELECT average(`aws.appstream.ActualCapacity`) as 'Average', min(`aws.appstream.ActualCapacity`) as 'Minimum', max(`aws.appstream.ActualCapacity`) as 'Maximum' from Metric where aws.Namespace = 'AWS/AppStream' TIMESERIES auto facet `aws.appstream.Fleet`"
}
],
"platformOptions": {
"ignoreTimeRange": false
}
}
},
{
"title": "In Use Capacity",
"layout": {
"column": 1,
"row": 6,
"width": 4,
"height": 2
},
"visualization": {
"id": "viz.area"
},
"rawConfiguration": {
"facet": {
"showOtherSeries": false
},
"legend": {
"enabled": true
},
"nrqlQueries": [
{
"accountId": 0,
"query": "SELECT average(`aws.appstream.InUseCapacity`) as 'Average',min(`aws.appstream.InUseCapacity`) as 'Minimum', max(`aws.appstream.InUseCapacity`) as 'Maximum' from Metric where aws.Namespace = 'AWS/AppStream' TIMESERIES auto facet `aws.appstream.Fleet`"
}
],
"platformOptions": {
"ignoreTimeRange": false
}
}
},
{
"title": "Pending Capacity",
"layout": {
"column": 5,
"row": 6,
"width": 4,
"height": 2
},
"visualization": {
"id": "viz.area"
},
"rawConfiguration": {
"facet": {
"showOtherSeries": false
},
"legend": {
"enabled": true
},
"nrqlQueries": [
{
"accountId": 0,
"query": "SELECT average(`aws.appstream.PendingCapacity`) as 'Average', min(`aws.appstream.PendingCapacity`) as 'Minimum', max(`aws.appstream.PendingCapacity`) as 'Maximum' from Metric where aws.Namespace = 'AWS/AppStream' TIMESERIES auto facet `aws.appstream.Fleet`"
}
],
"platformOptions": {
"ignoreTimeRange": false
}
}
},
{
"title": "Running Capacity",
"layout": {
"column": 9,
"row": 6,
"width": 4,
"height": 2
},
"visualization": {
"id": "viz.area"
},
"rawConfiguration": {
"facet": {
"showOtherSeries": false
},
"legend": {
"enabled": true
},
"nrqlQueries": [
{
"accountId": 0,
"query": "SELECT average(`aws.appstream.RunningCapacity`) as 'Average',min(`aws.appstream.RunningCapacity`) as 'Minimum', max(`aws.appstream.RunningCapacity`) as 'Maximum' from Metric where aws.Namespace = 'AWS/AppStream' TIMESERIES auto facet `aws.appstream.Fleet`"
}
],
"platformOptions": {
"ignoreTimeRange": false
}
}
}
]
}
]
}
Binary file added dashboards/amazon-appstream/amazon-appstream.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
34 changes: 34 additions & 0 deletions quickstarts/aws/amazon-appstream/config.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
slug: amazon-appstream
description: |-
## What is Amazon AppStream?
Amazon AppStream 2.0 is a fully managed application streaming service that provides users with instant access to their desktop applications from anywhere.
### Get started!
Start monitoring Amazon AppStream by connecting Amazon Web Services (AWS) to New Relic! Take a look at our documentation for information on how to set up this integration.
### More info
Check out the [documentation](https://docs.newrelic.com/docs/infrastructure/amazon-integrations/aws-integrations-list/amazon-appstream-monitoring-integration/) to learn more about New Relic monitoring for Amazon AppStream.
summary: |-
Monitor Amazon AppStream by connecting AWS to New Relic
icon: logo.png
level: New Relic
authors:
- New Relic
title: Amazon AppStream
documentation:
- name: Amazon AppStream installation docs
description: |
Monitor Amazon AppStream by connecting AWS to New Relic.
url: >-
https://docs.newrelic.com/docs/infrastructure/amazon-integrations/aws-integrations-list/amazon-appstream-monitoring-integration/
keywords:
- aws
- amazon web services
- AppStream
- amazon appstream
- app stream
- amazon app stream
alertPolicies:
- amazon-appstream
dashboards:
- amazon-appstream
dataSourceIds:
- amazon-cloudwatch-metric-streams
Binary file added quickstarts/aws/amazon-appstream/logo.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.

0 comments on commit a0666e6

Please sign in to comment.