O que é o Amazon CloudWatch Application Insights? - Amazon CloudWatch

O que é o Amazon CloudWatch Application Insights?

O CloudWatch Application Insights ajudaa monitorar as aplicações que usam instâncias do Amazon EC2 juntamente com outros recursos de aplicações. Ele identifica e configura os principais logs de métricas e alarmes na pilha de tecnologia e nos recursos da aplicação (por exemplo, banco de dados Microsoft SQL Server, servidores web (IIS) e de aplicações, SO, load balancers e filas). Ele monitora continuamente os logs e as métricas para detectar e correlacionar anomalias e erros. Quando erros e anomalias são detectados, o Application Insights gera o CloudWatch Events que é possível usar para configurar notificações ou executar ações. Para auxiliar na solução de problemas, ele cria painéis automatizados para problemas detectados, que incluem anomalias de métricas correlacionadas e erros de log com insights adicionais para indicar uma potencial causa raiz do problema. Os painéis automatizados ajudam a tomar medidas corretivas rápidas para manter a integridade de suas aplicações e evitar o impacto nos usuários finais da aplicação. Ele também cria OpsItems para que você possa resolver problemas usando o AWS SSM OpsCenter.

É possível configurar contadores importantes, como transações de gravação espelhada por segundo, comprimento da fila de recuperação e atraso da transação, bem como logs de eventos do Windows no CloudWatch. Quando ocorre um evento de failover ou problema com sua workload de alta disponibilidade do SQL, como um acesso restrito para consultar um banco de dados de destino, o CloudWatch Application Insights oferece insights automatizados.

O CloudWatch Application Insights integra-se aoAWS Launch Wizard para fornecer uma experiência de configuração de monitoramento com um clique para implantar workloads de alta disponibilidade do SQL Server na AWS. Ao selecionar a opção para configurar o monitoramento e os insights com o Application Insights no console do Launch Wizard, o CloudWatch Application Insights configura automaticamente métricas, logs e alarmes relevantes no CloudWatch e inicia o monitoramento das workloadsrecém-implantadas. É possível exibir informações automatizadas e problemas detectados, juntamente com a integridade de suas workloads de alta disponibilidade do SQL Server, no console do CloudWatch.

Atributos

O Application Insights fornece os recursos a seguir.

Configuração automática de monitores para recursos de aplicações

O CloudWatch Application Insights reduz o tempo necessário para configurar o monitoramento de suas aplicações. Ele faz isso verificando os recursos da aplicação, fornecendo uma lista personalizável de métricas e logs recomendados e configurando-os no CloudWatch para fornecer a visibilidade necessária dos recursos da aplicação, como o Amazon EC2 e os balanceadores de carga elásticos (ELB). Ele também configura alarmes dinâmicos em métricas monitoradas. Os alarmes são atualizados automaticamente com base nas anomalias detectadas nas duas semanas anteriores.

Notificação e detecção de problemas

O CloudWatch Application Insights detecta sinais de possíveis problemas com sua aplicação, como anomalias de métrica e erros de log. Ele correlaciona essas observações com possíveis problemas superficiais com sua aplicação. Em seguida, ele gera CloudWatch Events, que podem ser configurados para receber notificações ou executar ações. Isso elimina a necessidade de criar alarmes em métricas individuais ou erros de log.

Solução de problemas

O CloudWatch Application Insights cria painéis automáticos do CloudWatch para os problemas que são detectados. Os painéis mostram detalhes sobre o problema, incluindo as anomalias de métricas associadas e erros de log para ajudar a solucionar problemas. Eles também fornecem informações adicionais que indicam possíveis causas das anomalias e dos erros.

Conceitos

Os seguintes conceitos são importantes para entender como o Application Insights monitora sua aplicação.

Componente

Um agrupamento personalizado, individual ou agrupado automaticamente de recursos semelhantes que compõem uma aplicação. Recomendamos agrupar recursos semelhantes em componentes personalizados para melhor monitoramento.

Observação

Um evento individual (anomalia de métrica, log de erro ou exceção) que é detectado com uma aplicação ou recurso da aplicação.

Problema

Os problemas são detectados ao correlacionar, classificar e agrupar observações relacionadas.

Para ver definições de outros conceitos principais do CloudWatch Application Insights, consulte Conceitos do Amazon CloudWatch.

Definição de preço

O CloudWatch Application Insights configura as métricas e os logs recomendados para determinados recursos da aplicação usando as métricas, os logs e os eventos do CloudWatch para enviar notificações sobre os problemas detectados. Esses recursos são cobrados em sua conta da AWS de acordo com o preço do CloudWatch. Para os problemas detectados, OpsItems do SSM também são criados pelo Application Insights para notificar você sobre problemas. Além disso, o Application Insights cria parâmetros do SSM Parameter Store para configurar os agentes do CloudWatch nas instâncias. Os recursos do Systems Manager do Amazon EC2 são alterados de acordo com os preços do SSM. Você não é cobrado por assistência na configuração, monitoramento, análise de dados ou detecção de problemas.

Custos do CloudWatch Application Insights

Os custos do Amazon EC2 incluem o uso dos seguintes recursos:

  • Agente do CloudWatch

    • Grupos de logs do agente do CloudWatch

    • Métricas do agente do CloudWatch

    • Grupos de logs do Prometheus (para workloads JMX)

Os custos de todos os recursos incluem o uso dos seguintes recursos:

  • Alarmes do CloudWatch (maior parte do custo)

  • Opsitems do SSM (custo mínimo)

Exemplo de cálculo de custos

Os custos neste exemplo são considerados de acordo com o cenário a seguir.

Você criou um grupo de recursos que inclui o seguinte:

  • Uma instância do Amazon EC2 com o SQL Server instalado.

  • Um volume do Amazon EBS anexado.

Quando você integra esse grupo de recursos com o CloudWatch Application Insights, a workload do SQL Server instalada na instância do Amazon EC2 é detectada. O CloudWatch Application Insights começa a monitorar as métricas a seguir.

As métricas a seguir são monitoradas para a instância do SQL Server:

  • CPUUtilization

  • StatusCheckFailed

  • % de bytes confirmados em uso na memória

  • Mbytes de memória disponíveis

  • Total/s de bytes de interface de rede

  • % de uso de arquivo de paginação

  • % de tempo de disco do disco físico

  • % de tempo de processador do processador

  • SQLServer: proporção de acertos do cache do gerenciador de buffer

  • SQLServer: expectativa de vida do gerenciador de buffer

  • SQLServer: processos de estatísticas gerais bloqueados

  • SQLServer: conexões de usuário de estatísticas gerais

  • SQLServer: bloqueia o número de bloqueios/s

  • SQLServer: solicitações em lote/s de estatísticas do SQL

  • Tamanho da fila do processador do sistema

As métricas a seguir são monitoradas para os volumes anexados à instância do SQL Server:

  • VolumeReadBytes

  • VolumeWriteBytes

  • VolumeReadOps

  • VolumeWriteOps

  • VolumeTotalReadTime

  • VolumeTotalWriteTime

  • VolumeIdleTime

  • VolumeQueueLength

  • VolumeThroughputPercentage

  • VolumeConsumedReadWriteOps

  • BurstBalance

Para esse cenário, os custos são calculados de acordo com a página CloudWatch pricing (Preços do CloudWatch) e a página SSM pricing (Preços do SSM):

  • Métricas personalizadas

    Para esse cenário, 13 das métricas acima são emitidas para o CloudWatch usando o agente do CloudWatch. Essas métricas são tratadas como métricas personalizadas. O custo de cada métrica personalizada é de 0,3 USD/mês. O custo total dessas métricas personalizadas é de 13 * 0,3 USD = 3,90 USD/mês.

  • Alarmes

    Para esse cenário, o CloudWatch Application Insights monitora 26 métricas no total, o que cria 26 alarmes. O custo de cada alarme é de 0,1 USD/mês. O custo total dos alarmes é de 26 * USD 0,1 = USD 2,60/mês.

  • Ingestão de dados e logs de erros

    O custo da ingestão de dados é de 0,05 USD/GB e o armazenamento para o log de erros do SQL Server custa 0,03 USD/GB. O custo total da ingestão de dados e do log de erros é de 0,05 USD/GB + 0,03 USD/GB = 0,08 USD/GB.

  • OpsItems do Amazon EC2 Systems Manager

    Um OpsItem do SSM é criado para cada problema detectado pelo CloudWatch Application Insights. Para n problemas na aplicação (onde n é o número de problemas), o custo total é de 0,00267 USD * n/mês.

Os seguintes serviços são usados com o CloudWatch Application Insights:

Serviços relacionados da AWS
  • O Amazon CloudWatch fornece visibilidade de todo o sistema com relação à utilização do recurso, performance da aplicação e integridade operacional. Ele coleta e rastreia métricas, envia notificações de alarmes, atualiza automaticamente os recursos que estão sendo monitorados com base nas regras definidas por você e permite monitorar suas próprias métricas personalizadas. O CloudWatch Application Insights é iniciado por meio do CloudWatch, especificamente nos painéis operacionais padrão do CloudWatch. Para mais informações, consulte o Guia do usuário do Amazon CloudWatch.

  • O CloudWatch Container Insights coleta, agrega e resume métricas e logs das suas aplicações e microsserviços conteinerizados. Você pode usar o Container Insights para monitorar as plataformas Amazon ECS, Amazon Elastic Kubernetes Service e Kubernetes no Amazon EC2. Quando o Application Insights é habilitado nos consoles Container Insights ou Application Insights, o Application Insights exibe os problemas detectados no painel do Container Insights. Para obter mais informações, consulteContainer Insights

  • O Amazon DynamoDB é um serviço de banco de dados NoSQL totalmente gerenciado que permite que você transfira as cargas administrativas de operação e escalabilidade de um banco de dados distribuído, para que não precise se preocupar com provisionamento, instalação e configuração de hardware, replicação, correção de software nem escalabilidade de cluster. Além disso, o DynamoDB oferece criptografia em repouso, o que elimina a carga e a complexidade operacionais envolvidas na proteção de dados confidenciais.

  • O Amazon EC2 fornece capacidade de computação escalável na Nuvem AWS. É possível usar o Amazon EC2 para executar quantos servidores virtuais forem necessários, configurar a segurança e as redes e gerenciar o armazenamento. É possível ampliar ou reduzir para lidar com alterações nos requisitos ou com picos na popularidade, o que reduz a necessidade de prever o tráfego. Para obter mais informações, consulte o Guia do usuário do Amazon EC2 para instâncias do Linux ou Guia do Amazon EC2 para instâncias do Windows.

  • O Amazon Elastic Block Store (Amazon EBS) oferece volumes de armazenamento em bloco para usar com instâncias do Amazon EC2. Os volumes do Amazon EBS se comportam como dispositivos de bloco brutos e não formatados. É possível montar esses volumes como dispositivos em suas instâncias. Os volumes do Amazon EBS que estão anexados a uma instância são expostos como volumes de armazenamento que persistem independentemente da vida útil da instância. É possível criar um sistema de arquivos sobre esses volumes ou utilizá-los da maneira que utilizaria um dispositivo de bloco (como um disco rígido). É possível alterar dinamicamente a configuração de um volume anexado a uma instância. Para obter mais informações, consulte o Manual do usuário da Amazon EBS.

  • O Amazon EC2 Auto Scaling ajuda a garantir que você tenha o número correto de instâncias do EC2 disponíveis para processar a carga da aplicação. Para obter mais informações, consulte o Guia do usuário do Amazon EC2 Auto Scaling.

  • O Elastic Load Balancing distribui aplicações de entrada ou tráfego de rede em vários destinos, como instâncias do EC2, contêineres e endereços IP em várias zonas de disponibilidade. Para obter mais informações, consulte o Manual do usuário do Elastic Load Balancing.

  • O IAM é um serviço da Web que ajuda a controlar com segurança o acesso de seus usuários aos recursos da AWS. Use o IAM para controlar quem pode usar seus recursos da AWS (autenticação) e controlar os recursos que eles podem usar e como podem usá-los (autorização). Para obter mais informações, consulte Autenticação e controle de acesso para o Amazon CloudWatch.

  • O AWS Lambda permite criar aplicações sem servidor compostas de funções acionadas por eventos e implantá-las automaticamente usando o CodePipeline e o AWS CodeBuild. Para obter mais informações, consulte Aplicações do AWS Lambda.

  • O AWS Launch Wizard for SQL Server reduz o tempo necessário para implantar a solução de alta disponibilidade do SQL Server na nuvem. Você insere seus requisitos de aplicações, incluindo performance, número de nós e conectividade no console do serviço, e o AWS Launch Wizard identifica os recursos da AWS corretos para implantar e executar sua aplicação SQL Server Always On.

  • O AWS Resource Groups ajuda a organizar os recursos que compõem a aplicação. Com o Resource Groups, é possível gerenciar e automatizar tarefas em um grande número de recursos de uma só vez. Somente um Grupo de recursos pode ser registrado para uma única aplicação. Para obter mais informações, consulte o Manual do usuário do AWS Resource Groups.

  • O Amazon SQS oferece uma fila hospedada segura, durável e disponível que permite integrar e desacoplar sistemas de software e componentes distribuídos. Para obter mais informações, consulte o Guia do usuário do Amazon SQS.

  • O AWS Step Functions é um compositor de função sem servidor que permite sequenciar uma variedade de produtos e recursos da AWS, inclusive funções do AWS Lambda, em fluxos de trabalho estruturados e visuais. Para mais informações, consulte o Guia do usuário do AWS Step Functions.

  • O AWS SSM OpsCenter agrega e padroniza OpsItems entre serviços, fornecendo dados de investigação contextual sobre cada OpsItem, OpsItems relacionados e recursos relacionados. O OpsCenter também fornece documentos (runbooks) do Systems Manager Automation que podem ser usados para resolver problemas rapidamente. É possível especificar dados personalizados e pesquisáveis para cada OpsItem. Também é possível visualizar relatórios de resumo gerados automaticamente sobre os OpsItems por status e origem. Para mais informações, consulte o Guia do usuário do AWS Systems Manager.

  • O Amazon API Gateway é um produto da AWS para criação, publicação, manutenção, monitoramento e proteção de APIs REST e WebSocket em qualquer escala. Os desenvolvedores de API podem criar APIs que acessem a AWS ou outros serviços da Web, bem como dados armazenados na Nuvem AWS. Para obter mais informações, consulte o Manual do usuário do Amazon API Gateway.

    nota

    O Application Insights e compatível apenas com protocolos API REST (v1 do serviço API Gateway).

  • O Amazon Elastic Container Service (Amazon ECS) é um serviço de orquestração de contêiner totalmente gerenciado. Você pode usar o Amazon ECS para executar suas aplicações mais sigilosas e essenciais à missão. Para obter mais informações, consulte o Guia do desenvolvedor do Amazon Elastic Container Service.

  • O Amazon Elastic Kubernetes Service (Amazon EKS) é um serviço gerenciado que você pode usar para executar o Kubernetes na AWS, eliminando a necessidade de instalar e manter seus próprios nós ou seu ambiente de gerenciamento do Kubernetes. O Kubernetes é um sistema de código aberto para automatizar a implantação, a escalabilidade e o gerenciamento de aplicações em contêineres. Para obter mais informações, consulte o Manual do usuário do Amazon EKS.

  • Kubernetes no Amazon EC2. O Kubernetes é um software de código aberto que ajuda a implantar e gerenciar aplicações em contêineres em escala. O Kubernetes gerencia clusters de instâncias de computação do Amazon EC2 e executa contêineres nessas instâncias com processos para implantação, manutenção e escalabilidade. Com o Kubernetes, é possível executar qualquer tipo de aplicação em contêineres com o mesmo conjunto de ferramentas on-premises e na nuvem. Para obter mais informações, consulte Documentação do Kubernetes: conceitos básicos.

  • O Amazon FSx ajuda a iniciar e executar sistemas de arquivos bastante utilizados que são totalmente gerenciados pela AWS. Com o Amazon FSx, é possível aproveitar os conjuntos de recursos e a performance de sistemas de arquivos comuns de código aberto e licenciados comercialmente para evitar tarefas administrativas demoradas. Para mais informações, consulte a documentação do Amazon FSx.

  • O Amazon Simple Notification Service (SNS) é um serviço de mensagens totalmente gerenciado para comunicação entre aplicações e de aplicação para pessoa. Você pode configurar o Amazon SNS para monitoramento pelo Application Insights. Quando o Amazon SNS é configurado como um recurso de monitoramento, o Application Insights rastreia as métricas do SNS para ajudar a determinar a causa de possíveis problemas e falhas em mensagens do SNS.

  • O Amazon Elastic File System (Amazon EFS) é um sistema de arquivos NFS elástico totalmente gerenciado para uso com serviços e recursos on-premises da Nuvem AWS. Ele foi criado para escalar até petabytes sob demanda sem interromper os aplicativos. Ele aumenta e diminui automaticamente à medida que arquivos são adicionados e removidos, o que elimina a necessidade de provisionar e gerenciar a capacidade para acomodar o crescimento. Para obter mais informações, consulte a documentação do Amazon Elastic File System.

Serviços relacionados de terceiros
  • Para algumas workloads e aplicações monitoradas no Application Insights, o Prometheus JMX Exporter é instalado usando o AWS Systems Manager Distributor para que o CloudWatch Application Insights possa recuperar métricas específicas do Java. Quando você escolhe monitorar uma aplicação Java, o Application Insights instala automaticamente o Prometheus JMX Exporter para você.

Componentes da aplicação com suporte

O CloudWatch Application Insights verifica seu grupo de recursos para identificar os componentes da aplicação. Os componentes podem ser individuais, agrupados automaticamente (como instâncias em um grupo de Auto Scaling ou por trás de um load balancer) ou personalizados (agrupando instâncias do Amazon EC2 individuais).

Os seguintes componentes são compatíveis com o CloudWatch Application Insights:

Componentes da AWS
  • Amazon EC2

  • Amazon EBS

  • Amazon RDS

  • Elastic Load Balancing: Application Load Balancer e Classic Load Balancer (todas as instâncias de destino desses balanceadores de carga são identificadas e configuradas).

  • Grupos do Amazon EC2 Auto Scaling: AWS Auto Scaling (os grupos do Auto Scaling são configurados dinamicamente para todas as instâncias de destino; se a aplicação aumentar a escala na vertical, o CloudWatch Application Insights configurará automaticamente as novas instâncias). Os grupos do Auto Scaling não têm suporte para grupos de recursos baseados em pilha do CloudFormation.

  • AWS Lambda

  • Amazon Simple Queue Service (Amazon SQS)

  • Tabela do Amazon DynamoDB

  • Métricas de bucket do Amazon S3

  • AWS Step Functions

  • Etapas da API REST do Amazon API Gateway

  • Amazon Elastic Container Service (Amazon ECS): cluster, serviço e tarefa

  • Amazon Elastic Kubernetes Service (Amazon EKS): cluster

  • Kubernetes no Amazon EC2: cluster do Kubernetes em execução no EC2

  • Tópico do Amazon SNS

Atualmente, nenhum outro recurso do tipo de componente é rastreado pelo CloudWatch Application Insights. Se um tipo de componente que é compatível não aparecer na sua aplicação do Application Insights, pode ser que ele já esteja registrado e sendo gerenciado por outra aplicação sua monitorada pelo Application Insights.

Pilhas de tecnologia compatíveis

É possível usar o CloudWatch Application Insights para monitorar suas aplicações executadas em sistemas operacionais Windows Server e Linux selecionando a opção de menu suspenso da camada de aplicações para uma das seguintes tecnologias:

  • Front‐end: servidor web do Microsoft Internet Information Services (IIS)

  • Nível do operador:

    • NET Framework

    • .NET Core

  • Aplicações:

    • Java

    • Implantações padrão, distribuídas e de alta disponibilidade do SAP NetWeaver

  • Active Directory

  • SharePoint

  • Bancos de dados:

    • Microsoft SQL Server em execução no Amazon RDS ou no Amazon EC2 (incluindo configurações de alta disponibilidade do SQL Server. Consulte Exemplos de configuração do componente).

    • MySQL em execução no Amazon RDS, no Amazon Aurora ou no Amazon EC2

    • PostgreSQL em execução no Amazon RDS ou no Amazon EC2

    • Tabela do Amazon DynamoDB

    • Oracle em execução no Amazon RDS ou no Amazon EC2

    • Banco de dados SAP HANA em uma única instância do Amazon EC2 e várias instâncias do EC2

    • Configuração de alta disponibilidade do banco de dados SAP HANA entre zonas de disponibilidade

    • Banco de dados SAP Sybase ASE em uma única instância do Amazon EC2

    • Configuração de alta disponibilidade do banco de dados SAP Sybase ASE entre zonas de disponibilidade

Se nenhuma das pilhas de tecnologia listadas acima se aplicar aos recursos da aplicação, será possível monitorar a pilha de aplicações escolhendo Custom (Personalizar) no menu suspenso da camada de aplicação na página Manage monitoring (Gerenciar monitoramento).