Elastic Cloud com AWS FireLens: gere insights com rapidez usando a ingestão de dados sem agente

blog-thumb-cloud-aws.png

Os clientes agora podem enviar logs e eventos do container diretamente para o Elastic Cloud com o Amazon Web Services (AWS) FireLens. O AWS FireLens é um roteador de log de container para tipos de execução do Amazon Elastic Container Service (Amazon ECS): Amazon Elastic Compute Cloud (Amazon EC2) e AWS Fargate. Essa integração permite aos especialistas de DevOps e DevSecOps simplificar o gerenciamento de logs da AWS, seja no envio e na retenção do log de forma econômica, seja no monitoramento e na análise das ameaças.

Neste blog, falaremos sobre como começar a ingestão de dados sem agente para o Elastic Cloud usando o AWS FireLens.

Otimize o envio de logs e eventos

Faz tempo que o processo de enviar logs e eventos do container para diferentes destinos é considerado longo e trabalhoso. Diga adeus a tarefas demoradas, como enviar logs para o Cloudwatch, manter agregadores de log do sidecar do Fluent Bit, instalar manualmente software extra ou escrever código adicional. Agora, você pode configurar rapidamente a definição da tarefa para enviar logs de aplicação que estão sendo executados no ECS para o Elastic Cloud.

Simplifique a busca, a análise e a retenção dos logs

Depois que você transmitir dados do FireLens e armazená-los no Elasticsearch, poderá buscar e visualizar esses dados no Kibana em minutos. Além disso, você poderá enviar logs, métricas e traces de outros servidores, máquinas virtuais e containers para a Elastic, analisando todos eles em um só lugar.

Com o Elastic Observability, você tem uma visibilidade profunda da aplicação e reduz o tempo gasto na análise da causa raiz. Analise com rapidez e facilidade traces, logs e métricas no nível do código, mapeie dependências de serviço complexas e identifique “incógnitas desconhecidas” com a detecção de anomalia baseada em machine learning e as correlações automatizadas.

Faça o tempo médio de detecção chegar a zero com o Elastic Security. Expanda o uso dos mesmos dados para detecção e resposta estendidas (XDR). Integre os dados do Endpoint Security e do SIEM para a prevenção, a detecção e a resposta às ameaças de segurança cibernética mais recentes.

À medida que seus dados crescem, os recursos da Elastic de redimensionamento automático e gestão de ciclo de vida de índices garantem que nenhum dado seja desconsiderado e equilibram os custos de desempenho e armazenamento.

Introdução à Elastic com o AWS FireLens

Vamos ver primeiro um exemplo do uso do FireLens para enviar logs do container do Amazon ECS para o Elastic Cloud. Este diagrama arquitetônico de referência é uma representação relativamente padrão do FireLens com um container no Amazon ECS que envia logs do container para o Elastic Cloud.
envio de logs do container do Amazon ECS para o Elastic Cloud

Etapas de configuração de tarefas do FireLens:

1. Configure a definição da tarefa. Encontre uma definição de exemplo nos Exemplos do Amazon ECS FireLens no GitHub.

2. Atualize e substitua as funções do AWS Identity and Access Management (IAM) por sua própria tarefa RoleArn,executionRoleArn IAM roles, Elastic Cloud_Auth and Cloud_ID. A definição da tarefa atualizada e o readme para implementar esta solução podem ser encontrados no Repositório do GitHub. Você também pode ver abaixo os detalhes da tarefa como um exemplo.
{
   "family": "firelens-EC2-elastic",
   "taskRoleArn": "CHANGE ME",
   "executionRoleArn": "CHANGE ME",
   "containerDefinitions": [{
           "name": "log_router",
           "image": "amazon/aws-for-fluent-bit:latest",
           "essential": true,
           "firelensConfiguration": {
               "type": "fluentbit",
               "options": {
                   "enable-ecs-log-metadata": "true"
               }
           },
           "logConfiguration": {
               "logDriver": "awslogs",
               "options": {
                   "awslogs-create-group": "true",
                   "awslogs-group": "firelens-container",
                   "awslogs-region": "us-east-2",
                   "awslogs-stream-prefix": "firelens"
               }
           },
           "memoryReservation": 50
       },
       {
           "name": "nginx-test",
           "image": "nginx",
           "portMappings": [{
               "containerPort": 80
           }],
           "essential": true,
           "environment": [],
           "logConfiguration": {
               "logDriver": "awsfirelens",
               "secretOptions": [
                       {
                               "valueFrom": "CHANGE ME",
                               "name": "Cloud_Auth"
                       }
               ],
               "options": {
                   "Name": "es",
                   "Port": "9243",
                   "Tag_Key tags": "tags",
                   "Include_Tag_Key": "true",
                   "Cloud_ID": "CHANGE ME",
                   "Index": "elastic_firelens”,
                   "tls": "On",
                   "tls.verify": "Off"
               }
           },
           "memoryReservation": 100
       }
   ]
}

Se você planeja enviar logs do container do Amazon ECS Fargate, substitua as primeiras linhas pela configuração abaixo.

{
    "family": "firelens-fargate-elastic",
    "taskRoleArn": "",
    "taskRoleArn": "CHANGE ME",
    "executionRoleArn": "CHANGE ME",
    "cpu": "512",
    "memory": "1024",
    "requiresCompatibilities": [
        "FARGATE"
    ],

Etapas de configuração:

1. Verifique se a ICL do ECS e a ICL da AWS estão instaladas. Se não estiverem, siga as instruções do guia de instalação da AWS.

2. Abra um novo arquivo com o nome “enable-fluent-log-driver.sh” e armazene as informações abaixo para ativar o driver de log do Fluentd no agente ECS:

#!/bin/bash
echo "ECS_AVAILABLE_LOGGING_DRIVERS=[\"awslogs\",\"fluentd\"]" >> 
/etc/ecs/ecs.config
3. Crie um cluster do EC2 ou Fargate no ECS com os seguintes comandos:
ecs-cli up \
--size 2 \
--instance-type t2.medium \
--extra-user-data enable-fluent-log-driver.sh \
--keypair <changeme> \
--capability-iam \
--region=us-east-2 \
--ecs-profile=<changeme> \
--cluster-config <changeme>

4. Salve a definição da tarefa em um arquivo local “task_definition.json” e registre-a usando a ICL da AWS:

aws ecs register-task-definition --cli-input-json file://task_definition.json

5. Crie o serviço ECS:

aws ecs create-service --cluster cluster-name --service-name demo-service --task-definition firelens-example-cloudwatch --desired-count 1 --launch-type 
"EC2"

6. Quando o serviço começar a ser executado, você poderá ver o fluxo de logs para o Elasticsearch por meio do Kibana. A imagem abaixo mostra uma execução de consulta na Elastic que pode ser visualizada no Kibana.

Quando o serviço começar a ser executado, você poderá ver o fluxo de logs para o Elasticsearch por meio do Kibana. A imagem abaixo mostra uma execução de consulta na Elastic que pode ser visualizada no Kibana.

No Kibana, também é possível ver os dados que você tem nos índices da Elastic. Assim, você pode criar dashboards com a exibição de informações baseadas em suas consultas executadas na Elastic. Com o uso das agregações da Elastic para extrair e processar os dados, crie tabelas e gráficos para visualizar os picos, as quedas e as tendências em todo o percurso dos dados. A imagem abaixo mostra um exemplo de dashboard do Kibana.

A imagem abaixo mostra um exemplo de dashboard do Kibana.

A parceria da Elastic e da AWS envolve integrações técnicas como a do FireLens para simplificar a ingestão de dados. A Elastic oferece uma só UI com controle inerente de segurança e compliance para os especialistas de DevOps e DevSecOps. Com as integrações da AWS e os dashboards prontos para uso da Elastic, você pode unificar a visibilidade em seus ambientes locais e da AWS, permitindo uma melhor compreensão do desempenho e da integridade geral da sua infraestrutura, das suas aplicações e dos seus negócios.

Resumo

Tudo pronto para simplificar a ingestão de dados e gerenciar todos os seus logs e eventos do container de um só lugar? A Elastic está constantemente iterando para fornecer a você uma experiência sem atritos, na qual seja possível usar e executar o que quiser, onde quiser. Essa integração otimizada com a AWS é apenas um exemplo disso. O Elastic Cloud aumenta ainda mais o valor do Elastic Stack, pois permite a você fazer mais, com mais rapidez, proporcionando a melhor maneira de aproveitar nossa plataforma. Para obter mais informações sobre outras integrações da AWS, acesse a biblioteca de integrações da Elastic. Para começar a usar a Elastic na AWS, acesse o AWS Marketplace (Elastic) ou o site elastic.co. Se você vai participar do evento AWS re:Invent na próxima semana, não deixe de passar em nosso estande 1567 para saber mais sobre o assunto.

O lançamento e o tempo de amadurecimento de todos os recursos ou funcionalidades descritos neste documento permanecem a exclusivo critério da Elastic. Os recursos ou funcionalidades não disponíveis atualmente poderão não ser entregues dentro do prazo previsto ou nem chegar a ser entregues.