Amazon CloudWatch Application Signals

2024/07/25 - Amazon CloudWatch Application Signals - 1 updated api methods

Changes  CloudWatch Application Signals now supports application logs correlation with traces and operational health metrics of applications running on EC2 instances. Users can view the most relevant telemetry to troubleshoot application health anomalies such as spikes in latency, errors, and availability.

GetService (updated) Link ΒΆ
Changes (response)
{'LogGroupReferences': [{'string': 'string'}],
 'Service': {'LogGroupReferences': [{'string': 'string'}]}}

Returns information about a service discovered by Application Signals.

See also: AWS API Documentation

Request Syntax

client.get_service(
    StartTime=datetime(2015, 1, 1),
    EndTime=datetime(2015, 1, 1),
    KeyAttributes={
        'string': 'string'
    }
)
type StartTime:

datetime

param StartTime:

[REQUIRED]

The start of the time period to retrieve information about. When used in a raw HTTP Query API, it is formatted as be epoch time in seconds. For example: 1698778057

Your requested start time will be rounded to the nearest hour.

type EndTime:

datetime

param EndTime:

[REQUIRED]

The end of the time period to retrieve information about. When used in a raw HTTP Query API, it is formatted as be epoch time in seconds. For example: 1698778057

Your requested start time will be rounded to the nearest hour.

type KeyAttributes:

dict

param KeyAttributes:

[REQUIRED]

Use this field to specify which service you want to retrieve information for. You must specify at least the Type, Name, and Environment attributes.

This is a string-to-string map. It can include the following fields.

  • Type designates the type of object this is.

  • ResourceType specifies the type of the resource. This field is used only when the value of the Type field is Resource or AWS::Resource.

  • Name specifies the name of the object. This is used only if the value of the Type field is Service, RemoteService, or AWS::Service.

  • Identifier identifies the resource objects of this resource. This is used only if the value of the Type field is Resource or AWS::Resource.

  • Environment specifies the location where this object is hosted, or what it belongs to.

  • (string) --

    • (string) --

rtype:

dict

returns:

Response Syntax

{
    'Service': {
        'KeyAttributes': {
            'string': 'string'
        },
        'AttributeMaps': [
            {
                'string': 'string'
            },
        ],
        'MetricReferences': [
            {
                'Namespace': 'string',
                'MetricType': 'string',
                'Dimensions': [
                    {
                        'Name': 'string',
                        'Value': 'string'
                    },
                ],
                'MetricName': 'string'
            },
        ],
        'LogGroupReferences': [
            {
                'string': 'string'
            },
        ]
    },
    'StartTime': datetime(2015, 1, 1),
    'EndTime': datetime(2015, 1, 1),
    'LogGroupReferences': [
        {
            'string': 'string'
        },
    ]
}

Response Structure

  • (dict) --

    • Service (dict) --

      A structure containing information about the service.

      • KeyAttributes (dict) --

        This is a string-to-string map. It can include the following fields.

        • Type designates the type of object this is.

        • ResourceType specifies the type of the resource. This field is used only when the value of the Type field is Resource or AWS::Resource.

        • Name specifies the name of the object. This is used only if the value of the Type field is Service, RemoteService, or AWS::Service.

        • Identifier identifies the resource objects of this resource. This is used only if the value of the Type field is Resource or AWS::Resource.

        • Environment specifies the location where this object is hosted, or what it belongs to.

        • (string) --

          • (string) --

      • AttributeMaps (list) --

        This structure contains one or more string-to-string maps that help identify this service. It can include platform attributes, application attributes, and telemetry attributes.

        Platform attributes contain information the service's platform.

        • PlatformType defines the hosted-in platform.

        • EKS.Cluster is the name of the Amazon EKS cluster.

        • K8s.Cluster is the name of the self-hosted Kubernetes cluster.

        • K8s.Namespace is the name of the Kubernetes namespace in either Amazon EKS or Kubernetes clusters.

        • K8s.Workload is the name of the Kubernetes workload in either Amazon EKS or Kubernetes clusters.

        • K8s.Node is the name of the Kubernetes node in either Amazon EKS or Kubernetes clusters.

        • K8s.Pod is the name of the Kubernetes pod in either Amazon EKS or Kubernetes clusters.

        • EC2.AutoScalingGroup is the name of the Amazon EC2 Auto Scaling group.

        • EC2.InstanceId is the ID of the Amazon EC2 instance.

        • Host is the name of the host, for all platform types.

        Applciation attributes contain information about the application.

        • AWS.Application is the application's name in Amazon Web Services Service Catalog AppRegistry.

        • AWS.Application.ARN is the application's ARN in Amazon Web Services Service Catalog AppRegistry.

        Telemetry attributes contain telemetry information.

        • Telemetry.SDK is the fingerprint of the OpenTelemetry SDK version for instrumented services.

        • Telemetry.Agent is the fingerprint of the agent used to collect and send telemetry data.

        • Telemetry.Source Specifies the point of application where the telemetry was collected or specifies what was used for the source of telemetry data.

        • (dict) --

          • (string) --

            • (string) --

      • MetricReferences (list) --

        An array of structures that each contain information about one metric associated with this service.

        • (dict) --

          This structure contains information about one CloudWatch metric associated with this entity discovered by Application Signals.

          • Namespace (string) --

            The namespace of the metric. For more information, see CloudWatchNamespaces.

          • MetricType (string) --

            Used to display the appropriate statistics in the CloudWatch console.

          • Dimensions (list) --

            An array of one or more dimensions that further define the metric. For more information, see CloudWatchDimensions.

            • (dict) --

              A dimension is a name/value pair that is part of the identity of a metric. Because dimensions are part of the unique identifier for a metric, whenever you add a unique name/value pair to one of your metrics, you are creating a new variation of that metric. For example, many Amazon EC2 metrics publish InstanceId as a dimension name, and the actual instance ID as the value for that dimension.

              You can assign up to 30 dimensions to a metric.

              • Name (string) --

                The name of the dimension. Dimension names must contain only ASCII characters, must include at least one non-whitespace character, and cannot start with a colon ( :). ASCII control characters are not supported as part of dimension names.

              • Value (string) --

                The value of the dimension. Dimension values must contain only ASCII characters and must include at least one non-whitespace character. ASCII control characters are not supported as part of dimension values.

          • MetricName (string) --

            The name of the metric.

      • LogGroupReferences (list) --

        An array of string-to-string maps that each contain information about one log group associated with this service. Each string-to-string map includes the following fields:

        • "Type": "AWS::Resource"

        • "ResourceType": "AWS::Logs::LogGroup"

        • "Identifier": "name-of-log-group"

        • (dict) --

          • (string) --

            • (string) --

    • StartTime (datetime) --

      The start time of the data included in the response. In a raw HTTP Query API, it is formatted as be epoch time in seconds. For example: 1698778057.

      This displays the time that Application Signals used for the request. It might not match your request exactly, because it was rounded to the nearest hour.

    • EndTime (datetime) --

      The end time of the data included in the response. In a raw HTTP Query API, it is formatted as be epoch time in seconds. For example: 1698778057.

      This displays the time that Application Signals used for the request. It might not match your request exactly, because it was rounded to the nearest hour.

    • LogGroupReferences (list) --

      An array of string-to-string maps that each contain information about one log group associated with this service. Each string-to-string map includes the following fields:

      • "Type": "AWS::Resource"

      • "ResourceType": "AWS::Logs::LogGroup"

      • "Identifier": "name-of-log-group"

      • (dict) --

        • (string) --

          • (string) --