Unknown

0 views11872 WordsCopy TextShare
Unknown
Video Transcript:
Fala aí pessoal beleza seja bem-vindo seja bem-vinda a mais uma live a mais esse encontro aqui no canal Hoje a gente vai falar sobre monitoramento eh Opa monitoramento de aplicações e infraestrutura utilizando o Prometeus E docker arranhou aqui a garganta mas a ideia hoje é apresentar para você não só o conceito de monitoramento de aplicações mas também te mostrar na prá como fazer isso utilizando Prometeus e grafana junto com o DOC a gente vai subir um stack aqui completo subir aplicação para que você aprenda Como monitorar aplicações de maneira eficiente para que você não seja
mais pego de surpresa e se você não me conhece muito prazer eu sou Fabrício Veronez tô aqui para ajudar você a se tornar um profissional de Elite cara saber aí como trabalhar com soluções baseadas em Cloud e em devops então se você ainda não é inscrito não é inscrito ainda no canal quer saber mais sobre Dock sobre kubernetes sobre pipeline CCD e esse ecossistema devops cara se inscreve aí no canal acione o Sininho para você não perder nenhum conteúdo certo bom eu quero saber o seguinte para quem tá online aí que quem tá aqui eh
agora assistindo a Live Deixa eu só confirmar aqui o retorno vê se tá tudo certo vê se Estamos aqui no ar vê se tá rodando aqui deixa eu ver ah tá tudo certo beleza tava vendo aqui o retorno que tava com atraso Ok show de bola mas vamos lá antes da gente entender como trabalhar com Prometeus Como trabalhar com docker vamos entender primeiro o que é monitoramento mas antes eu quero saber o seguinte você hoje monitora a sua aplicação você hoje tem aí práticas de observabilidade no seu dia a dia você coleta as métricas da
sua da sua infraestrutura você da sua aplicação Você tem o log da sua aplicação Você tem o log da sua infraestrutura você tem aí o tracing das suas aplicações você sabe o que tá acontecendo na sua aplicação nesse exato momento Coloca aí eh # sim para saber para eu saber que você tem observabilidade nas suas aplicações que você monitora que você tem log que você tem Trace e coloca aí #n para saber Aí eh se você que você não monitora E hoje você vai aprender Como monitorar aplicações como coletar as métricas da sua aplicação Coloca
aí ó Show de bola o Marcelo fabiano falou que sim que ele tem e observabilidade que ele coleta as métricas da sua aplicação e da sua infraestrutura show de bola bom galera Então vamos lá e o que que é monitoramento né O que quando a gente fala em coletar métricas em monitorar a aplicação né vamos entender primeiro o conceito de métricas O que que é uma métrica né métrica são Dados que você eh coleta normalmente de uma forma quantitativa para quantificar um parâmetro ali da sua aplicação eh ou da sua infraestrutura Fabrício Como assim que
lança é esse de métrica quando nós estamos rodando a nossa aplicação quando nós estamos r a nossa infraestrutura existem alguns parâmetros que são fundamentais que você deve coletar para saber a saúde da sua aplicação por exemplo consumo de CPU consumo de memória latência quantidade de chamadas para sua aplicação tudo isso você precisa saber cara ali de de cara o que que tá acontecendo né Aí ó Lu Carvalho falou não sei nem por onde Então já cola aqui com a gente brother cola aqui com a gente então Toda vez que você precisa coletar dados numéricos que
normalmente vão representar algo quantitativo na sua aplicação na sua infraestrutura você tá coletando métricas de da sua aplicação e da sua infraestrutura e quando a gente fala em métricas nós temos alguns tipos de métricas eh hoje quando a gente fala em soluções e em tecnologia nós temos métricas eh sistêmicas e métricas também eh de negócio Como assim Fabrício quando a gente fala em coletar alguma informação da da nossa aplicação ou da nossa mais da nossa aplicação né em relação a à métricas de negócio muitas vezes as métricas que nós estamos coletando não são métricas que
estão relacionadas ao sistema não é uma métrica de ser CPU não é uma métrica de memória é uma métrica de negócio como por exemplo eu vou botar aqui um um exemplo que eu gosto de falar bastante eh quando a gente tá trabalhando quando a gente atua por exemplo num e-commerce eh métricas de negócio que você pode coletar em um e-commerce como por exemplo eh boletos emitidos quantidade de de pedidos que foram comprados com cartão de crédito quantidade de usuários que estão acessando naquele momento eh produtos que estão sendo mais visualizados essas métricas esses dados quantitativos
você vai ter ali que não são referenciados ali não são referentes a métricas de sistema não tá ligado a CPU não tá ligado a memória da aplicação não são quantidad de chamadas ali numa api são métricas de negócio quantos usuários TM simultâneos quantos qual a taxa de conversão de usuários online e compras tudo isso são métricas importantes e que não são relacionadas exatamente a sistema né E nós temos também as métricas sistêmicas que são as métricas relacionadas sim ao sistema consumo de CPU consumo de memória quantidad de chamadas a um end Point tudo isso você
vai coletar são Dados numéricos relacionados normalmente à linha do tempo né Você tem ali uma linha do tempo em que aquele momento em que você coletou a métrica teve aquele valor e aí O valor vai aumentar diminuir vai oscilar então Toda Toda vez que a gente trabalha com métrica a gente também trabalha baseado em um momento ali do tempo daquela aplicação né então cara é de extrema importância hoje você ter isso porque isso influencia eh o sli o slo e o sla da do da sua aplicação quem sabe aí o que é sli slo e
sla quem aí sabe o que que é isso coloca aí nos comentários quem aí sabe o que que quem aí sabe o que que é sli slo e sla vamos lá deixa eu ver aqui você que tá assistindo a gravação você sabe o que sli slo e sla coloca aí se você não sabe eu vou colocar um vídeo eh em relação a SL slo sla a embaixo vai tá aí na descrição do vídeo vai tá no card aqui e para você assistir depois mas quando a gente fala em coletar métricas cara isso é essencial para
você montar o seu s slo e o seu sla e quando a gente fala em devops quando a gente fala em sre isso é fundamental certo então quando a gente quando a gente quer trabalhar de uma forma em que você consegue ter Pris idade do que tá acontecendo com a sua aplicação coletar as métricas vai te ajudar com toda certeza até porque métrica faz parte de um dos três pilares da observabilidade que é a métrica a coleta de log E também o tracing as essas três Eh esses três fundamentos esses três pilares vão fazer com
que você saiba o que tá acontecendo com a sua aplicação e Cara na boa 2023 hoje você Você tem uma aplicação rodando sem saber eh o que tá acontecendo com ela nesse exato momento cara me desculpa mas são aplicações amadoras são soluções amadoras são profissionais que simplesmente entregam código entregam infraestrutura e não estão se preocupando com a disponibilidade da aplicação com a execução correta da aplicação no ambiente e também com a eh com a experiência do usuário que no final das contas Cara o importante é cara o usuário conseguir eh acessar eh a aplicação ter
uma boa experiência com a aplicação e a aplicação está lá disponível ter a disponibilidade para ele e cara isso é fundamental tá você ter essas esses dados para que você Garanta que a sua aplicação tá sendo bem executada e que você consiga prever caso aja algum problema para matar aqui a a a ideia de que você tem que ter a você tem que ter métrica que você tem que ter observabilidade da sua aplicação você compraria hoje eh um carro que não marcasse gasolina que não marcasse ali o nível do óleo o nível de combustível você
compraria um veículo assim não provavelmente não e eu eu posso falar por experiência própria porque eu já tive Cara eu já tive eu tive um Fusca brother que tipo no marcar Ava não tinha marcação de velocidade Não tinha eh marcador de combustível cara era era assim caótico andar naquele carro brother eu tomei algumas multas porque eu não sabia Em que velocidade eu tava e fiquei parado aí algumas vezes na rua porque eu não sabia se tinha e gasolina ou não então cara Não faça isso com o seu software Não faça isso com a aplicação que
você entrega certo então galera vamos lá vamos lá então agora para fazer isso né para fazer com que a gente tenha a coleta de métricas e o e o monitoramento das aplicações é importante também trabalhar com um ferramental para isso e hoje no mercado a gente tem diversas opções no mercado mas eu quero falar com você aqui sobre o Prometeus deixa eu até colocar aqui não é Prometeus eh filme certo é pro meteus ferramenta deixa eu ver vou botar aqui eh vamos lá deixa eu compartilhar aqui a minha tela Mas vamos lá eu quero falar
com você sobre o Prometeus Vou colocar até o link aí no chat eh o Prometeus ele é a ferramenta que ela tem como objetivo coletar as métricas da sua aplicação e também monitorar a sua aplicação e também a sua infraestrutura essa ferr enta ela foi criada pela SoundCloud ali por volta de agora eu não tenho a data exata aqui não sei se foi no 2012 2013 Mas enfim foi por volta disso e em 2015 ela foi doada pra cncf ou seja o Prometeus ele é um projeto open source certo gratuito você pode pegar o Prometeus
e implementar no seu ambiente implementar na sua infraestrutura implementar nas suas aplicações que você não vai pagar nemum um centavo por isso certo ele é um projeto que faz parte da Cloud Native computing foundation Ou seja é um projeto que tem a fundação uma das principais Fundações hoje quando a gente fala em projetos open source de cloud eu diria que é a principal na verdade né a cncf ela é a Fundação por baixo da Linux foundation e se você quiser saber mais sobre cncf Coloca aí # eh cncf que o prepaga um conteúdo sobre a
cncf para você entender melhor mas o que eu quero dizer com isso é que cara é um projeto maduro é um projeto confiável é um projeto gratuito é um projeto que é mantido pela comunidade que ele está eh ativo hoje no mercado e que você não vai ter problema nenhum em relação à adoção dessa ferramenta uma das principais utilizadas hoje no mercado ele basicamente ele é escrito em e também tem ali a parte de interface que hoje utiliza react certo E além disso ele possui um time Seals Database dentro dele então além dele coletar as
métricas da aplicação você também vai ter o armazenamento então você não depende de outra ferramenta para trabalhar com monitoramento utilizando Prometeus não tem aquele negócio de Ah você vai trabalhar com Prometeus mas você precisa persistir no elástico você precisa persistir ali eh em uma segunda ferramenta não não tem isso o Prometeus ele é totalmente independente você vai ter a coleta de métrica você vai ter o monitoramento da aplicação E você também vai ter a persistência num time series Database certo para quem não sabe o que é um time series Database é um banco de dados
baseado em linha do tempo ele coleta as informações e agrega baseados em uma linha do tempo certo bom Show de bola então hoje a gente vai trabalhar aqui com o Prometeus e para você trabalhar com Prometeus é importante entender as características do Prometeus E também como é montada a arquitetura dele até também para você entender todos os recursos que fazem parte do Prometeus porque ele não só coletas métricas você tem a coleta de métricas você tem a persistência das informações né no time ser da Database E você também pode trabalhar com mecanismos de alarme você
pode alertar ali caso tenha alguma alteração nas métricas ou você pode definir ali um um valor alguns parâmetros para que seja disparado um alarme e notifique ali a sua equipe notifique ali eh o grupo responsável para que tome ali alguma providência em relação ao problema da aplicação ou da infraestrutura então você pode monitorar sua aplicação você pode coletar as métricas da sua aplicação e você pode alertar ali a sua equipe caso aconteça alguma coisa não precisa ficar ali no dashboard analisando o tempo todo certo bom legal então dito isso vamos entender também a arquitetura do
Prometeus o Prometeus ele é formado por diversos elementos né diversos elementos fazem parte da arquitetura dele o primeiro elemento assim principal é o Prometeus server o Prometeus server el é o núcleo ele é a peça fundamental do Prometeus porque é nele que eu tenho o meu time se Database eu tenho o meu http server Onde eu consigo consultar os dados eh do Prometeus as métricas que foram coletadas pelo Prometeus e eu tenho também o mecanismo de coleta de informações de coletas de métricas que a gente chama aqui de retrieval certo Então dentro do Prometeus server
eu tenho esses três principais elementos é importante também dizer que o time series Database do do Prometeus ele armazena o as informações em blocos de tempo e esses blocos você consegue não só eh criar mecanismos de armazenamento e compactação onde você consegue eh garantir que depois de um determinado tempo aquela informação aquela métrica ela vai ser eh compactada ela vai ser otimizada para ocupar menos espaço é claro que ela vai perder ali precisão você vai perder precisão ali da informação né da métrica que você tá coletando Mas você também consegue utilizar adapters você consegue criar
adaptadores onde não necessariamente você vai persistir aquelas informações no time se Database do Prim meteus você pode por exemplo armazenar num elastic search ou outro Storage ah Fabrício Mas você falou aí que puts o Prometeus ele não precisa de outra ferramenta e tal não precisa você pode utilizar caso precise você pode utilizar adapter caso você queira Mas você pode também utilizar o próprio time Seals Database do Prometeus por isso que eu disse que ele é uma ferramenta totalmente independente certo bom legal então você tem aqui o o promet server Você tem o retrieval aqui que
vai fazer a coleta mas como é que funciona a coleta de métricas do Prometeus como é que eu faço para coletar as métricas da minha aplicação ou da minha infraestrutura é importante dizer aqui que o Prometeus Ele trabalha Dea forma um pouco diferente das outras aplicações Como assim Normalmente quando a gente a gente trabalha lá com uma aplicação ou com uma infraestrutura eu tenho lá a minha aplicação eu tenho lá a minha ferramenta de métrica né no caso aqui vamos botar o Prometeus né Vou botar aqui o Prometeus e normalmente a aplicação ela pega as
suas métricas né e envia lá pra ferramenta né Pega lá e puts manda lá pra ferramenta de eh coleta de de métricas de monitoramento e as informações da aplicação certo o Prometeus Ele trabalha de uma forma diferente a aplicação ela deixa de ter um papel ativo de pegar e enviar as informações paraa ferramenta de monitoramento e passa a ser a ter um comportamento passivo Como assim ao invés da aplicação enviar informação o Prometeus é que vai lá e coleta as informaçõ ações de métrica tanto da aplicação quanto também da ferramenta que coleta lá as informações
da infraestrutura e tudo isso é feito via http então o que que acontece a aplicação ou a ferramenta que o Prometeus vai coletar ali as informações Vai disponibilizar um endp né uma porta né um endereço uma porta e onde vai trabalhar com http né ou https também você pode trabalhar com htps também e o Prometeus vai pegar esse endp certo e vai coletar aqui a informação e essa informação ela vai tá num padrão num formato né de de persistência da do das métricas onde o Prometeus ele consegue interpretar esse esse formato ato e armazenar lá
no seu time series Database certo o Prometeus ele faz Exatamente isso ele coleta as informações de métricas da aplicação e armazena lá no seu banco de no seu banco de dados no teu no seu time series Database certo então é importante você entender isso que a aplicação Ela Vai disponibilizar o endp e o Prometeus vai coletar é diferente de boa parte da as soluções hoje no mercado certo pô legal Fabrício mas cara como é que eu implemento isso eh na minha aplicação é é fácil fazer isso é é simples trabalhar com o meu com a
minha aplicação disponibilizando essas essas métricas pro Prometeus cara hoje a gente tem diversas soluções no mercado que ajudam a você implementar isso diversas tecnologias hoje já tem a o seu ferramental para fazer isso isso se eu vir aqui na documentação em doc Ah se eu não me engano é instrumentação aqui ó eu tenho client libraries né eu tenho bibliotecas Onde eu consigo implementar esse essa exposição das métricas né Em cada linguagem de programação em cada tecnologia ó por exemplo eu tenho aqui de forma oficial né pelo pelo Prometeus a implementação em go Java ou escala
Python rubby ou Rust certo e essas aqui são as linguagens são as bibliotecas eh oficiais do Prometeus ah Fabrício quer dizer que eu só tenho para isso não deixa eu até beber uma água aqui certo eh então aqui ó eu tenho aqui o a forma oficial mas eu tenho também aqui ó bibliotecas de terceir aqui ó bibliotecas não oficiais mas que ó funcionam muito bem obrigado que você consegue implementar tá e a exposição e a coleta de métricas em cada plataforma você tem aqui ó você tem B você tem C c+ mais você tem ISP
Dart Delf elixer erlang haskel lua lua você tem aqui ainda dois você tem aqui ó dtn node PHP pro r Cara Java Python cara você tem aí pr as principais plataformas certo Além disso eu tenho diversas tecnologias no mercado hoje que disponibilizam já esse endp para você coletar as métricas por exemplo docker kubernetes Ah deixa eu ver aqui grafana já tem essa implementação dessa tecnologia por exemplo eu tenho aqui né deixa eu mostrar aqui para você ó eu tenho o docker aqui e instalado no meu ambiente se eu vir aqui e pegar aqui né A
minha o meu end Point aqui pegar aqui um endereço ó pegar aqui local host e botar 9323 vamos lá vamos ver aqui opa não vai funcionar ah Putz faz certo dá certo né deixa eu Deixa eu ver só uma coisa aqui depois eu vou mostrar isso aqui para vocês não tem problema relaxem mas deixa eu só verificar aqui se tá configurado né ah etc docker Diamond Opa Diamond pon e Jon deixa eu colocar aqui Ah faz certo que dá certo né Beleza opa deixa eu ver aqui vamos colocar aqui beleza vamos rodar aqui novamente vamos
lá ah tem que restartar aqui botar aqui Ah beleza mas aqui ó deixa eu rodar aqui novamente ah lá ó Opa ah não tá certo se eu botar aqui agora ó no docker o docker ele tem aqui ó as métricas dele né disponíveis aqui para eu poder coletar é claro eu fiz aqui uma configuração eu vou mostrar depois para você como eu fiz essa configuração mas é possível coletar aqui as informações do docker o Prometeus ele vai coletar essas informações aqui utilizando esse formato certo bom além disso eu posso também utilizar o Prometeus para coletar
até de ferramentas e aplicações que não tem suporte direto a ele utilizando o conceito de exporter Fabrício como é que é esse lance de exporter Digamos que eu tenho aqui ó uma aplicação Como por exemplo o jenkins né eu tenho aqui o jenkins o jenkins por padrão ele não dá suporte ao Prometeus ele não tem lá aquele end Point né esse endp aqui Maroto http ele não tem certo ele não tem aqui E esse endp para você coletar as métricas com Prometeus da forma que o docker tem certo e aí o que que eu faço
eu vou utilizar esse cara chamado exporter o Porter ele vai ser um mediador aqui entre o Prometeus e a nossa aplicação no caso aqui o jenkins certo fazendo o quê ele vai coletar as informações da minha aplicação E aí cara como é que ele faz isso depende da aplicação depende ali eh do que você vai coletar certo cada cada exporter ele vai ter um papel de coletar as métricas de uma ferramenta específica que no caso aqui eu tenho do Jen mas eu tenho do Mongo DB tenho do post enfim tem aí de diversas soluções hoje
no mercado e aí O exporter o que que ele vai fazer ele vai coletar essas métricas e Vai disponibilizar pro Prometeus E aí o Prometeus vai lá e coleta as métricas no exporter e o exporter ele sim vai ter esse endp http ele vai ter lá o http para coletar aqui as informações e aí eu vou ter as métricas e dessa solução que eu quero coletar no caso aqui o jenkins pô Fabrício mas tem muito exporter tem exporters hoje disponíveis no mercado cara vamos dar uma olhada se você entrar aqui ó na documentação em exporters
né você vai ver aqui ó a quantidade de exporters que eu tenho hoje disponíveis para diversas soluções aqui ó para Database eu tenho eh o cbase eu tenho Consul eu tenho elastic search eu tenho aqui ó mongo DB eu tenho mong DB eu tenho aqui uma porrada eu tenho aqui ó MySQL eu tenho post eu tenho do de skl eu tenho aqui do Raven theb deixa eu ver aqui se tem do skl server do skl server é que e a princípio prin Não sei se esse xk exporter é o do sk server Não não é
deixa eu ver aqui não não é agnóstico no caso mas Ah mas aí tem suporte aqui o skl server mas enfim eu tenho aqui ó de hardware eu tenho aqui ó para coletar métricas da de GPU da NVidia eu tenho aqui de mensageria ó Posso coletar aqui do rabit MQ Posso coletar do Kafka tem de soluções de Storage tem o de soluções de http server tem aqui uma porrada de soluções certo então cara é só você procurar que com certeza tem um projeto de exporter para aplicação paraa solução que você quer trabalhar beleza bom legal
então eu falei aqui sobre a coleta de métricas utilizando aqui o retrial que ele vai pegar tanto dos end points da minha aplicação quanto também dos exporters eu tenho também o push Gate e que ele serve para coletar as métricas de processos que são executados num curto período de tempo como por exemplo aplicações que são executadas em Bet que vai fazer ali uma transformação de dados que vai fazer ali um web scrap que vai coletar ali as as informações de um endp depois vai ser encerrado esses processos normalmente eles tê um período curto de duração
E aí não dá tempo do prometer os coleta em ações dessa aplicação E aí o que que acontece o push gatway ele serve como um cas né ele serve ali como além de um intermediário ele serve como um [Música] um ele serve como um um Cash né para essas métricas E essas métricas depois são coletadas pelo Prometeus dessa forma aqui ó dessa forma você vai coletar aqui ó utilizando o pushgateway aqui no caso né a nossa aplicação beleza Além disso eu tenho também elementos de service Discovery para poder disponibilizar e end points dinâmicos porque o
que acontece o kubernetes por exemplo tem aqui o kubernetes ele é um grande exemplo o kubernet ele tem a capacidade de criar réplicas da minha aplicação de forma dinâmica então em um momento eu tenho 10 réplicas eu vou ter 10 end points pro PR meteros coletar eu posso ter 20 aí eu vou ter 20 end points pro Prometeus coletar como é que o Prometeus ele vai saber quais são os endereços Quais são os end points que ele vai coletar ali as métricas por isso que o Prometeus ele tem esse service Discovery Onde você consegue configurar
o Prometeus configurar diversas outras ferramentas para disponibilizar dinamicamente esses de PES E alertar o Prometeus para que ele colete assim você consegue escalar dinamicamente a sua aplicação você consegue coletar as métricas dessas aplicações que você tem essa escala dinâmica Onde você consegue escalar horizontalmente as aplicações beleza bom depois de coletar as aplicações você vai utilizar aqui o pronk l que é uma linguagem própria do Prometeus para visualizar as informações e você pode visualizar as informações de diversas formas você pode utilizar api do Prometeus para você fazer uma chamada da api do Prometeus e consultar as
métricas você pode utilizar a interface web do Prometeus para isso também e pode utilizar outras ferramentas como grafana que é o que a gente vai utilizar aqui hoje para visualizar as informações e visualizar de uma forma é muito mais apresentável e que faça muito mais sentido utilizando gráficos para visualizar ali eh os dados certo e por último aqui entra o Alert Manager que é o gerenciador de alerta onde o Prometeus ele envia alertas de mudança de parâmetros ou de alguma alguma notificação em relação a parâmetros pré-determinados por você e o Alert manag recebe esses alertas
e envia ali as mensagens utilizando diversas ferramentas hoje pode utilizar page DUT pode utilizar e-mail pode utilizar telegram Inclusive tem uma live aqui tem um vídeo aqui no canal onde eu mostro como fazer isso né como implementar o Alert manager no telegram eu vou colocar o link aí embaixo e você consegue configurar essas notificações para quem deve receber certo bom essa aqui é a configuração essa aqui é a arquitetura do Prometeus certo vamos agora pra prática ver como é que a gente implementa essa parada aqui no caso eu vou utilizar o docker a gente vai
subir aqui eh o docker para poder rodar aqui a aplicação para poder coletar as as métricas e a gente depois vai subir tudo aqui com o DOC também utilizando Prometeus e também coletando as métricas do próprio docker certo bom primeira coisa e eu vou utilizar aqui o docker se você não conhece o docker compose o docker compose é um recurso do Doc Onde você consegue criar diversos contêiners criar sua steack de desenvolvimento de solução de de arquitetura de solução de infraestrutura utilizando emo você declara todos os elementos que você quer subir ali utilizando containers Dock
e com uma linha de comando só você vai subir tudo isso você você consegue subir diversos contêiners diversos volumes diversas Networks com uma linha de comando e um arquivo emo tem conteúdo aqui no canal também vou colocar aí embaixo se você quiser uma aula sobre docker compose avançado Coloca aí embaixo # docker compose avançado para eu saber que você quer essa aula que eu preparo aqui para você certo bom legal então aqui eu tenho o compose vamos subir esse cara agora certo eh aqui no caso se eu der um LS eu tô aqui com o
meu arquivo compose meu arquivo compose é simples tá eu tenho aqui uma aplicação web escrita em Python e tenho aqui um mong DB mongodb eu coloquei aqui um volume persistindo né compartilhei aqui uma Network para conectar todos esses caras né conectar aqui o mongo DB conectar aqui eh também a minha aplicação web e eu vou subir esse carinha agora tá Vou botar aqui ó docker compose ih docker compose certo up menos D certo executo esse cara e ele vai subir aqui tudo para mim enquanto isso eu bebo uma água certo vamos lá vamos lá deixa
terminar aqui de rodar beleza show vou dar um Clear aqui agora eu só vou conferir Dock compose eh PS verificar aqui ó tá tudo aqui rodando Beleza agora eu vou vir aqui local host 8080 tá lá ó minha aplicação rodando minha aplicação escrita em Python E como eu disse a aplicação ela disponibiliza um endp para que o Prometeus colete as métricas certo se eu vir aqui e botar local host 8 / Matrix Ah lá ó eu tenho né o endp com todas as métricas da minha aplicação se eu ficar aqui fazendo requisição direto na minha
aplicação Opa aqui 8080 se eu ficar aqui fazendo requisições chamadas entrando aqui nos end points fazendo cadastro né fazendo aqui e avaliações ele vai mudar dá aqui as métricas né você vê que aqui ó o número mudou e o Prometeus ele vai ficar coletando essas métricas de tempos em tempos certo então aplicação rodando tá mostrando aqui as minhas métricas vamos agora eh subir o Prometeus aqui pro ambiente utilizando o docker compose então aqui eu vou voltar pro meu pro meu vs code e eu vou rodar aqui mais um serviço né aqui no meu no meu
compose eu vou botar aqui o nome do serviço como Prometeus Lembrando que um serviço aqui no compose nada mais é do que um contêiner também de execução então eu vou colocar esse contêiner para rodar e aqui no caso eu vou utilizar a imagem eh Prom barra Prometeus certo se a gente for lá no dockerhub Se eu entrar lá no dockerhub eu vou achar lá essa imagem ver aqui ó hub.docker.com eu viro aqui ó tem aqui ó a imagem do Prometeus certo eu vou utilizar aqui a última versão que no caso deixa eu ver aqui na
tag aqui a tag é a 2.48 n aqui no caso é release CL date Então vou botar 2. 47.2 certo vamos lá vou botar aqui ó v2. 47.2 botar aqui essa versão Ok e o Prometeus ele ele roda na porta 9090 ou melhor ele expõe né a porta 9090 então eu vou fazer aqui a mesma coisa eu vou fazer aqui o port bind certo da porta 90 90 certo é importante eu utilizar aqui a Network né porque eu vou coletar as informações lá da minha aplicação certo vou coletar aqui as informações da aplicação Então é
isso vamos ver aqui agora vamos rodar esse carinha compose up men d e aqui eu vou rodar esse cara E aí você vai falar pô Fabrício será que esse cara aqui consome muito recurso cara o Prometeus ele não consome muito recurso principalmente num ambiente como esse numa poc onde a gente tem poucas aplicações aqui no caso só tem mais uma aplicação né para ele coletar e O interessante é que cara a gente consegue rodar o Prometeus num ambiente local no seu desktop no seu notebook com pouco recurso então se você tá desenvolvendo a sua aplicação
Você tá codando aí Você tá codificando e você quer saber como é que tá a performance nos seus testes locais cara você pode fazer isso aqui ó você pode rodar o Prometeus localmente utilizando o DOC compose coletando as suas métricas em modo debug as métricas da sua aplicação em modo debug E você já vai vendo o desempenho que a sua aplicação está tendo então puts se você tá rodando Eh você tá com uma tarefa para corrigir um bug ou para implementar um hot Fix onde o objetivo é otimizar a performance da aplicação cara você consegue
ter essa resposta em tempo de desenvolvimento você consegue subir o Prometeus aqui e ter essa informação no momento em que você tá codando no momento em que você tá desenvolvendo ali a correção tá faz tá corrigindo ali o o seu bug e otimizando ali a velocidade da sua feature cara então isso aqui é fantástico com brother é fantástico você consegue rodar assim local ó tô rodando aqui local é claro Pô você vai rodar com diversas aplicações no ambiente mais complexo o setup é diferente mas cara olha aqui vai rodar local vai rodar aqui no meu
ambiente Então vamos lá vou pegar aqui já tá aqui rodando doc compose PS né tá aqui ó mongo Opa deixa eu ver aqui Dock compose PS tá aqui ó rodando mongo DB Cadê rodando aqui o Prometeus deixa eu diminuir aqui um pouquinho né Deixa eu ver aqui docker container LS para visualizar Melhor Agora ficou melhor né aqui ó eu tenho o Prometeus tem aqui o rotten potatoes e tem agora o mongo também e tem o mongo aqui também né Beleza então agora vamos visualizar aqui se eu vir aqui e colocar local host 90 90 tá
lá ó o Prometeus rodando então eu já consegui rodar aqui o meu Prometeus se eu viro aqui ó eu tenho esse painel aqui onde eu consigo eh consultar as informações de métricas com o comando pronk a gente vai ver isso depois eu tenho aqui ó o gerenciamento de alerta aqui no caso eu não tenho nada configurado e eu tenho aqui ó os status do Prometeus eu tenho aqui aqui ó o runtime e as informações de build eu tenho aqui ó os status do meu time series Database certo aqui ó meu data do meu time series
eh rodando eu tenho aqui as informações de commandline né os parâmetros que foram utilizados para inicializar o meu Prometeus eu tenho aqui também as configurações né do Prometeus Quais quais foram asig configurações que eu fiz pro promus pô Fabrício mas você não fez configuração nenhuma Pois é ele vai utilizar aqui a configuração padrão então mas calma a gente vai otimizar isso aqui depois e aqui um ponto muito importante aqui que interessa pra gente que são os targets nos targets eu tenho todos os end points todos os elementos que esse prometeu está monitorando que ele tá
coletando ali as métricas né então aqui eu vou ter a minha aplicação sendo mostrando que tá coletando as informações eu tenho a infraestrutura caso eu tiver caso eu esteja coletando ali informações de infraestrutura tudo que o prometeu estiver monitorando vai tá aqui inclusive não tem nada né só tem ele mesmo monitorando ele próprio pô Fabrício mas ele monitora ele mesmo sim ele vai coletar as métricas e dele mesmo para exibir ali como é que tá o funcionamento do Prometeus se eu pegar aqui ó localhost bar Matrix eu vou ter ali é no caso aqui tá
o ID né do do container mas se eu colocar aqui ó local host é 9090 bar Matrix eu consigo visualizar aqui as métricas do Prometeus também então eu posso coletar as métricas do Prometeus Eu Posso coletar as métricas da minha aplicação e eu Posso coletar as métricas do docker também né lembrando Cara isso aqui ambiente local se você tiver codificando você pode colocar isso no seu compos de desenvolvimento que você vai conseguir codificar e coletar as suas métricas ao mesmo tempo se você quiser uma live onde eu monto aqui um ambiente de desenvolvimento coletando as
métricas da da aplicação fazendo aqui debug verificando como é que tá o funcionamento Coloca aí # eh desenvolvimento com doc que eu faço aí para vocês aí a linguagem brother eu vou eu vou eleger uma linguagem e aí eu mostro para vocês beleza e pra gente continuar aqui galera ponto muito importante né a gente agora vai adicionar aqui eh a configuração do Prometeus para ele coletar aqui aqui as métricas também da minha aplicação né Por padrão ele tá coletando aqui só dele mesmo né e eu não quero isso eu quero coletar da minha aplicação então
agora o próximo passo é fazer aqui a configuração do Prometeus para ele coletar as métricas da minha aplicação certo então vamos fazer isso agora mas antes ponto muito importante também cara conteúdo irado como esse a gente tá falando sobre monitoramento a gente tá falando sobre Prometeus a gente a gente tá falando sobre coleta de métricas galera dá um like aí no vídeo pro YouTube entender que esse conteúdo é de qualidade Vale a Pena Ser distribuído e pega o link cara compartilha compartilha no Linkedin compartilha no Instagram compartilha no WhatsApp para que a galera vem aqui
Assista esse conteúdo irado né compartilha no Linkedin galera isso é muito importante compartilhar no Linkedin o que você tá aprendendo mostrar no na sua rede social profissional que você está se desenvolvendo Então pega o link fala cara tô assistindo aqui uma live irada com o Fabrício Veronez ele tá falando sobre monitoramento sobre coleta de métricas sobre Prometeus cara é uma Peça fundamental nos dias de hoje coloca isso lá no seu LinkedIn para que os recrutadores as recrutadoras vejam isso e cara o seu perfil cresça seja muito mais visualizado e cara as melhores vagas eh apareçam
para você e que a galera veja que você está se desenvolvendo certo eh Então vamos lá então galera like compartilhem aí vamos lá então próximo passo que que eu vou fazer a configuração do Prometeus ela é feita a partir de um arquivo emo que por padrão é chamado de Prometeus pemo então eu tenho que criar esse arquivo aqui fora né vou criar ele aqui Prometeus pemo e e eu vou né fazer aqui a configuração do Prometeus colocando todos os parâmetros se você quiser saber mais detalhes sobre a configuração do Prometeus é só você vir aqui
certo e na documentação e aqui ó em Prometeus e configuration você vai ter mais informações sobre a configuração do Prometeus certo vai tá aí no chat e vou colocar aí nos comentários também na descrição do vídeo também então agora o que que eu vou fazer eu vou seguir a estrutura de configuração do Prometeus a primeira coisa que eu tenho que configurar no Prometeus são os parâmetros globais certo e aí eu utilizo aqui né o campo Global né seguindo o padrão yemo para colocar essas configurações e aqui eu tenho duas configurações básicas eu tenho o scrap
eh interval certo e eu tenho também o scrap und time out certo aqui ó o scrap interval é o tempo é o intervalo de tempo que o Prometeus vai dar entre uma coleta de métricas e outra na sua aplicação ou no elemento que você tá configurando Se eu colocar aqui por exemplo 15 segundos o Prometeus aí vai de 15 em 15 segundos na aplicação no endp da aplicação no end Point dele no end Point do docker coletar aqui as métricas certo e o time timeout é o tempo de espera que o Prometeus vai dar pro
end Point para retornar ali as informações antes de retornar um erro então aqui eu posso colocar por exemplo 10 segundos então nessa configuração aqui né configurando dessa forma aqui o Prometeus o que que ele vai fazer ele vai deixa pegar aqui né ele vai vir aqui ó na minha aplicação ou no endp que eu configurar né aqui eu vou botar aqui endp tá melhor ele vai aqui no endp A cada 15 segundos certo o Prometeus ele vai aqui ó A cada 15 segundos coletar informação certo aqui ó A cada 15 segundos coletar a informação e
ele vai dar aqui um tempo de 10 segundos para retornar a informação certo essa aqui é a configuração que eu fiz ele vai A cada 15 segundos e vai esperar 10 segundos paraa aplicação retornar aqui a informação beleza essa essa configuração aqui por est no global é uma configuração Global vai ser aplicada em todos os end points vou até chegar perto aqui ó em todos os end points vai ter essa configuração beleza show de bola então depois que eu configurar aqui o scrap interval e o scrap timeout eu tenho aqui né o scrap configs o
scrap configs ele vai me dar Inclusive tem tem aqui ó um auto complete Maroto mas eu vou apagar que a gente não vai preencher isso tudo mas o scrap configs ele vai fazer toda a configuração de coleta né E vai fazer com que eu coloque aqui todas as todos os end points todos os locais que eu quero coletar as métricas certo então qualquer end Point que eu queira configurar coleta de métricas vai est aqui nesse Campo scrap config eu vou colocar nesse bloco aqui do iemo certo e aí eu vou configurar os meus Jobs que
são os end points que eu vou coletar E aí eu vou colocar aqui o primeiro campo Job name onde eu vou identificar o que que é esse Job o que que é essa métrica que eu vou colocar Qual é essa aplicação no caso aqui ah vamos colocar como roten botar aqui roten Potato que vai ser né no caso a nossa aplicação beleza e aí eu vou colocar aqui a configuração de coleta que no caso vai ser uma configuração estática Por que uma configuração estática Porque eu já tenho o endp é fixo né esse endp que
eu vou coletar ele não é dinâmico ele não é igual kubernetes onde ele tem ali a escala onde eu vou criar várias épicas e esse endp ele vai ele vai varar a não ele é um end Point fixo ele é um endereço fixo que eu vou coletar então ele é uma configuração estática porque ela não vai ser alterada dinamicamente né então quando eu tenho já esse endp determinado já para um domínio o endereço IP fixo eu posso utilizar aqui o static config E aí eu vou definir os meus targets E aí os targets podem ser
vários eu posso ter vários end points aqui que fixos onde eu vou coletar a informação então aqui no meu caso eu vou colocar né o no caso aqui o nome do meu serviço que no caso aqui é o Web certo vou colocar aqui o Web certo e aí eu vou colocar a porta que eu vou coletar que no caso aqui vai ser Deixa eu confirmar aqui ó a porta 5000 porque a minha aplicação tá rodando na 5000 então aqui rodo aqui 5000 certo dessa forma aqui beleza como eu tô criando aqui um novo arquivo de
configuração eu tenho que adicionar aqui também o próprio Prometeus né então eu vou adicionar aqui também o Prometeus e o Prometeus ele vai est rodando em local host né 9090 certo então aqui eu tamb também coloco a minha aplicação E também o Prometeus beleza pô legal ah um ponto muito importante aqui também aqui ele vai fazer eh a coleta seguindo essas configurações globais certo em cada um desses Jobs mas nada impede colocar aqui também ó um scrap interval e um scrap time out específico para cada Job eu posso fazer isso aqui ó posso por exemplo
botar aqui 10 segundos e aqui 5 segundos aí aqui muda o intervalo de coleta das métricas E também o timeout aqui não el vai seguir o padrão Aí vai ser 15 e vai ser 10 é importante né que coloque aqui um um intervalo que faça sentido levando em consideração que cara você coletar ali eh as métricas vai afetar o desempenho do Prometeus e também da aplicação né então você tem que utilizar isso aqui com sabedoria você não pode coloc ah vou colocar de um em um segundo Demorou não não vai fazer isso certo e também
você não pode colocar um intervalo de tempo tão grande porque aí a precisão das suas métricas também vai ser comprometida Então cara escolha aqui com sabedoria beleza bom legal então aqui eu configurei né fiz aqui a configuração padrão agora eu vou fazer o seguinte eu preciso esse arquivo lá no meu contêiner no Prometeus né no diretório correto e aí para isso aqui eu vou declarar né o volume no meu Prometeus onde eu vou pegar aqui o meu arquivo Prometeus eemo vou até copiar aqui para não não dar ruim né Vou botar aqui PR meteros emo
e agora eu vou mapear esse cara no diretório barra etc bar Prometeus barra Prometeus pon iamo ah Fabrício tem como alterar esse diretório aqui esse arquivo tem mas aqui não vamos abordar isso vamos trabalhar aqui dessa forma certo legal então agora eu vou vir aqui e vou executar aqui um docker comose up men D ele vai recriar o Prometeus e agora vamos verificar se funcionou vamos ver aqui cadê cadê cadê cadê tá aqui p beleza ah lá ó Opa aqui mudou lá ó ele tá agora ó coletando as métricas não só do Prometeus Mas também
da minha aplicação lá eu tenho aqui o job hot and potatoes tenho aqui a Instância e aqui se eu viro aqui agora né em graph eu consigo consultar as métricas para eu consultar as métricas eu preciso saber qual métrica eu quero coletar E aí para isso eu posso vir aqui pegar uma dessas métricas aqui e coletar uma dessas métricas deixa eu ver aqui deixa eu rodar esse carinho aqui beleza aqui ó quero por exemplo pegar aqui ó o http request duration Seconds count deixa eu ver aqui roda aqui tá lá ó eu consigo coletar as
minhas métricas E aí você percebe que o pronk l ele não é tão simples tá a linguagem pronk L ela não é tão simples mas você consegue entender mais ou menos como é que é o padrão você vai pegar ali a métrica que você quer e coletar e aqui ó você tem os filtros né porque cada Campo desse aqui né Cada resultado ele representa né um uma métrica específica por exemplo esse aqui é a duração em é o contador né de duração em segundos da requisição para o pef e imagens filme banner e Ghost bu
aqui no caso ele tá coletando né o uma imagem né aqui no caso ó retornou inclusive ó status 404 deve ter aqui ó o 200 cadê Aqui ó 200 então por exemplo eu quero ver eh as métricas de todas as requisições que tiveram aqui o status sei lá 404 né que deram erro eu posso colocar aqui ó 404 deu erro aí roda aqui ó beleza quero ver só o que teve sucesso bota aqui 200 aíe vai lá e me entrega e é claro cada vez que eu chamo aqui ó pá pá pá pá pá se
eu vir aqui ele vai mudar aqui né deixa ele tem um intervalo aqui um delay né porque ele tem um intervalo para coletar Cadê tá aqui ó deixa eu pegar aqui deixa eu executar aqui de novo ó lá ó quantidade de chamadas a eu já tenho aqui né então aqui eu consigo fazer esse filtro eu posso vir aqui remover de novo opa ele vai mostrar aqui Opa Cadê fiz besteira ah count Opa fiz besteira aqui Opa deixa pegar aqui ah deixa eu ver aqui cadê cadê acho que eu fiz besteira lá no campo cadê pera
aí tá aqui tá cadê cadê cadê cadê tá aqui Ah que que ae não tá mostrando aqui Opa u sumiu Sumiu a minha métrica deixa eu ver aqui deixa eu ver aqui não tá mostrando mais pegar aqui Ah aqui beleza cadê tá aqui foi certo então aqui ó eu tenho as minhas métricas da aplicação Mas putz se você reparar né Tem até aqui um gráfico né também para poder exibir mas se você reparar essas informações aqui Putz eu tô consultando aqui as informações e tal mas Putz cara não é uma não é algo agradável né
não é algo eh bonito de se ver pô o ideal é ver com gráfico bonitinho e tal né ver as informações sendo exibidas pô de uma forma mais profissional né para isso eu vou utilizar uma outra ferramenta que é o grafana o grafana ele é a ferramenta de dashboard Onde eu consigo montar né meus dados de uma forma muito mais el minha equipe e visualiz melor osus dados aqui eu deixo de visualizar minha informação dessa forma nessa forma meio tosca eig visualiz dessa forma aqui dessa forma aqui Bele Então vamos utiliz esse cara aqui na
noss E aí eu vou adicionar ele no meu compose vou vir aqui né Vou botar aqui o grafana daqui a pouco a gente vai adicionar o docker também aqui calma deixa eu só adicionar aqui o grafana mas aí eu vou colocar aqui a imagem grafana barra grafana 10.2.2 certo aqui certo e aí eu vou colocar a minha porta né a porta do grafana que no caso é a 30 a 3.000 quer dizer 3.000 certo e eu vou colocar aqui na Network vou adicionar aqui na mesma Network eles precisam se comunicar E aí eu vou rodar
esse cara Fabrício é tão simples quanto isso tão simples quanto isso roda ele aqui aí vai subir aí vai tá rodando aqui lá beleza e agora a gente consegue aqui ó acessar o grafana local host 3000 coloco aqui beleza e aí eu coloco aqui ó admin admin E aí eu coloco aqui uma nova senha e eu tenho aqui o grafana para poder e montar aqui os meus dashboards e aí você deve est pensando pô Fabrício mas eu não saco de grafana Ainda eu não sei ainda mexer com pronk e tal né não consigo ainda montar
um dashboard do zero não tem problema aqui no grafana página do grafana aqui ó em grafana.com eu tenho aqui certo e em produtos deixa aqui ó em open source eu tenho aqui ó dashboard template e aqui eu tenho diversos dashboards criados pela comunidade que eu consigo utilizar e importar no meu grafana Sem problema nenhum então por exemplo eu quero monitorar o meu Prometeus eu posso tá aqui ó Prometeus e aqui ele vai Opa áudio caiu alô alô alô alô deixa eu ver aqui alô alô a É Normal beleza show de bola eh então aqui ó
eu tenho né como utilizar aqui [Música] o o grafana com alguns boards já prontos aqui ó PR meteos 2.0 E aí como é que eu faço para importar isso lá no meu grafana eu posso vir aqui ó primeiro eu tenho que adicionar um data sece aqui no meu projeto certo aqui no meu no meu grafana E aí eu venho aqui ó em home ã administração e coloco aqui um datas Cadê Opa cadê cadê cadê cadê ah aqui connections administration não aqui em connections coloco aqui ó dat surce E aí eu tenho aqui como configurar um
data sece né a fonte de dados E aí eu tenho aqui ó Prometeus tem grafite influx DB Inclusive eu utilizei aqui já com influx DB irado você pode utilizar ó para coleta de logs você pode utilizar para trac cara você pode utilizar ó para continuous profiling utilizando grafana periscope certo dá para você utilizar mais k post gre dá para utilizar aqui o grafana com diversas fontes de dados mas aqui no caso a gente vai utilizar o Prometeus E aí para configurar o Prometeus eu vou colocar aqui o endp do Prometeus para ele consultar né E
para isso eu venho aqui http barra barra no caso aqui eu tenho que colocar o endereço do Prometeus como eu tô utilizando aqui o docker compose eu vou utilizar o nome aqui do meu serviço no compose E aí vem aqui Prometeus tá beleza 90 90 e aí eu configurei aqui o end Point se eu salvar ele já mostra aqui que salvou com sucesso e eu Agora consigo adicionar aqui um dashboard importar aqui um dashboard né fazendo o quê eu venho aqui ven em new no caso eu poderia criar um dashboard do absoluto zero ou né
vir aqui e importar um dashboard já existente aí eu colo aqui Opa no caso aqui eu vou copiar aqui o ID do dashboard né E aí eu vou colar tinha colado errado Down um load e aqui ó só vou setar o datas Import e tá L aí informação do meu Prometeus aqui sendo monitorado e exibindo a informação no grafana irado né muito irado né certo muito irado agora aqui ó como é que eu vou fazer para pegar as informações para pegar aqui o meu as informações da minha aplicação P Fabrício como é que eu vou
fazer da minha aplicação Se eu vir aqui no projeto da aplicação no github e procurar aqui deixa eu botar aqui cadê pera aí Potato cer aqui ó no projeto hot and potatoes E se eu verificar aqui no código da minha aplicação a minha aplicação escrit em Python eu utilizo aqui ó o Prometeus flesk exporter é uma biblioteca que eu utilizo para expor as métricas do Prometeus e também customizar aqui as minhas métricas então que que eu vou fazer eu vou pegar aqui esse cara e vou no projeto prometeu flesk exporter vou abrir aqui certo e
vou buscar aqui no github certo o projeto e aqui no projeto aqui ó promete exporter eu tenho aqui ó dashboards olha só olha que irado junto com o projeto de coleta de posição das métricas eu tenho também um dashboard já pronto para ser utilizado a diferença é que aqui o dashboard ele tá feito aqui utilizando o Jon ele não tá publicado lá no grafana Mas não tem problema eu posso pegar esse Jon aqui posso pegar esse Jon e fazer aqui o mesmo processo eu posso vir aqui dashboard aqui no caso eu vou salvar esse dashboard
certo e aqui no caso eu posso importar esse dashboard colocar aqui o Jon e download fazer um load aqui do projeto do dashboard vem aqui pá Beleza tem aqui o dashboard eh da aplicação pô Será que tá funcionando vamos ver deixa eu rodar aqui deixa eu rodar de Deixa eu só conferir aqui é isso mesmo agora eu vou fazer o seguinte eu vou rodar aqui deixa eu pegar aqui e abrir num outro browser Fala sério galera é top ou não é É ou não é top muito maneiro né eu vou fazer aqui um refresh automático
E aí a gente vai conseguir pegar aqui as ações cadê ah pegar aqui ó ah lá ele já começa a mostrar aqui ó ó lá certo e aí O legal é que eu consigo pegar aqui ó os últimos 5 minutos e e também consigo ó redimensionar eu posso pegar aqui ó e ir redimensionando ó consigo pegar aqui ó lá roda aqui para lá e eu volto a dizer galera volto a dizer se você desenvolve você tá desenvolvendo aí um software e você quer ter o monitoramento da aplicação coletar as métricas da aplicação em tempo real
verificar o que que tá acontecendo botei aqui automático Ó o refres aqui automático se você quer ver as informações em tempo real Verificar como é que tá a performance aqui ó consumo de de memória consumo de CPU você quer ver como tá a performance da aplicação em tempo de desenvolvimento muitas vezes você não tem isso na ferramenta que você eh tá desenvolvendo né você não tem ali eh direto na ide no vest code ou sei lá onde você tá desenvolvendo você pode colocar isso junto no seu na sua solução no seu stack de contêiner E
conforme você vai desenvolvendo você consegue fazer teste de carga do teste de carga teste de performance no seu próprio ambiente e ver o comportamento Verê como é que tá performance quantidade de chamadas cara você consegue antecipar problemas antes mesmo de chegar em produção porque você cara tá verificando o que tá acontecendo no tempo de desenvolvimento da aplicação E aí cara você tem isso também no ambiente de homologação no ambiente de produção cara você vai se antecipar em relação a problemas percebem o poder disso Coloca aí coloca aí se esse conteúdo não agregou ou não a
sua carreira se esse conteúdo tá fazendo a diferença aí Putz tá te ajudando a dar mais um passo rumo Elite Coloca aí #rumo Elite para eu saber que cara você achou esse conteúdo aqui coloca aí que eu quero saber quero esse feedback beleza bom cara se você não deu um like ainda no vídeo vídeo cara é a hora pô Olha que irado que a gente acabou de fazer vamos fazer agora o seguinte pra gente encerrar vamos pegar aqui as métricas agora do Doc né o DOC ele tem lá o end Point né ele tem o
end Point dele para você coletar que eu mostrei e Logo no início então como é mas tem um pulo do gato lá que foi que eu fiz no início o Dock ele tem aqui um arquivo chamado Demon Jon que são que é o arquivo de configuração do Doc se você vir aqui ó eu vou vir aqui como Rot né ten que utilizar o sudo e abrir aqui ó o Barra etc bar docker Barra Diamond certo se eu rodar aqui aqui ó eu tenho esse campo Matrix address né aqui eu libero ou acesso ao endp de
métricas do Doc Como eu como você viu né aí no início quando eu fui demonstrar lá eh na introdução se eu não tiver esse arquivo Vou colocar aqui ó sudo RM crianças Não façam isso em casa tá de remover aqui o arquivo de configuração mas se eu fizer isso aqui né remover o arquivo e restartar o DOC né eu vou restartar aqui o meu Dock Ah aqui no caso vou botar aquio se eu restartar aqui o DOC né ele não vai me mostrar o endp mais se eu vir aqui deixa aí terminar aqui de restartar
o meu contêiner eh foi pro saco também né aqui que foi pro saco né porque eu restarte o Dock Mas não tem problema né não tem problema eh Se eu tentar Acessar agora aqui o endp né pela porta cadê cadê cadê cadê cadê cadê cadê deixa eu abrir aqui no Browser ah local host eh 9323 bar Matrix ah lá eu não vou conseguir acessar porque eu não liberei o acesso ao endp Então eu preciso fazer essa configuração no meu Dimon certo no meu dockerd para poder acessar né o endp então primeira coisa que você vai
ter que fazer é isso tá você vai vir aqui sudo VM bar etc barra docker ã barra Diamond Jon e vai adicionar aqui esse arquivo certo deixa eu pegar aqui o parâmetro eu tenho ele aqui para não fazer besteira que é o matrix address né e eu vou colocar 127.0 p0.1 93 eh 9323 e aí dessa forma se eu restartar aqui e aí sim eu vou conseguir acessar as informações beleza show de bola aqui ah lá ó tá aqui né Agora eu tenho os end points novamente e aí já vamos aproveitar né Opa Eita me
perdi vamos aproveitar aqui e já adicionar também o docker aqui na nossa solução então eu venho aqui vou botar já copiar aqui as estrutura Vou botar aqui né no caso docker certo e um ponto muito importante aqui Como eu como o meu Prometeus ele tá dentro de um contêiner eu tenho que me policiar com uma coisa aqui né Eh se eu procurar aqui eu tô o meu docker ou melhor o meu Prometeus ele tá dentro de um contêiner né então que que acontece eu tenho aqui minha máquina host e o meu Prometeus ele tá aqui
dentro do contêiner né o meu Prometeus Se eu colocar aqui o endereço né como local host vai dar ruim porque ele vai tentar procurar o endp do Dock dentro do contêiner né ele vai fazer mais ou menos isso aqui né ele vai buscar aqui né e o o meu docker Na verdade ele tá rodando na minha máquina então aqui ao invés de colocar local host eu tenho que colocar o ip da minha máquina então eu vou vir aqui terminal vou abrir aqui o terminal Cadê aqui e eu vou executar aqui então um if config para
pegar aqui né o ip da minha máquina 1721 171 e colocar aqui no meu arquivo de configuração dessa forma colocando né a porta 93 23 e aí sim eu vou rodar né A minha a minha stack dou um C Dock compose up men D roda aqui beleza ó rodei e agora vamos ver se rodou doc aqui container LS tá aqui ó tudo rodando né Beleza vamos ver aqui como é que tá lá o Prometeus Ah deixa eu ver aqui aplicação vamos ver se a aplicação voltou vamos ver Lembrando que eu tô fazendo eu eu tô
fazendo isso aqui de subir tudo novamente porque eu restarte o docker né então el matou ali os meus contêiners mas tá aqui ó beleza rodando Ah deixa eu pegar aqui a minha aplicação Ou melhor o meu Prometeus e vamos ver lá os targets né vamos ver aqui os targets do Prometeus Ah aqui tá como 0.1 Ah vamos ver deu algum problema vamos ver aqui Ah vamos ver aqui vamos fazer o seguinte ou fazer melhor eu vou adicionar aqui eh no caso eu vou adicionar aqui no Prometeus um extra host né votar aqui ó Extra host
vou adicionar aqui um host no docker host do pinnal E aí eu vou colocar aqui o meu IP ele não pegar aqui pelo pelo IP e pegar pelo domínio botar aqui botar aqui e aqui ó a gente resolve Pelo domí certo dessa forma aqui agora eu aplico novamente show de bola ele vai recriar E agora se eu atualizar aqui vamos ver ele tá coletando aqui tudo vamos lá ó vamos ver aqui ai não tá pegando Ah aqui foi vamos ver 93 23 barra Matrix Aqui tá de boa que está de boa deixa eu fazer aqui
um negócio acho que eu já sei o que que é Ah deixa eu ver aqui vamos lá porque você não está pegando vamos ver aqui vamos fazer Ah acho que eu já sei o que é Ah deixa eu ver aqui pera aí sudo F bar etc bar doc ah Diamond Jon Opa Deixa eu botar aqui na verdade tem que botar aqui né aceitando todos certo e aí aqui eu executo novamente o Restart pera aí System CTL Restart docker ah ah sudo ele vai reiniciar Beleza deixa eu ver aqui System C Opa C status doc Beleza
então vamos testar aqui de novo ah beleza tá mostrando aqui agora vamos ver se agora rolou lá no Prometeus vamos ver aqui não Clear Beleza cadê ah tá aqui vamos lá doc compose up men D beleza vamos verificar aqui agora agora foi né no caso aqui eu tive que alterar né porque dessa forma que tava aqui né Deixa eu botar aqui barra etc doc Dimon que que acontece e da forma que tava eu t eu só estava aceitando e requisições local host né E como eu tô trabalhando aqui com containers é aquele mesmo conceito né
o Prometeus ele não tá na minha máquina local né ele não tá no na não é o meu local host né Ele é um uma outra é como se fosse uma outra máquina tentando acessar aí o endp do do docker então eu tive que colocar aqui aceitando requisições de qualquer lugar certo é claro você no ambiente de produção você não vai fazer isso você não vai colocar aceitando eh ququ de qualquer local né de qualquer host mas aqui né no nosso caso vai funcionar beleza mas crianças Não façam isso em produção beleza OK então agora
eu tenho aqui rodando o Prometeus né rodando aqui no docker rodando aqui no próprio Prometeus e também na minha aplicação como eu rodei aqui novamente o DOC eu zerei todo o meu grafana mas não tem problema a gente coloca aqui novamente o data ah não o data ficou Ah tá aqui ele matou ele não Zerou o coner então a minha Instância tá de boa aqui beleza e só startou e não matou o contêiner do grafana Então melhor ainda eu continuo aqui com a minha aplicação show de bola aqui no caso o flesk né fazendo aqui
ó coletando aqui as métricas certo e agora eu posso visualizar do docker também ó eu vou vir aqui em dashboard vou procurar aqui ó docker e aqui eu tenho aqui ó dashboard do Dock copio aqui E aí eu posso vir aqui e importar esse cara certo vem aqui load show de bola seleciona aqui o datas importo e ó lá ó eu tenho aqui as as métricas também do Doc aqui ó certo aqui ó pá beleza show de bola beleza Show Ah lá ó venho aqui rodo atualizo aqui ó e aí eu tenho aqui as minhas
métricas beleza galera show de bola galera show de bola deixa eu te ver aqui a dúvida da da o Alexandre Lopes perguntou no caso o certo no caso do Demon Jon seria aceitar requisições apenas do docker se sim como ficaria cara tem diversas formas de fazer isso tá eu posso rodar e eu posso rodar o Prometeus fora do contêiner eu poderia fazer isso tá eh poderia colocar para fazer aqui o o Prometeus rodando no mesmo host da minha máquina poderia fazer isso também tem diversas formas de fazer isso tá E mas você pode rodar talvez
eu rodaria esse cara aqui no direto na máquina ou conectado no mesmo host né eu conectado aqui na Network do tipo host que aí taria local host certo e depende depende da sua estrutura ou colocaria para liberar direto pelo domínio por exemplo botar aqui sei lá vamos lá ah deixa eu pegar aqui ó aqui vamos lá VM Ah vamos ver se aqui se funfo aqui vamos lá barra etc doc Dimon certo botar aqui dessa forma ah deixa eu ver aqui rest Opa Restart Vamos lá hum não eu não aceita o domínio aqui é eu faria
ele rodando direto no direto no direto no HOST certo beleza deix eu rodar esse carinha ah Cadê o que que houve aqui fiz alguma coisa aqui cadê cadê Ah pera aí ah p p pá caser conta deixa eu ver aqui o que que aconteceu esqueci alguma coisa deixa eu ver aqui se eu coloquei alguma coisa errada Opa Ah pera aí caramba fiz besteira Deixa eu botar aqui de novo tá a deixa eu pegar aqui deixa eu acertar aqui ah deixa eu pegar aqui meu beleza de dar um restart aqui no caso aí não aceitou ah
p p p pá caramba pera aí eu esqueço do insert aqui pronto aqui botar o zero beleza mas eu poderia colocar aqui ele na mesma rede host certo poderia fazer isso Opa hum ele tá dando algum erro aqui bom depois eu vejo aí aqui o que que houve certo mas deixa eu ver aqui mais alguma dúvida Ah se tem dashboard pronto para doc que eu mostrei tal dá para acessar o contêiner dá para rodar acessar o contêiner do Doc e rodar um stresse dentro dele para ver os erros e sobrecarga do contêiner em tempo real
no Prometeus e no grafana dá dá para fazer isso é você pode utilizar o k6 para isso certo pode utilizar o k6 sem problemas beleza mais alguma dúvida pessoal galera um ponto muito importante pessoal eh um recado aqui pra galera que falou comigo no Instagram ponto muito importante é o seguinte eh eu anunciei na foi ontem ou anteontem eu anunciei essa semana que semana que vem a gente vai abrir as matrículas da formação Dev devops pro deixa eu abrir aqui né a gente vai abrir a última turma certo e Ah pô Fabrício mas é a
última turma do ano cara é a última turma até quando não sei porque a gente vai fazer uma reformulação na formação da devops pro e para fazer essa reformulação pra gente fazer com que o curso seja ainda melhor a gente vai fazer aqui a última abertura de matrículas e a gente não tem previsão de abertura de uma nova Turma tá então se você tá aqui se você tava na dúvida de entrar na formação devops pro ou não cara eh Fica de olho segunda-feira a gente vai fazer a última abertura de Turma da formação devops pro
certo e cara a gente não sabe realmente quando vai eh abrir uma nova Turma A gente não sabe quanto vai ser o valor da da da turma quando a gente reabrir certo e cara não é papo de vendedor pessoal vai chegar janeiro vai chegar fevereiro e vocês vão ver que não vai ter inscrições para formação do devops pro certo a gente realmente tá fechando as inscrições Depois dessa próxima turma então se você tava na dúvida se você quer entrar se você quer fazer parte do devops pro entra aí na lista de espera entra em contato
comigo para tirar as suas dúvidas e não perde essa oportunidade beleza show de bola galera show de bola nton perguntou se quem já tá matriculado muda algo não não muda nada não muda nada quem tá matriculado tá matriculado eh a grade do curso eu vou abrir aqui pera aí deixa eu botar aqui tem aqui certo tá aqui beleza show de bola vai tá aqui tá aí para vocês e deixa eu colocar aqui também o contato deixa eu colocar aqui o contato Ah deixa eu pegar aqui o WhatsApp para vocês pegarem beleza aqui para vocês tirarem
dúvida beleza show de bola pessoal bom galera eu espero que esse conteúdo tenha ajudado você pera aí pessoal bom pessoal então é isso eu eso que esse conteúdo tem ajudado você se esse conteúdo agregou para você se esse conteúdo ajudou você a dar mais um passo rum elite dos profissionais de ti Coloca aí #rumo Elite e a gente se vê no próximo vídeo beleza pessoal um abraço aí valeu
Copyright © 2024. Made with ♥ in London by YTScribe.com