Использование API-интерфейса cloudwatch get_metric_data для получения метрик вызова конечных точек sagemaker - PullRequest
0 голосов
/ 28 февраля 2019

Я пытаюсь использовать aws cloudwatch api get_metric_data для получения метрик вызова конечной точки sagemaker в python, и он возвращает мне пустые метки времени и значения, но между указанным временем есть некоторые вызовы, поэтому что-то идет не так.Ниже приведен код, который я пишу на python.

cloudwatch.get_metric_data(
MetricDataQueries=[
    {
        'Id': 'm1',
        'MetricStat': {
            'Metric': {
                'Namespace': 'AWS/SageMaker',
                'MetricName': 'Invocations',
                'Dimensions': [
                    {
                        'Name': 'EndpointName',
                        'Value': 'users-hcl-2',
                    },
                    {
                        'Name': 'VariantName',
                        'Value': 'AllTraffic',
                    },
                ]
            },
            'Period': 3600,
            'Stat': 'Sum',
            'Unit': 'None'
        },
        'ReturnData': True,
    },
],
StartTime=datetime(2019, 2, 1),
EndTime=datetime(2019,2,13),
)

И он возвращается ниже:

    {'MetricDataResults': [{'Id': 'm1',
   'Label': 'Invocations',
   'Timestamps': [],
   'Values': [],
   'StatusCode': 'Complete'}],
 'ResponseMetadata': {'RequestId': '8dd847eb-3b43-11e9-b50f-5f6fedb3e07d',
  'HTTPStatusCode': 200,
  'HTTPHeaders': {'x-amzn-requestid': '8dd847eb-3b43-11e9-b50f-5f6fedb3e07d',
   'content-type': 'text/xml',
   'content-length': '494',
   'date': 'Thu, 28 Feb 2019 10:28:13 GMT'},
  'RetryAttempts': 0}}

Как я уже сказал, отметка времени и значения не должны быть пустыми, вы можете мне помочь?Чтобы выяснить, где я поступил неправильно, я нашел несколько полезных ссылок ниже:

концепции cloudwatch: https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/cloudwatch_concepts.html

информация о показателях вызова: https://docs.aws.amazon.com/sagemaker/latest/dg/monitoring-cloudwatch.html

cloudwatch get_metric_data api:https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/ cloudwatch.html # CloudWatch.Client.get_metric_data

Для того, что я уже пробовал, изменив сущность« Период »наразные значения, но это не помогает. Заранее спасибо.

Ответы [ 2 ]

0 голосов
/ 01 марта 2019

Ваша настройка MetricDataQueries выглядит правильно для меня для метрики Invocations при условии, что ваши EndpointName и VariantName верны.

Это хороший вызов для 2-го пункта Тартальи «Проверьте, что вы вызываете правильный регион».регион по умолчанию - us-west-2.

Проверены ли ваши показатели в консоли CloudWatch?Если вам не удается извлечь метрики, вы также можете попытаться создать поддержку с помощью SageMaker, чтобы вы могли предоставить им более подробную информацию, такую ​​как endpointArn и т. Д., И они могли бы проверить публикацию метрики на своей стороне.

Бест, Джона

0 голосов
/ 28 февраля 2019

Если вы правильно выбрали все размеры, сначала нужно сделать две вещи:

  1. Попробуйте изменить значение на Count или полностью удалить его.
  2. Проверьтечто вы называете правильный регион.Укажите прямо в своем клиенте целевой регион, например, так: cloudwatch = boto3.client('cloudwatch', region_name='TARGET-REGION')

Ниже приведены общие инструкции по отладке пустых ответов на данные: Как получить метрики AWS Cloudwatch с помощьюAWSSDK.CloudWatch

...