As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.
Publicação de métricas CloudWatch personalizadas da Amazon para um ambiente
Você pode publicar os dados coletados por meio de relatórios de saúde AWS Elastic Beanstalk aprimorados na Amazon CloudWatch como métricas personalizadas. A publicação de métricas CloudWatch permite monitorar as mudanças no desempenho do aplicativo ao longo do tempo e identificar possíveis problemas rastreando como o uso de recursos e a latência da solicitação aumentam com a carga.
Ao publicar métricas em CloudWatch, você também as disponibiliza para uso com gráficos de monitoramento e alarmes. Uma métrica gratuita, EnvironmentHealth, é ativada automaticamente quando você usa relatórios de saúde aprimorados. Métricas personalizadas que não EnvironmentHealthsejam CloudWatch cobranças
Para publicar métricas CloudWatch personalizadas para um ambiente, você deve primeiro habilitar relatórios de integridade aprimorados sobre o ambiente. Para obter instruções, consulte Habilitar relatórios de integridade aprimorada do Elastic Beanstalk.
Tópicos
Métricas de relatórios de integridade aprimorada
Quando você ativa relatórios de integridade aprimorados em seu ambiente, o sistema aprimorado de relatórios de integridade publica automaticamente uma métrica CloudWatch personalizada, EnvironmentHealth. Para publicar métricas adicionais CloudWatch, configure seu ambiente com essas métricas usando o console do Elastic Beanstalk, EB CLI ou .ebextensions.
Você pode publicar as seguintes métricas de saúde aprimoradas do seu ambiente para CloudWatch.
Métricas disponíveis — todas as plataformas
EnvironmentHealth-
Ambiente apenas. Essa é a única CloudWatch métrica que o sistema aprimorado de relatórios de saúde publica, a menos que você configure métricas adicionais. A integridade do ambiente é representada por um dos sete status. No CloudWatch console, esses status são mapeados para os seguintes valores:
-
0: OK
-
1: Informações
-
5: Desconhecido
-
10: Sem dados
-
15: Aviso
-
20: Reduzido
-
25: Grave
-
InstancesSevereInstancesDegradedInstancesWarningInstancesInfoInstancesOkInstancesPendingInstancesUnknownInstancesNoData-
Ambiente apenas. Essas métricas indicam o número de instâncias no ambiente com cada status de integridade.
InstancesNoDataindica o número de instâncias para as quais não há dados recebidos. ApplicationRequestsTotalApplicationRequests5xxApplicationRequests4xxApplicationRequests3xxApplicationRequests2xx-
Instância e ambiente. Indica o número total de solicitações concluídas pela instância ou ambiente, e o número de solicitações que foram concluídas com cada categoria de código de status.
ApplicationLatencyP10ApplicationLatencyP50ApplicationLatencyP75ApplicationLatencyP85ApplicationLatencyP90ApplicationLatencyP95ApplicationLatencyP99ApplicationLatencyP99.9-
Instância e ambiente. Indica o tempo médio, em segundos, que leva para concluir com mais rapidez x % de solicitações.
InstanceHealth-
Instância apenas. Indica o status da integridade atual da instância. A integridade da instância é representada por um dos sete status. No CloudWatch console, esses status são mapeados para os seguintes valores:
-
0: OK
-
1: Informações
-
5: Desconhecido
-
10: Sem dados
-
15: Aviso
-
20: Reduzido
-
25: Grave
-
Métricas disponíveis — Linux
CPUIrqCPUIdleCPUUserCPUSystemCPUSoftirqCPUIowaitCPUNice-
Instância apenas. Indica a porcentagem de tempo que a CPU passou em cada estado no último minuto.
LoadAverage1min-
Instância apenas. A carga média de CPU da instância durante o último minuto.
RootFilesystemUtil-
Instância apenas. Indica a porcentagem do espaço em disco em uso.
Métricas disponíveis — Windows
CPUIdleCPUUserCPUPrivileged-
Instância apenas. Indica a porcentagem de tempo que a CPU passou em cada estado no último minuto.
Configurando CloudWatch métricas usando o console do Elastic Beanstalk
Você pode usar o console do Elastic Beanstalk para configurar seu ambiente para publicar CloudWatch métricas aprimoradas de relatórios de saúde e disponibilizá-las para uso com gráficos de monitoramento e alarmes.
Para configurar métricas CloudWatch personalizadas no console do Elastic Beanstalk
Abra o console do Elastic
Beanstalk e, na lista Regiões, selecione sua. Região da AWS -
No painel de navegação, selecione Ambientes e selecione o nome do ambiente na lista.
No painel de navegação, escolha Configuration (Configuração).
-
Na categoria de configuração Monitoring (Monitoramento), escolha Edit (Editar).
-
Em Health reporting (Relatórios de integridade), selecione as métricas de instância e de ambiente a serem publicadas no CloudWatch. Para selecionar várias métricas, mantenha pressionada a tecla Ctrl enquanto escolhe.
-
Para salvar as alterações, escolha Apply (Aplicar) na parte inferior da página.
A ativação de métricas CloudWatch personalizadas as adiciona à lista de métricas disponíveis na página Monitoramento.
Configurando métricas CloudWatch personalizadas usando o EB CLI
Use a CLI do EB para configurar métricas personalizadas, salvando a configuração do ambiente localmente, adicionando uma entrada que define as métricas para publicação e fazendo upload da configuração no Elastic Beanstalk. Você pode aplicar a configuração salva a um ambiente durante ou após a criação.
Para configurar métricas CloudWatch personalizadas com a CLI do EB e configurações salvas
-
Inicialize a pasta do projeto com eb init.
-
Crie um ambiente executando o comando eb create.
-
Salve um modelo de configuração localmente, executando o comando eb config save. O exemplo a seguir usa a opção
--cfgpara especificar o nome da configuração.$eb config save --cfgConfiguration saved at: ~/project/.elasticbeanstalk/saved_configs/01-base-state.cfg.yml01-base-state -
Abra o arquivo de configuração salvo em um editor de texto.
-
Em
OptionSettings>aws:elasticbeanstalk:healthreporting:system:, adicione umaConfigDocumentchave para ativar cada uma das CloudWatch métricas desejadas. Por exemplo,ConfigDocumentpublica as métricasApplicationRequests5xxeApplicationRequests4xxno nível de ambiente e as métricasApplicationRequestsTotalno nível de instância.OptionSettings: ... aws:elasticbeanstalk:healthreporting:system:ConfigDocument: CloudWatchMetrics: Environment: ApplicationRequests5xx: 60 ApplicationRequests4xx: 60 Instance: ApplicationRequestsTotal: 60 Version: 1SystemType: enhanced ...No exemplo, 60 indica o número de segundos entre as medidas. No momento, este é o único valor aceito.
nota
É possível combinar
CloudWatchMetricseRulesna mesma configuração da opçãoConfigDocument.Rulessão descritas em Configurar as regras de integridade aperfeiçoada de um ambiente.Se você tiver usado
Rulesanteriormente para configurar as regras de integridade aprimorada, o arquivo de configuração recuperado por meio do comando eb config save já terá uma chaveConfigDocumentcom uma seçãoRules. Não o exclua, em vez disso, adicione uma seçãoCloudWatchMetricsno mesmo valor da opçãoConfigDocument. -
Salve o arquivo de configuração e feche o editor de texto. Neste exemplo, o arquivo de configuração atualizado é salvo com um nome (
02-cloudwatch-enabled.cfg.yml) que seja diferente do arquivo de configuração que foi baixado. Isso cria uma configuração salva separada quando o arquivo é carregado. Você pode usar o mesmo nome que o arquivo baixado para substituir a configuração existente, sem criar um novo. -
Use o comando eb config put para fazer upload do arquivo de configuração atualizado no Elastic Beanstalk.
$eb config put02-cloudwatch-enabledAo usar os comandos eb config
geteputcom configurações salvas, não inclua a extensão de arquivo. -
Aplique a configuração salva ao ambiente em execução.
$eb config --cfg02-cloudwatch-enabledA opção
--cfgespecifica um arquivo de configuração nomeado que é aplicado ao ambiente. É possível salvar o arquivo de configuração localmente ou no Elastic Beanstalk. Se um arquivo de configuração com o nome especificado já existir em ambos os locais, a EB CLI usará o arquivo local.
Fornecer documentos Config de métrica personalizada
O documento de configuração (config) das métricas CloudWatch personalizadas da Amazon é um documento JSON que lista as métricas a serem publicadas nos níveis de ambiente e instância. O exemplo a seguir mostra um documento config que habilita todas as métricas disponíveis no Linux.
{
"CloudWatchMetrics": {
"Environment": {
"ApplicationLatencyP99.9": 60,
"InstancesSevere": 60,
"ApplicationLatencyP90": 60,
"ApplicationLatencyP99": 60,
"ApplicationLatencyP95": 60,
"InstancesUnknown": 60,
"ApplicationLatencyP85": 60,
"InstancesInfo": 60,
"ApplicationRequests2xx": 60,
"InstancesDegraded": 60,
"InstancesWarning": 60,
"ApplicationLatencyP50": 60,
"ApplicationRequestsTotal": 60,
"InstancesNoData": 60,
"InstancesPending": 60,
"ApplicationLatencyP10": 60,
"ApplicationRequests5xx": 60,
"ApplicationLatencyP75": 60,
"InstancesOk": 60,
"ApplicationRequests3xx": 60,
"ApplicationRequests4xx": 60
},
"Instance": {
"ApplicationLatencyP99.9": 60,
"ApplicationLatencyP90": 60,
"ApplicationLatencyP99": 60,
"ApplicationLatencyP95": 60,
"ApplicationLatencyP85": 60,
"CPUUser": 60,
"ApplicationRequests2xx": 60,
"CPUIdle": 60,
"ApplicationLatencyP50": 60,
"ApplicationRequestsTotal": 60,
"RootFilesystemUtil": 60,
"LoadAverage1min": 60,
"CPUIrq": 60,
"CPUNice": 60,
"CPUIowait": 60,
"ApplicationLatencyP10": 60,
"LoadAverage5min": 60,
"ApplicationRequests5xx": 60,
"ApplicationLatencyP75": 60,
"CPUSystem": 60,
"ApplicationRequests3xx": 60,
"ApplicationRequests4xx": 60,
"InstanceHealth": 60,
"CPUSoftirq": 60
}
},
"Version": 1
}
Para o AWS CLI, você passa o documento como um valor para a Value chave em um argumento de configurações de opção, que por si só é um objeto JSON. Nesse caso, você deve escapar as aspas no documento incorporado.
$ aws elasticbeanstalk validate-configuration-settings --application-name my-app --environment-name my-env --option-settings '[
{
"Namespace": "aws:elasticbeanstalk:healthreporting:system",
"OptionName": "ConfigDocument",
"Value": "{\"CloudWatchMetrics\": {\"Environment\": {\"ApplicationLatencyP99.9\": 60,\"InstancesSevere\": 60,\"ApplicationLatencyP90\": 60,\"ApplicationLatencyP99\": 60,\"ApplicationLatencyP95\": 60,\"InstancesUnknown\": 60,\"ApplicationLatencyP85\": 60,\"InstancesInfo\": 60,\"ApplicationRequests2xx\": 60,\"InstancesDegraded\": 60,\"InstancesWarning\": 60,\"ApplicationLatencyP50\": 60,\"ApplicationRequestsTotal\": 60,\"InstancesNoData\": 60,\"InstancesPending\": 60,\"ApplicationLatencyP10\": 60,\"ApplicationRequests5xx\": 60,\"ApplicationLatencyP75\": 60,\"InstancesOk\": 60,\"ApplicationRequests3xx\": 60,\"ApplicationRequests4xx\": 60},\"Instance\": {\"ApplicationLatencyP99.9\": 60,\"ApplicationLatencyP90\": 60,\"ApplicationLatencyP99\": 60,\"ApplicationLatencyP95\": 60,\"ApplicationLatencyP85\": 60,\"CPUUser\": 60,\"ApplicationRequests2xx\": 60,\"CPUIdle\": 60,\"ApplicationLatencyP50\": 60,\"ApplicationRequestsTotal\": 60,\"RootFilesystemUtil\": 60,\"LoadAverage1min\": 60,\"CPUIrq\": 60,\"CPUNice\": 60,\"CPUIowait\": 60,\"ApplicationLatencyP10\": 60,\"LoadAverage5min\": 60,\"ApplicationRequests5xx\": 60,\"ApplicationLatencyP75\": 60,\"CPUSystem\": 60,\"ApplicationRequests3xx\": 60,\"ApplicationRequests4xx\": 60,\"InstanceHealth\": 60,\"CPUSoftirq\": 60}},\"Version\": 1}"
}
]'
Para um arquivo de configuração .ebextensions em YAML, você pode fornecer o documento JSON no estado em que está.
option_settings:
- namespace: aws:elasticbeanstalk:healthreporting:system
option_name: ConfigDocument
value: {
"CloudWatchMetrics": {
"Environment": {
"ApplicationLatencyP99.9": 60,
"InstancesSevere": 60,
"ApplicationLatencyP90": 60,
"ApplicationLatencyP99": 60,
"ApplicationLatencyP95": 60,
"InstancesUnknown": 60,
"ApplicationLatencyP85": 60,
"InstancesInfo": 60,
"ApplicationRequests2xx": 60,
"InstancesDegraded": 60,
"InstancesWarning": 60,
"ApplicationLatencyP50": 60,
"ApplicationRequestsTotal": 60,
"InstancesNoData": 60,
"InstancesPending": 60,
"ApplicationLatencyP10": 60,
"ApplicationRequests5xx": 60,
"ApplicationLatencyP75": 60,
"InstancesOk": 60,
"ApplicationRequests3xx": 60,
"ApplicationRequests4xx": 60
},
"Instance": {
"ApplicationLatencyP99.9": 60,
"ApplicationLatencyP90": 60,
"ApplicationLatencyP99": 60,
"ApplicationLatencyP95": 60,
"ApplicationLatencyP85": 60,
"CPUUser": 60,
"ApplicationRequests2xx": 60,
"CPUIdle": 60,
"ApplicationLatencyP50": 60,
"ApplicationRequestsTotal": 60,
"RootFilesystemUtil": 60,
"LoadAverage1min": 60,
"CPUIrq": 60,
"CPUNice": 60,
"CPUIowait": 60,
"ApplicationLatencyP10": 60,
"LoadAverage5min": 60,
"ApplicationRequests5xx": 60,
"ApplicationLatencyP75": 60,
"CPUSystem": 60,
"ApplicationRequests3xx": 60,
"ApplicationRequests4xx": 60,
"InstanceHealth": 60,
"CPUSoftirq": 60
}
},
"Version": 1
}