Amazon CloudWatch Application Insights

2022/06/02 - Amazon CloudWatch Application Insights - 3 updated api methods

Changes  Provide Account Level onboarding support through CFN/CLI

CreateApplication (updated) Link ¶
Changes (request)
{'GroupingType': 'ACCOUNT_BASED'}

Adds an application that is created from a resource group.

See also: AWS API Documentation

Request Syntax

client.create_application(
    ResourceGroupName='string',
    OpsCenterEnabled=True|False,
    CWEMonitorEnabled=True|False,
    OpsItemSNSTopicArn='string',
    Tags=[
        {
            'Key': 'string',
            'Value': 'string'
        },
    ],
    AutoConfigEnabled=True|False,
    AutoCreate=True|False,
    GroupingType='ACCOUNT_BASED'
)
type ResourceGroupName:

string

param ResourceGroupName:

The name of the resource group.

type OpsCenterEnabled:

boolean

param OpsCenterEnabled:

When set to true, creates opsItems for any problems detected on an application.

type CWEMonitorEnabled:

boolean

param CWEMonitorEnabled:

Indicates whether Application Insights can listen to CloudWatch events for the application resources, such as instance terminated, failed deployment, and others.

type OpsItemSNSTopicArn:

string

param OpsItemSNSTopicArn:

The SNS topic provided to Application Insights that is associated to the created opsItem. Allows you to receive notifications for updates to the opsItem.

type Tags:

list

param Tags:

List of tags to add to the application. tag key ( Key) and an associated tag value ( Value). The maximum length of a tag key is 128 characters. The maximum length of a tag value is 256 characters.

  • (dict) --

    An object that defines the tags associated with an application. A tag is a label that you optionally define and associate with an application. Tags can help you categorize and manage resources in different ways, such as by purpose, owner, environment, or other criteria.

    Each tag consists of a required tag key and an associated tag value, both of which you define. A tag key is a general label that acts as a category for a more specific tag value. A tag value acts as a descriptor within a tag key. A tag key can contain as many as 128 characters. A tag value can contain as many as 256 characters. The characters can be Unicode letters, digits, white space, or one of the following symbols: _ . : / = + -. The following additional restrictions apply to tags:

    • Tag keys and values are case sensitive.

    • For each associated resource, each tag key must be unique and it can have only one value.

    • The aws: prefix is reserved for use by AWS; you can’t use it in any tag keys or values that you define. In addition, you can't edit or remove tag keys or values that use this prefix.

    • Key (string) -- [REQUIRED]

      One part of a key-value pair that defines a tag. The maximum length of a tag key is 128 characters. The minimum length is 1 character.

    • Value (string) -- [REQUIRED]

      The optional part of a key-value pair that defines a tag. The maximum length of a tag value is 256 characters. The minimum length is 0 characters. If you don't want an application to have a specific tag value, don't specify a value for this parameter.

type AutoConfigEnabled:

boolean

param AutoConfigEnabled:

Indicates whether Application Insights automatically configures unmonitored resources in the resource group.

type AutoCreate:

boolean

param AutoCreate:

Configures all of the resources in the resource group by applying the recommended configurations.

type GroupingType:

string

param GroupingType:

Application Insights can create applications based on a resource group or on an account. To create an account-based application using all of the resources in the account, set this parameter to ACCOUNT_BASED.

rtype:

dict

returns:

Response Syntax

{
    'ApplicationInfo': {
        'ResourceGroupName': 'string',
        'LifeCycle': 'string',
        'OpsItemSNSTopicArn': 'string',
        'OpsCenterEnabled': True|False,
        'CWEMonitorEnabled': True|False,
        'Remarks': 'string',
        'AutoConfigEnabled': True|False,
        'DiscoveryType': 'RESOURCE_GROUP_BASED'|'ACCOUNT_BASED'
    }
}

Response Structure

  • (dict) --

    • ApplicationInfo (dict) --

      Information about the application.

      • ResourceGroupName (string) --

        The name of the resource group used for the application.

      • LifeCycle (string) --

        The lifecycle of the application.

      • OpsItemSNSTopicArn (string) --

        The SNS topic provided to Application Insights that is associated to the created opsItems to receive SNS notifications for opsItem updates.

      • OpsCenterEnabled (boolean) --

        Indicates whether Application Insights will create opsItems for any problem detected by Application Insights for an application.

      • CWEMonitorEnabled (boolean) --

        Indicates whether Application Insights can listen to CloudWatch events for the application resources, such as instance terminated, failed deployment, and others.

      • Remarks (string) --

        The issues on the user side that block Application Insights from successfully monitoring an application. Example remarks include:

        • “Configuring application, detected 1 Errors, 3 Warnings”

        • “Configuring application, detected 1 Unconfigured Components”

      • AutoConfigEnabled (boolean) --

        Indicates whether auto-configuration is turned on for this application.

      • DiscoveryType (string) --

        The method used by Application Insights to onboard your resources.

DescribeProblem (updated) Link ¶
Changes (response)
{'Problem': {'SeverityLevel': {'Informative'}}}

Describes an application problem.

See also: AWS API Documentation

Request Syntax

client.describe_problem(
    ProblemId='string'
)
type ProblemId:

string

param ProblemId:

[REQUIRED]

The ID of the problem.

rtype:

dict

returns:

Response Syntax

{
    'Problem': {
        'Id': 'string',
        'Title': 'string',
        'Insights': 'string',
        'Status': 'IGNORE'|'RESOLVED'|'PENDING'|'RECURRING',
        'AffectedResource': 'string',
        'StartTime': datetime(2015, 1, 1),
        'EndTime': datetime(2015, 1, 1),
        'SeverityLevel': 'Informative'|'Low'|'Medium'|'High',
        'ResourceGroupName': 'string',
        'Feedback': {
            'string': 'NOT_SPECIFIED'|'USEFUL'|'NOT_USEFUL'
        },
        'RecurringCount': 123,
        'LastRecurrenceTime': datetime(2015, 1, 1)
    }
}

Response Structure

  • (dict) --

    • Problem (dict) --

      Information about the problem.

      • Id (string) --

        The ID of the problem.

      • Title (string) --

        The name of the problem.

      • Insights (string) --

        A detailed analysis of the problem using machine learning.

      • Status (string) --

        The status of the problem.

      • AffectedResource (string) --

        The resource affected by the problem.

      • StartTime (datetime) --

        The time when the problem started, in epoch seconds.

      • EndTime (datetime) --

        The time when the problem ended, in epoch seconds.

      • SeverityLevel (string) --

        A measure of the level of impact of the problem.

      • ResourceGroupName (string) --

        The name of the resource group affected by the problem.

      • Feedback (dict) --

        Feedback provided by the user about the problem.

        • (string) --

          • (string) --

      • RecurringCount (integer) --

        The number of times that the same problem reoccurred after the first time it was resolved.

      • LastRecurrenceTime (datetime) --

        The last time that the problem reoccurred after its last resolution.

ListProblems (updated) Link ¶
Changes (response)
{'ProblemList': {'SeverityLevel': {'Informative'}}}

Lists the problems with your application.

See also: AWS API Documentation

Request Syntax

client.list_problems(
    ResourceGroupName='string',
    StartTime=datetime(2015, 1, 1),
    EndTime=datetime(2015, 1, 1),
    MaxResults=123,
    NextToken='string',
    ComponentName='string'
)
type ResourceGroupName:

string

param ResourceGroupName:

The name of the resource group.

type StartTime:

datetime

param StartTime:

The time when the problem was detected, in epoch seconds. If you don't specify a time frame for the request, problems within the past seven days are returned.

type EndTime:

datetime

param EndTime:

The time when the problem ended, in epoch seconds. If not specified, problems within the past seven days are returned.

type MaxResults:

integer

param MaxResults:

The maximum number of results to return in a single call. To retrieve the remaining results, make another call with the returned NextToken value.

type NextToken:

string

param NextToken:

The token to request the next page of results.

type ComponentName:

string

param ComponentName:

The name of the component.

rtype:

dict

returns:

Response Syntax

{
    'ProblemList': [
        {
            'Id': 'string',
            'Title': 'string',
            'Insights': 'string',
            'Status': 'IGNORE'|'RESOLVED'|'PENDING'|'RECURRING',
            'AffectedResource': 'string',
            'StartTime': datetime(2015, 1, 1),
            'EndTime': datetime(2015, 1, 1),
            'SeverityLevel': 'Informative'|'Low'|'Medium'|'High',
            'ResourceGroupName': 'string',
            'Feedback': {
                'string': 'NOT_SPECIFIED'|'USEFUL'|'NOT_USEFUL'
            },
            'RecurringCount': 123,
            'LastRecurrenceTime': datetime(2015, 1, 1)
        },
    ],
    'NextToken': 'string',
    'ResourceGroupName': 'string'
}

Response Structure

  • (dict) --

    • ProblemList (list) --

      The list of problems.

      • (dict) --

        Describes a problem that is detected by correlating observations.

        • Id (string) --

          The ID of the problem.

        • Title (string) --

          The name of the problem.

        • Insights (string) --

          A detailed analysis of the problem using machine learning.

        • Status (string) --

          The status of the problem.

        • AffectedResource (string) --

          The resource affected by the problem.

        • StartTime (datetime) --

          The time when the problem started, in epoch seconds.

        • EndTime (datetime) --

          The time when the problem ended, in epoch seconds.

        • SeverityLevel (string) --

          A measure of the level of impact of the problem.

        • ResourceGroupName (string) --

          The name of the resource group affected by the problem.

        • Feedback (dict) --

          Feedback provided by the user about the problem.

          • (string) --

            • (string) --

        • RecurringCount (integer) --

          The number of times that the same problem reoccurred after the first time it was resolved.

        • LastRecurrenceTime (datetime) --

          The last time that the problem reoccurred after its last resolution.

    • NextToken (string) --

      The token used to retrieve the next page of results. This value is null when there are no more results to return.

    • ResourceGroupName (string) --

      The name of the resource group.