Fala, galera. Beleza? Vamos falar um pouquinho agora sobre observabilidade. A gente vai falar mais um pouquinho agora de logs. Então, quando a gente está falando de observabilidade, a gente precisa também conseguir fazer o tracing das coisas, entender o que está acontecendo, enxergar não apenas os dashboards, alertas e assim por diante, mas eu preciso saber o que está rolando mesmo, né? Olhar o caminho da situação e as coisas que estão rolando ali no dia a dia. Então o CloudWatch Logs vai ajudar a gente com a coleta dessas informações, a coleta do que está rolando, o monitoramento e armazenamento dos logs de aplicação. O que a gente vai fazer? Quando a gente está falando de log, a gente tem algumas formas de olhar, algumas formas de guardar e algumas formas de consultar esses logs. Então a gente vai falar um pouquinho aqui sobre como que a gente olha para isso para depois, quando a gente tiver um problema, ou seja, quando o time tiver que entrar em ação, quando a gente precisar realmente resolver esses problemas em produção, esses problemas no momento que eles estão ali atingindo o nosso cliente, a gente conseguir entrar e fazer o tracing disso quando a gente tiver problema de performance, de segurança, com qualquer tipo de problema, inclusive de quebra de aplicação, assim por diante. A gente consegue resolver isso olhando os logs das aplicações. Então, quando a gente está falando de log, a gente tem dois tipos de divisão aqui, log groups e log streams. Log group é como se fosse um container ali com a coleção dos Log Streams que a gente tem. Então, ele vai ter ali um agrupamento do que a gente tem de configuração e retenção semelhantes. Então, por exemplo, eu preciso ter a mesma configuração de grupo de coisas que a gente vai ver, de permissões e métricas para olhar isso. Por exemplo, não adianta eu ter ali um agrupamento de algo que eu não tenho visibilidade, certo? E o outro agrupamento de algo que eu tenho visibilidade. A gente precisa agrupar as coisas de acordo com as permissões e com a configuração desses agrupamentos, beleza? Então, ele é um agrupamento, mas lembra disso, vai ser um agrupamento de coisas semelhantes. Então, por exemplo, você pode ter um log group para todas as funções que são específicas de uma aplicação ou para todas as instâncias de um serviço só. Então, você consegue fazer um agrupamento bacana no log group. Quando a gente fala de log streams, aí é o detalhamento disso, é o linha a linha. Log streams é uma sequência dos eventos de log que foram gerados ali e que compartilham de uma mesma origem. Por exemplo, o que a gente falou atrás que vai ser agrupado no Log Groups. Por exemplo, a gente tem ali uma instância de C2 ou de uma execução ali de um Lambda Function que está rolando no dia a dia. Então, você consegue pegar essa linha ali, o streaming desses logs para você conseguir analisar depois. Coletando, falando das coletas de log, é legal a gente parar para pensar como cada coisa funciona. Você não vai simplesmente abrir lá o CloudWatch, vai estar os logs lá, dependendo do que você estiver fazendo de serviço por trás. Se você estiver usando serviços serverless, eles já vão estar gerando log para você no CloudWatch. Então, você já vai conseguir ver isso. Se você não estiver usando, você precisa se preparar para isso. Então, quando a gente está falando aqui de instâncias EC2, são instâncias que não são governadas pela AWS. Você tem que fazer a governança dela, certo? Ela não é serverless. Você vai ter que trabalhar em cima. Então, já que você vai ter que trabalhar em cima, você precisa se preparar para isso. Você pode usar o agente ali do CloudWatch Logs para coletar esses logs no sistema operacional ali e dos aplicativos que estão rolando nele e mandar esses logs para o CloudWatch Logs, beleza? Então, você consegue aqui, até coloquei um exemplinho, mas você consegue enviar ele para o CloudWatch Logs para depois você olhar. Então, essa organização é legal você olhar direitinho quando você precisar colocar numa instância EC2. é legal você olhar direitinho quando você precisar colocar numa instância EC2. O hands-on do CloudWatch é mais chatinho, porque você precisa construir toda uma aplicação por trás, e ele vai acabar gerando custo para você. Então, por isso, a gente não vai ter hands-on de CloudWatch, beleza? Mas, saibam que existe essa ferramenta e você consegue utilizá-la. Parecido com Splunk, se você está mais acostumado, você vai conseguir já entender como ela funciona. Quando a gente está falando de coleta de logs de um Lambda function, por exemplo, eles já são gerados automaticamente lá, cada execução do Lambda ele já vai gerar os logs e eles já vão ser agrupados num grupo específico ali para esta função. Então, pensa, já é gerenciado, muito mais fácil, você colocou lá, então o que o Aminadab está mostrando para vocês, muito mais fácil, você colocou lá então o que o Aminadab está mostrando para vocês que é serverless, vai acabar saindo lá o log para você de forma mais simplificada e a gente também pode fazer a coleta dos logs de aplicação que elas vão ser configuradas para enviar para o CloudWatch usando o SDK da AWS se você usar o SDK você já consegue configurar direto para coletar esses logs de aplicação dos seus microserviços. Então, tem esse caminho também para fazer. Tem uma coisa chamada CloudWatch Logs Insights. Quando a gente está falando disso, é uma ferramenta que vai te ajudar a fazer análise dos logs. Ou seja, você gerou. Gerou lá uma base zona cheia de logs para você usar. Com o CloudWatch Logs Insights, você consegue usar a pesquisa, a busca dentro desses logs. Você consegue começar a analisar e avaliar realmente o que você está gerando para realmente extrair uma informação válida que pode te ajudar. Então, ele vai usar ali uma linguagem de consulta que é muito semelhante a um SQL, tá? Para você conseguir analisar. Para quem está acostumado com Splunk, a gente conseguia fazer isso também no Splunk. O Splunk tem ali o campo de buscas que você consegue fazer a busca do seu tracing na hora que você está com problema, assim por diante. Aqui no Cloud Log Insights, você também consegue fazer uma busca como se fosse uma tabela com uma busca semelhante ali a SQL, que vem até mais poderosa quando a gente está falando de uma busca mais específica. No Splunk, você também consegue fazer, No Splunk você também consegue fazer, no fim do dia, são ferramentas muito parecidas, semelhantes no dia a dia, beleza? No Datadog também dá, coisas assim. Elas são muito parecidas, se você parar para olhar. As principais funcionalidades que a gente tem aqui são as consultas no estilo SQL, tá? Que você consegue buscar com a SQL, como eu falei para vocês. A visualização de gráficos e tabelas, que elas vão ajudar você a ver essa consulta e a performance para consultas em grandes volumes de log. Isso aqui é muito bom, então quando você está fazendo consulta em algum tipo de aplicação que você tem muito log gerado, você vai ter uma alta performance. Mas vamos lá, aí é uma parte que eu tenho que falar do CloudWatch que a gente tem que prestar atenção. Não é barato, usar o CloudWatch não é a opção mais barata. Então, fiquem espertos no finópolis dessa bagaça. Não vai ser tão simples. Então, é legal você prestar atenção nisso. Quando a gente está falando de performance, a gente fala que grandes volumes de log, guardar log gasta. Então, presta atenção nisso também. Como você vai armazenar esse log, porque isso também não gerar um monte de log, pô, essa performance aqui que pode ser um benefício para você, acaba virando prejuízo na visão financeira. Então, tem tudo isso para você pensar. A visualização ali das tabelas e dos gráficos que você consegue gerar, é bem legal também, você tem que construir ela e assim por diante, mas ela é bem legal. E voltando, a gente vai falar um pouco sobre alertas. Lembra, não adianta você criar gráfico, dashboard e assim por diante e nunca olhar. Só deixar o gráfico. Você tem que ter alertas, vamos ser bem honestos. O Wesley costuma brincar, ele já falou algumas vezes pra mim, você gerar dashboard é legal pra gerente, pra galera fazer pra mim, mas pro dia a dia de trabalho tem que ter alerta ali, não adianta só o dashboard, porque o dashboard a gente vai olhar, vai falar que bacana, bonitinho, mas no dia a dia, além do time olhar, ter essa visão de estar sempre olhando para a operação, para o run da operação, é muito importante ter alertas, porque o cara não vai ficar o dia inteiro com aquilo aberto, ele tem mais o que fazer. Então é importante a gente ter os dois. Mas, voltando, é legal porque você consegue fazer uma geração de gráficos que pode ser importante para você. Alguns exemplos de consulta que a gente pode fazer. Pode consultar os logs mais recentes, ordenados por timestamp. Você pode olhar por palavra-chave, por exemplo. Você pode falar, puta, todo mundo que tem error aqui. Ou, por exemplo, eu posso filtrar por CPF, saber tudo que gerou aí no seu nome que a gente precisa olhar. Ou por, sei lá, algum tipo de tagueamento que eu deixei dentro da geração do meu log. Então você consegue procurar ali uma palavra-chave que vai conseguir trazer pra você uma visão mais específica. Uma outra coisa que você pode fazer também são as ocorrências de algum evento específico. Então contar quantas vezes algum evento aconteceu. Poxa, você precisa saber se aquele evento teve erro várias vezes ao longo do dia, quantas vezes e assim por diante. Você consegue olhar também. E você consegue também olhar a duração de uma execução de alguma função. Aqui a gente colocou função lambda, mas não precisa ser só função lambda. Você consegue olhar o tempo de execução de cada um e ver se tem problemas de performance nesse tipo de situação, beleza?