Pergunta

Eu tenho uma métrica personalizada de observação na nuvem com unidade de segundos.(representando a idade de um cache)

Como de costume, os valores estão em torno de 125.000. Gostaria de convertê-los em horas - para melhor legibilidade.

Isso é possível?

Foi útil?

Solução 2

Cloudwatch não faz nenhuma conversão de unidade (ou seja, segundos em horas etc). Portanto, você não pode usar o console da AWS para exibir seus valores de datapoint 'segundos' convertidos em horas.

Você poderia publicar seus valores métricos como 'horas' (deixando o campo da unidade em branco ou defini-lo para 'Nenhum').

Caso se você ainda quiser fornecer os Datapoints com unidades 'segundos', você pode recuperar os Datapoints (usando a API GetMetricStatistics) e grite os valores usando alguma outra solução de painel / gráfico.

Outras dicas

Isto mudou com a adição de Métricas Matemática.Você pode fazer todos os tipos de transformações em seus dados, tanto manualmente (no console) quanto a partir de modelos de painel do CloudFormation.


Do console: veja o link acima, que diz:

Para adicionar uma expressão matemática a um gráfico

  1. Abra o console do CloudWatch em https://console.aws.amazon.com/cloudwatch/.

  2. Crie ou edite um widget gráfico ou de linha.

  3. Escolha Métricas gráficas.

  4. Escolha Adicionar uma expressão matemática.Uma nova linha aparece para a expressão.

  5. Na coluna Detalhes, digite a expressão matemática.As tabelas na seção a seguir listam as funções que você pode usar no expressão.

    Para usar uma métrica ou o resultado de outra expressão como parte da fórmula desta expressão, use o valor mostrado na coluna Id.Durante exemplo m1+m2 ou e1-MIN(e1).


De um modelo CloudFormation

Você pode adicionar novas métricas que são expressões Metrics Math, transformando as métricas existentes.Você pode adicionar, subtrair, multiplicar, etc.métricas e escalares.No seu caso, você provavelmente deseja apenas usar a divisão, como neste exemplo:

Digamos que você tenha a seguinte latência de solicitação de bucket metrics objeto em seu modelo:

"metrics":[
  ["AWS/S3","TotalRequestLatency","BucketName","MyBucketName"]
]

O padrão de latência é em milissegundos.Vamos traçar isso em segundos, apenas por diversão. 1s = 1,000ms então adicionaremos o seguinte:

"metrics":[
  ["AWS/S3","TotalRequestLatency","BucketName","MyBucketName",{"id": "timeInMillis"}],
  [{"expression":"timeInMillis / 1000", "label":"LatencyInSeconds","id":"timeInSeconds"}]
]

Observe que o expression tem acesso ao ID das outras métricas.Nomeações úteis podem ser úteis quando as coisas ficam mais complicadas, mas o principal é apenas combinar as variáveis ​​que você colocou na expressão com o ID você atribui à métrica correspondente.

Isso nos deixa com um gráfico com dois métricas sobre ele:um milissegundos, os outros segundos.Se quisermos perder os milissegundos, podemos, mas precisa manter os valores métricos para calcular a expressão matemática, então usamos a seguinte solução alternativa:

"metrics":[
  ["AWS/S3","TotalRequestLatency","BucketName","MyBucketName",{"id": "timeInMillis","visible":false}],
  [{"expression":"timeInMillis / 1000", "label":"LatencyInSeconds","id":"timeInSeconds"}]
]

Tornar a métrica invisível a tira do gráfico e ainda nos permite calcular nossa expressão a partir dela.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top