# Guia Configuração do External Service Alert CloudWatch na Elven Platform

A integração do **External Service Alert CloudWatch** com a Elven Platform é uma solução pensada para facilitar sua vida, centralizando a gestão de alertas em um único lugar. Com ela, você recebe notificações diretamente da Amazon CloudWatch, eliminando a necessidade de alternar entre plataformas e permitindo uma visão clara e eficiente de tudo o que acontece no seu ambiente de trabalho.&#x20;

Além disso, a integração é totalmente personalizável. Você define quais métricas e condições são mais relevantes para o seu negócio, garantindo que os alertas recebidos sejam úteis e alinhados com suas necessidades. É uma maneira prática de transformar o monitoramento em uma experiência mais fluida, organizada e assertiva.

{% embed url="<https://demo.elven.works/demo/cmd3gwo3k03z03l0i81ud7baf>" %}

## **Configuração API Token**

Para configurar o **External Service Alert** no CloudWatch, é necessário gerar um **API Token**. Esse token será utilizado como parte essencial do processo de autenticação, sendo incorporado diretamente no **Path** da requisição. Ele atua como uma camada de segurança adicional, garantindo que apenas usuários devidamente autorizados possam acessar e interagir com o serviço externo. Nesse contexto, o **API Token** é incluído como parâmetro da URL na chamada para a API. Isso assegura que a autenticação do cliente seja realizada corretamente durante o envio de alertas ou a interação com o serviço.&#x20;

* No menu superior na parte de configuração de seu usuário, clique em **Organization Settings.** &#x20;
* Na aba AP&#x49;**,** clique no botão + para criar um novo API Token.

<figure><img src="https://1787513308-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fjv1RurNOS0w2Y9bpxizM%2Fuploads%2FDx1pUNTSDckIRYbqGHuu%2Fextserca01.png?alt=media&#x26;token=4bb3f836-bae1-458c-8432-adb539529e97" alt=""><figcaption></figcaption></figure>

## **Acessando External Service Alert CloudWatch**&#x20;

* Navegue até o menu principal e clique em **Services Hub**. &#x20;
* Em **External Services Monitoring**, selecione o item **Alert CloudWatch**.

<figure><img src="https://1787513308-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fjv1RurNOS0w2Y9bpxizM%2Fuploads%2F2fozi55oJqc9lFxwt2TP%2Fextserca02.png?alt=media&#x26;token=374f1273-2756-4013-92a7-b92858c38205" alt=""><figcaption></figcaption></figure>

## **Configuração do External Service Alert CloudWatch**

A configuração dos campos no **External Service Alert CloudWatch** é um passo essencial para garantir que seus alertas na Elven Platform funcionem de forma eficiente e atinjam as pessoas certas no momento certo. O primeiro campo, **External Service Name**, é onde você deve dar um nome ao serviço que está sendo integrado. Este nome será exibido em dashboards e relatórios, facilitando a identificação rápida do serviço em meio a outros. Escolha um nome claro e descritivo, pois ele será sua referência para gerenciar e revisar o histórico de alertas no futuro. &#x20;

Já o campo **Responders** é a ponte entre o incidente  e a solução do problema. Aqui você define quem será notificado quando o alerta for disparado, sejam indivíduos específicos, equipes inteiras ou mesmo sistemas automatizados. Este campo é vital para que as notificações de alertas cheguem às pessoas certas, evitando atrasos e confusões. Adicione contatos relevantes, como e-mails ou IDs de equipes, e certifique-se de que todos os responsáveis tenham as informações e acessos necessários para agir rapidamente.&#x20;

<figure><img src="https://1787513308-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fjv1RurNOS0w2Y9bpxizM%2Fuploads%2FztdIgKug6XfkZz7cmx0i%2Fextserca03.png?alt=media&#x26;token=4c026e57-6dde-4ec6-8d8e-aa5b75399b28" alt=""><figcaption></figcaption></figure>

## **Função Lambda do External Service Alert CloudWatch**

Ao configurar um **External Service Alert CloudWatch**, um dos passos mais importantes é selecionar a **API Token** que você gerou anteriormente. Essa chave é como uma credencial exclusiva que conecta seu sistema ao serviço de notificação de alertas de maneira segura. Pense nela como uma chave mestra que permite autenticação e comunicação entre as plataformas. Certifique-se de escolher a **API Token** correta e mantê-la protegida, pois ela é fundamental para o funcionamento do serviço e para garantir a integridade da integração.&#x20;

Depois de selecionar a **API Token**, você terá acesso à função, que é gerada automaticamente. Essa função será responsável por intermediar a comunicação entre os alarmes do **CloudWatch** e a **Elven Platform**, processando os eventos recebidos e enviando notificações claras e acionáveis. A integração é projetada para transformar dados brutos em alertas estruturados, garantindo que qualquer evento importante seja capturado e entregue de forma eficiente. Isso assegura que você esteja sempre informado sobre os estados críticos de seus recursos, permitindo uma resposta rápida e assertiva.&#x20;

<figure><img src="https://1787513308-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fjv1RurNOS0w2Y9bpxizM%2Fuploads%2FHcW6kyplIsaoIOdIeQbD%2Fextserca04.png?alt=media&#x26;token=e64c9bf7-17ed-4dcc-9d51-8750a53eb45b" alt=""><figcaption></figcaption></figure>

## **AWS Lambda e AWS SNS**

Essa automação é uma peça-chave para agilizar a identificação e a resposta a problemas em seu ambiente de monitoramento. Nesse processo, a função **Lambda** e o serviço **SNS (Simple Notification Service)** desempenham papéis fundamentais.&#x20;

A **função Lambda** atua como o intermediário inteligente, processando os eventos gerados pelos alarmes do CloudWatch. Quando configurada corretamente, ela transforma essas notificações brutas em informações que podem ser enviadas para a Elven Platform, garantindo que você receba alertas claros e acionáveis. Sem a Lambda, o fluxo automatizado de dados entre o CloudWatch e a Elven Platform não seria possível.&#x20;

O **SNS (Simple Notification Service)** desempenha um papel essencial como o “mensageiro” no sistema de integração com a Elven Platform. Ele gerencia e distribui as notificações geradas pelos alarmes do CloudWatch, garantindo que cada evento relevante seja entregue à função Lambda e, posteriormente, processado para envio à Elven Platform.&#x20;

Essa configuração permite que os alertas sejam encaminhados de maneira eficiente e em tempo real para a plataforma, onde podem ser centralizados e gerenciados de forma mais prática.&#x20;

## **Configurando no CloudWatch**

#### Na aws devemos criar uma **lambda**, no menu de serviços procure por lambda, depois **Create Function**:

<figure><img src="https://1787513308-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fjv1RurNOS0w2Y9bpxizM%2Fuploads%2F1r3vxmbWE5hOjBsiG1rh%2Fextserca05.png?alt=media&#x26;token=8dc54481-fbd0-4d83-b8e7-cb993b7dd8cb" alt=""><figcaption></figcaption></figure>

Na criação da lambda, devemos informar o nome e o **Runtime**. Por padrão o utilizado é o **Node.js 20x**.&#x20;

Após preencher os campos acima clique em **Create function.**

#### **Após acessar a lambda criada, em code source, substituir o padrão pelo obtido na criação do External Service Alert CloudWatch**.&#x20;

<figure><img src="https://1787513308-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fjv1RurNOS0w2Y9bpxizM%2Fuploads%2Fe1KXdZ3jUI8Ss0fYwkVr%2Fextserca06.png?alt=media&#x26;token=4e98b8b3-97dd-4005-b7ba-193b7b381fe9" alt=""><figcaption></figcaption></figure>

<figure><img src="https://1787513308-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fjv1RurNOS0w2Y9bpxizM%2Fuploads%2FfK3lSUUwx66kBYFgNYmf%2Fextserca07.png?alt=media&#x26;token=b15ffe1d-d0bb-45e2-b1a7-0b319d78ad0e" alt=""><figcaption></figcaption></figure>

Clique em deploy, após inserir o código fornecido.

#### **Acessar o serviço SNS**.

<figure><img src="https://1787513308-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fjv1RurNOS0w2Y9bpxizM%2Fuploads%2FRxNZKlI2dAJWCDG8LTIz%2Fextserca08.png?alt=media&#x26;token=db6410ad-66c3-4c83-b8cb-c2edde7346cd" alt=""><figcaption></figcaption></figure>

Após acessar o serviço, acesse topics e depois create topic:&#x20;

Selecionar a opção Standard, de um nome de sua preferência.&#x20;

<figure><img src="https://1787513308-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fjv1RurNOS0w2Y9bpxizM%2Fuploads%2F7wXD5rTmQL2PY5bsypnb%2Fextserca09.png?alt=media&#x26;token=4dc1e1bf-5b1a-4d5a-90f8-33ae65c595a3" alt=""><figcaption></figcaption></figure>

Após isso clicar em Create topic.

#### **Ao criar o tópico, o próximo passo é associar a lambda criada. Para isso, role o cursor do mouse até o fim da página e clique em Create Subscription.**&#x20;

<figure><img src="https://1787513308-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fjv1RurNOS0w2Y9bpxizM%2Fuploads%2FtkupDKO4E83TVzBn9eKj%2Fextserca10.png?alt=media&#x26;token=c34e64c7-16e6-4a18-b462-a8868dbdac27" alt=""><figcaption></figcaption></figure>

Selecione o tópico criado, em protocolo escolha o AWS Lambda e no endpoint selecione o criado para a integração. Após isso clique em Create subscription.&#x20;

#### **Após criar o tópico SNS, devemos configurar no CloudWatch.**

<figure><img src="https://1787513308-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fjv1RurNOS0w2Y9bpxizM%2Fuploads%2F1wNL02AbTUfP81SNVM94%2Fextserca11.png?alt=media&#x26;token=7090ccc8-d929-4ffc-a9bd-f0df3c75791a" alt=""><figcaption></figcaption></figure>

Ao acessar o serviço cloudwatch, o próximo passo é criar o alerta clicando em “Create alarm”.&#x20;

Selecione a métrica que seja monitorar, no exemplo abaixo estamos monitorando a métrica de CPU Utilization:&#x20;

<figure><img src="https://1787513308-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fjv1RurNOS0w2Y9bpxizM%2Fuploads%2F0vU9XmPPuwFjd6OGeDRP%2Fextserca12.png?alt=media&#x26;token=1d7f153e-84d7-41b5-a0bd-ede0d2728850" alt=""><figcaption></figcaption></figure>

Defina as condições conforme sua operação.

<figure><img src="https://1787513308-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fjv1RurNOS0w2Y9bpxizM%2Fuploads%2FDSa0SRJGhpKLGWwypEQc%2Fextserca13.png?alt=media&#x26;token=46374166-f76b-4b11-a470-702fe4980c7b" alt=""><figcaption></figcaption></figure>

Clique em next para a próxima etapa.

#### **Configure actions**, devemos configurar a notificação para as três status:

* In Alarm&#x20;
* OK&#x20;
* Insufficient data&#x20;

Todos devem enviar para o tópico criado no SNS, conforme exemplo:

<figure><img src="https://1787513308-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fjv1RurNOS0w2Y9bpxizM%2Fuploads%2FcjPzdYT8i1R2MUVUDHI8%2Fextserca14.png?alt=media&#x26;token=7a1f3eaf-e20f-41f8-a852-8728e32f0d74" alt=""><figcaption></figcaption></figure>

<figure><img src="https://1787513308-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fjv1RurNOS0w2Y9bpxizM%2Fuploads%2FZnpRPCw9n8KNeqFuW8w4%2Fextserca15.png?alt=media&#x26;token=b1c4fde7-4172-4c10-b891-2144a48ed039" alt=""><figcaption></figcaption></figure>

<figure><img src="https://1787513308-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fjv1RurNOS0w2Y9bpxizM%2Fuploads%2FYGGYx7qkImpjnbj6B3ud%2Fextserca16.png?alt=media&#x26;token=83853807-0ca9-4280-9075-34faed8e7dbc" alt=""><figcaption></figcaption></figure>

Clique em **next** para a próxima etapa e assim nomear o alerta criado.

<figure><img src="https://1787513308-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fjv1RurNOS0w2Y9bpxizM%2Fuploads%2FA7oB8CltbXGqt4uSfDRi%2Fextserca17.png?alt=media&#x26;token=5db8f638-a92e-4d9b-a86d-2efade96737a" alt=""><figcaption></figcaption></figure>

Verifique se o alerta e condições foram criadas corretamente e clique em **Create alarm** para finalizar. Após isso todos os alertas do **Cloudwatch** deverão aparecer no One Platform.

Assim que configurado, o serviço aparecerá no **External Services Monitoring Center**, classificado por status, facilitando o monitoramento de incidentes com prioridade para aqueles em estado de alarme.&#x20;

## **Configurações adicionais de segurança e performance**

* **Whitelist de IPs:** A comunicação via API pode ser configurada para permitir **apenas IPs autorizados**. Para ativar ou modificar essa configuração, entre em contato com o **suporte da Elven Platform**.
* **Rate Limiting:** O tempo padrão para limitação de requisições é **5 minutos**, mas pode ser ajustado conforme a necessidade. Para alterações, entre em contato com o **suporte da Elven Platform**.

Essas configurações garantem maior segurança e controle sobre o tráfego de dados entre os sistemas integrados.

## **Glossário de Termos Técnicos**

**API Token:** Uma chave única usada para autenticação segura entre sistemas. No contexto desta documentação, é essencial para conectar o CloudWatch à Elven Platform.&#x20;

**CloudWatch:** Serviço de monitoramento da AWS que coleta e rastreia métricas, monitora logs e gera alarmes para alterações em seu ambiente.&#x20;

**External Service Name:** Nome descritivo atribuído a um serviço externo integrado à Elven Platform, usado para identificação em dashboards e relatórios.&#x20;

**Responders:** Pessoas, equipes ou sistemas designados para receber notificações de alertas e agir conforme necessário.&#x20;

**Lambda Function:** Função na AWS Lambda que processa eventos gerados pelos alarmes do CloudWatch e os encaminha para a Elven Platform.&#x20;

**SNS (Simple Notification Service):** Serviço de mensagens da AWS que entrega notificações geradas pelos alarmes do CloudWatch para a função Lambda ou outros endpoints.&#x20;

**Node.js Runtime:** Ambiente de execução usado para a função Lambda. Nesta documentação, o Node.js 20.x é mencionado como padrão.&#x20;

**Code Source:** Área dentro da função Lambda onde o código de processamento é inserido ou editado antes de ser implantado.&#x20;

**Topics (SNS):** Recurso do SNS usado para organizar e distribuir mensagens para assinantes específicos, como funções Lambda.&#x20;

**Subscription:** Associação entre um tópico do SNS e um endpoint (por exemplo, uma função Lambda), que garante o envio de notificações.&#x20;

**CPU Utilization:** Métrica comum usada no monitoramento de recursos para avaliar o uso da CPU por instâncias ou aplicações na AWS.&#x20;

**Standard Topic (SNS):** Tipo de tópico no SNS que entrega mensagens com um esforço máximo de disponibilidade e confiabilidade.&#x20;

**Endpoint:** Destino para onde as notificações do SNS são enviadas, como uma função Lambda configurada para a integração.&#x20;
