Exemplo de publicação de métrica personalizada do AWS CloudWatch

1

Estou com muita dificuldade para publicar uma métrica personalizada no AWS CloudWatch. O problema é que minha métrica 'testmetric' não está aparecendo na interface do usuário do CloudWatch. Eu poderia estar faltando a parte na interface do usuário onde a métrica deve ser visível, ou eu não poderia ativar algo em algum lugar ... Clueless

Eu tentei com o Boto (python package boto == 2.8.0)

from boto.ec2.cloudwatch import CloudWatchConnection
cwc = CloudWatchConnection(settings.AWS_ACCESS_KEY_ID, settings.AWS_SECRET_ACCESS_KEY)
cwc.put_metric_data(**{
    "namespace" : "testns",
    "name" : "testmetric",
    "unit" : "Count",
    "value" : 3
})

Também experimentamos este módulo simples da loggly: link

Thx

    
por Vajk Hermecz 21.02.2014 / 10:02

2 respostas

0

Se a região não for fornecida para o CloudWatchConnection , ele pegará automaticamente us-east-1 , a métrica deverá estar disponível lá.

Tenha também cuidado ao obter sua região, a partir do boto v2.27.0, boto.ec2.get_region ("us-west-1") retorna CloudWatchConnection:ec2.us-west-1.amazonaws.com enquanto você precisaria de CloudWatchConnection:monitoring.us-west-1.amazonaws.com . Use algo como o código abaixo:

for r in boto.ec2.cloudwatch.regions():
    if (r.name == 'us-west-1'):
        region = r

A interface do usuário da AWS deve mostrar a métrica se você filtrar por nome, ela pode ser acessada selecionando-se seu namespace personalizado no menu suspenso:

    
por 17.04.2014 / 18:41
3

Você está passando os argumentos para put_metric_data incorretamente. Você está passando-os como um único dicionário, enquanto eles devem ser argumentos individuais como este:

cwc.put_metric_data(namespace="testns",name="testmetric",unit="Count",value=3.0)

Além disso, o valor deve ser um float, como visto acima, e não um inteiro.

    
por 29.04.2014 / 15:58