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á.
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
-
InstancesSevere
InstancesDegraded
InstancesWarning
InstancesInfo
InstancesOk
InstancesPending
InstancesUnknown
InstancesNoData
-
Ambiente apenas. Essas métricas indicam o número de instâncias no ambiente com cada status de integridade.
InstancesNoData
indica o número de instâncias para as quais não há dados recebidos. ApplicationRequestsTotal
ApplicationRequests5xx
ApplicationRequests4xx
ApplicationRequests3xx
ApplicationRequests2xx
-
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.
ApplicationLatencyP10
ApplicationLatencyP50
ApplicationLatencyP75
ApplicationLatencyP85
ApplicationLatencyP90
ApplicationLatencyP95
ApplicationLatencyP99
ApplicationLatencyP99.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
CPUIrq
CPUIdle
CPUUser
CPUSystem
CPUSoftirq
CPUIowait
CPUNice
-
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
CPUIdle
CPUUser
CPUPrivileged
-
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.
nota
Se você tiver muitos ambientes, use a barra de pesquisa para filtrar a lista de ambientes.
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
--cfg
para especificar o nome da configuração.$
eb config save --cfg
Configuration 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 umaConfigDocument
chave para ativar cada uma das CloudWatch métricas desejadas. Por exemplo,ConfigDocument
publica as métricasApplicationRequests5xx
eApplicationRequests4xx
no nível de ambiente e as métricasApplicationRequestsTotal
no nível de instância.OptionSettings: ... aws:elasticbeanstalk:healthreporting:system:
ConfigDocument: CloudWatchMetrics: Environment: ApplicationRequests5xx: 60 ApplicationRequests4xx: 60 Instance: ApplicationRequestsTotal: 60 Version: 1
SystemType: enhanced ...No exemplo, 60 indica o número de segundos entre as medidas. No momento, este é o único valor aceito.
nota
É possível combinar
CloudWatchMetrics
eRules
na mesma configuração da opçãoConfigDocument
.Rules
são descritas em Configurar as regras de integridade aperfeiçoada de um ambiente.Se você tiver usado
Rules
anteriormente para configurar as regras de integridade aprimorada, o arquivo de configuração recuperado por meio do comando eb config save já terá uma chaveConfigDocument
com uma seçãoRules
. Não o exclua, em vez disso, adicione uma seçãoCloudWatchMetrics
no 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 put
02-cloudwatch-enabled
Ao usar os comandos eb config
get
eput
com configurações salvas, não inclua a extensão de arquivo. -
Aplique a configuração salva ao ambiente em execução.
$
eb config --cfg
02-cloudwatch-enabled
A opção
--cfg
especifica 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
}