Slide 1

Slide 1 text

OBSERVABILIDADE CONTINUA: ESTRATÉGIAS AVANÇADAS PARA MONITORAMENTO PROATIVO JÉSSICA FÉLIX (@JESSILYNEH)

Slide 2

Slide 2 text

Aviso : TUDO nessa apresentação "depende". Exemplos de código em Javascript. @jessilyneh ESTRATÉGIAS AVANÇADAS PARA MONITORAMENTO PROATIVO

Slide 3

Slide 3 text

@jessilyneh ESTRATÉGIAS AVANÇADAS PARA MONITORAMENTO PROATIVO Use o Perplexity para pesquisar!

Slide 4

Slide 4 text

Implementação de métricas personalizadas @jessilyneh ESTRATÉGIAS AVANÇADAS PARA MONITORAMENTO PROATIVO Considere alguns aspectos: Definição de métricas: relevantes e que ajudem a medir desempenho 1. 2.

Slide 5

Slide 5 text

Implementação de métricas personalizadas @jessilyneh ESTRATÉGIAS AVANÇADAS PARA MONITORAMENTO PROATIVO Considere alguns aspectos: Definição de métricas: relevantes e que ajudem a medir desempenho 1. Ferramentas de observabilidade: aplicar proativamente inteligência 2. 3.

Slide 6

Slide 6 text

Implementação de métricas personalizadas @jessilyneh ESTRATÉGIAS AVANÇADAS PARA MONITORAMENTO PROATIVO Considere alguns aspectos: Definição de métricas: relevantes e que ajudem a medir desempenho 1. Ferramentas de observabilidade: aplicar proativamente inteligência 2. Integração contínua: facilitar a detecção de problemas 3. 4.

Slide 7

Slide 7 text

Implementação de métricas personalizadas @jessilyneh ESTRATÉGIAS AVANÇADAS PARA MONITORAMENTO PROATIVO Considere alguns aspectos: Definição de métricas: relevantes e que ajudem a medir desempenho 1. Ferramentas de observabilidade: aplicar proativamente inteligência 2. Integração contínua: facilitar a detecção de problemas 3. Análise de dados: prever necessidades futuras de capacidade 4. 5.

Slide 8

Slide 8 text

Implementação de métricas personalizadas @jessilyneh ESTRATÉGIAS AVANÇADAS PARA MONITORAMENTO PROATIVO Considere alguns aspectos: Definição de métricas: relevantes e que ajudem a medir desempenho 1. Ferramentas de observabilidade: aplicar proativamente inteligência 2. Integração contínua: facilitar a detecção de problemas 3. Análise de dados: prever necessidades futuras de capacidade 4. Ambiente de desenvolvimento: incentive aprendizado com os dados coletados 5.

Slide 9

Slide 9 text

Implementação de métricas personalizadas @jessilyneh ESTRATÉGIAS AVANÇADAS PARA MONITORAMENTO PROATIVO em uma aplicação Javascript usando Prometheus. prom-client para instrumentar seu código e coletar métricas

Slide 10

Slide 10 text

Implementação de métricas personalizadas @jessilyneh ESTRATÉGIAS AVANÇADAS PARA MONITORAMENTO PROATIVO Definir as métricas que deseja coletar: contar o número de solicitações HTTP recebidas

Slide 11

Slide 11 text

Implementação de métricas personalizadas @jessilyneh ESTRATÉGIAS AVANÇADAS PARA MONITORAMENTO PROATIVO instrumentar o código para registrar as métricas incrementar a contagem de solicitações HTTP sempre que uma solicitação for recebida

Slide 12

Slide 12 text

Implementação de métricas personalizadas @jessilyneh ESTRATÉGIAS AVANÇADAS PARA MONITORAMENTO PROATIVO expor um endpoint para que o Prometheus possa coletar as métricas expor as métricas em um endpoint /metrics

Slide 13

Slide 13 text

Rastreamento de eventos específicos e customização @jessilyneh ESTRATÉGIAS AVANÇADAS PARA MONITORAMENTO PROATIVO Escolha da ferramenta de gerenciamento de log: Logstash ou outra a escolha

Slide 14

Slide 14 text

Rastreamento de eventos específicos e customização @jessilyneh ESTRATÉGIAS AVANÇADAS PARA MONITORAMENTO PROATIVO Escolha da ferramenta de gerenciamento de log: Logstash ou outra a escolha Configure a coleta de logs: informações sobre eventos, erros e desempenho

Slide 15

Slide 15 text

Rastreamento de eventos específicos e customização @jessilyneh ESTRATÉGIAS AVANÇADAS PARA MONITORAMENTO PROATIVO Escolha da ferramenta de gerenciamento de log: Logstash ou outra a escolha Configure a coleta de logs: informações sobre eventos, erros e desempenho Personalise a análise de logs: Elastic e Kibana

Slide 16

Slide 16 text

Rastreamento de eventos específicos e customização @jessilyneh ESTRATÉGIAS AVANÇADAS PARA MONITORAMENTO PROATIVO Escolha da ferramenta de gerenciamento de log: Logstash ou outra a escolha Configure a coleta de logs: informações sobre eventos, erros e desempenho Personalise a análise de logs: Elastic e Kibana Rastreie eventos específicos: solicitações, erros e excessões

Slide 17

Slide 17 text

Rastreamento de eventos específicos e customização @jessilyneh ESTRATÉGIAS AVANÇADAS PARA MONITORAMENTO PROATIVO Escolha da ferramenta de gerenciamento de log: Logstash ou outra a escolha Configure a coleta de logs: informações sobre eventos, erros e desempenho Personalise a análise de logs: Elastic e Kibana Rastreie eventos específicos: solicitações, erros e excessões Aplique filtros e agregações: identificar tendências, correlações e anomalias

Slide 18

Slide 18 text

Rastreamento de eventos específicos e customização @jessilyneh ESTRATÉGIAS AVANÇADAS PARA MONITORAMENTO PROATIVO Escolha da ferramenta de gerenciamento de log: Logstash ou outra a escolha Configure a coleta de logs: informações sobre eventos, erros e desempenho Personalise a análise de logs: Elastic e Kibana Rastreie eventos específicos: solicitações, erros e excessões Aplique filtros e agregações: identificar tendências, correlações e anomalias Gere alerts: eventos importantes ou anomalias

Slide 19

Slide 19 text

Rastreamento de eventos específicos e customização @jessilyneh ESTRATÉGIAS AVANÇADAS PARA MONITORAMENTO PROATIVO Escolha da ferramenta de gerenciamento de log: Logstash ou outra a escolha Configure a coleta de logs: informações sobre eventos, erros e desempenho Personalise a análise de logs: Elastic e Kibana Rastreie eventos específicos: solicitações, erros e excessões Aplique filtros e agregações: identificar tendências, correlações e anomalias Gere alerts: eventos importantes ou anomalias Armazene logs: dados disponíveis para análise futura, cumprindo a regulamentação

Slide 20

Slide 20 text

Rastreamento de eventos específicos e customização @jessilyneh ESTRATÉGIAS AVANÇADAS PARA MONITORAMENTO PROATIVO Instale a logstash-node para enviar logs para o Logstash e a elasticsearch para interagir com o Elastic:

Slide 21

Slide 21 text

Rastreamento de eventos específicos e customização @jessilyneh ESTRATÉGIAS AVANÇADAS PARA MONITORAMENTO PROATIVO Importe as bibliotecas necessárias e crie instâncias para Logstash e Elastic:

Slide 22

Slide 22 text

Rastreamento de eventos específicos e customização @jessilyneh ESTRATÉGIAS AVANÇADAS PARA MONITORAMENTO PROATIVO Personalize seus registros com informações adicionais, como um carimbo de data/hora e uma mensagem personalizada:

Slide 23

Slide 23 text

Rastreamento de eventos específicos e customização @jessilyneh ESTRATÉGIAS AVANÇADAS PARA MONITORAMENTO PROATIVO Fazer o envio dos logs para o Logstash, para processamento e armazenamento adicionais no Elastic:

Slide 24

Slide 24 text

Rastreamento de eventos específicos e customização @jessilyneh ESTRATÉGIAS AVANÇADAS PARA MONITORAMENTO PROATIVO Use o Elastic para personalizar e analisar os logs. Voce pode (e deve!) criar visualizações, painéis e alertas personalizados com base nos dados de log armazenados no Elastic

Slide 25

Slide 25 text

Logging: registrar eventos e informações relevantes 1. Monitoramento de métricas: Grafana, para coletar e visualizar métricas em tempo real 2. Tracing: rastrear o fluxo de uma solicitação 3. Event Streaming: Apache Kafka ou RabbitMQ, para capturar e processar eventos em tempo real 4. Telemetria de infraestrutura: iIdentificar problemas de desempenho e capacidade em tempo real. 5. Análise de logs e métricas: pesquisar, visualizar e analisar os dados capturados 6. Estratégias para captura de dados em tempo real @jessilyneh ESTRATÉGIAS AVANÇADAS PARA MONITORAMENTO PROATIVO Considere alguns aspectos:

Slide 26

Slide 26 text

Telemetria @jessilyneh ESTRATÉGIAS AVANÇADAS PARA MONITORAMENTO PROATIVO usando a biblioteca @sentry/browser

Slide 27

Slide 27 text

Telemetria @jessilyneh ESTRATÉGIAS AVANÇADAS PARA MONITORAMENTO PROATIVO Importe e configure o Sentry no seu código JavaScript: Substitua 'YOUR_DSN_HERE' pelo DSN (Data Source Name) fornecido pelo Sentry. O DSN é uma chave de acesso exclusiva para o projeto no Sentry.

Slide 28

Slide 28 text

Telemetria @jessilyneh ESTRATÉGIAS AVANÇADAS PARA MONITORAMENTO PROATIVO Adicione capturas de erros para enviar relatórios de erros ao Sentry: Envolver o código suscetível a erros em um bloco try-catch e chamar Sentry.captureException(error) dentro do bloco catch permitirá que o Sentry capture e envie relatórios de erros para análise.

Slide 29

Slide 29 text

Telemetria @jessilyneh ESTRATÉGIAS AVANÇADAS PARA MONITORAMENTO PROATIVO Adicione breadcrumbs para rastrear o fluxo da pessoa usuária: Adicionar breadcrumbs permite rastrear o fluxo do usuário e entender o contexto em que os erros ocorrem.Você pode adicionar breadcrumbs em eventos importantes, como cliques em botões, navegação de página, etc.

Slide 30

Slide 30 text

Telemetria @jessilyneh ESTRATÉGIAS AVANÇADAS PARA MONITORAMENTO PROATIVO Personalize as opções de configuração do Sentry, se necessário: Você pode personalizar várias opções de configuração do Sentry, como a versão do aplicativo (release), o ambiente (environment), filtros de erro, entre outros. Lembre-se de substituir 'YOUR_DSN_HERE' pelo DSN fornecido pelo Sentry.

Slide 31

Slide 31 text

Análise de tendências: Use ferramentas de análise de dados, como o Elasticsearch ou o Kibana, para visualizar e explorar os dados históricos das métricas. Análise preditiva: aprendizado de máquina - identificar padrões ocultos nos dados das métricas, prever comportamentos (prever o crescimento do uso de recursos com base em dados históricos.) Correlação de métricas: encontrar relações de causa e efeito e a entender impacto de eventos Experimentação e otimização: identificar configurações ideais e otimizar o desempenho do sistema com base nas métricas observadas. Análise de métricas @jessilyneh ESTRATÉGIAS AVANÇADAS PARA MONITORAMENTO PROATIVO Algumas estratégias que você pode considerar:

Slide 32

Slide 32 text

Rastreamento de transações @jessilyneh ESTRATÉGIAS AVANÇADAS PARA MONITORAMENTO PROATIVO Correlação eficiente de eventos em transações distribuídas: Defina um identificador de transação exclusivo para correlacionar eventos em diferentes serviços ou componentes envolvidos na transação. Modifique seus serviços para emitir eventos relacionados à transação, incluindo o identificador da transação e dados relevantes.

Slide 33

Slide 33 text

Rastreamento de transações @jessilyneh ESTRATÉGIAS AVANÇADAS PARA MONITORAMENTO PROATIVO Correlação eficiente de eventos em transações distribuídas: Defina um identificador de transação exclusivo para correlacionar eventos em diferentes serviços ou componentes envolvidos na transação. Modifique seus serviços para emitir eventos relacionados à transação, incluindo o identificador da transação e dados relevantes. Configure um armazenamento de eventos centralizado ou um message broker onde todos os eventos relacionados às transações possam ser armazenados. Sempre que um serviço executa uma ação relacionada a uma transação, ele deve publicar um evento no armazenamento centralizado de eventos.

Slide 34

Slide 34 text

Rastreamento de transações @jessilyneh ESTRATÉGIAS AVANÇADAS PARA MONITORAMENTO PROATIVO Correlação eficiente de eventos em transações distribuídas: Defina um identificador de transação exclusivo para correlacionar eventos em diferentes serviços ou componentes envolvidos na transação. Modifique seus serviços para emitir eventos relacionados à transação, incluindo o identificador da transação e dados relevantes. Configure um armazenamento de eventos centralizado ou um message broker onde todos os eventos relacionados às transações possam ser armazenados. Sempre que um serviço executa uma ação relacionada a uma transação, ele deve publicar um evento no armazenamento centralizado de eventos. Correlacione os eventos

Slide 35

Slide 35 text

Rastreamento de transações @jessilyneh ESTRATÉGIAS AVANÇADAS PARA MONITORAMENTO PROATIVO Outras estratégias: Implementação de traceability em ambientes microservices Ferramentas de rastreamento profiling

Slide 36

Slide 36 text

Alertas Inteligentes: @jessilyneh ESTRATÉGIAS AVANÇADAS PARA MONITORAMENTO PROATIVO Definição de alertas baseados em contextos específicos Integração de machine learning para alertas preditivos Estratégias de redução de falsos positivos

Slide 37

Slide 37 text

Monitoramento de Infraestrutura: @jessilyneh ESTRATÉGIAS AVANÇADAS PARA MONITORAMENTO PROATIVO Visibilidade profunda em níveis de sistema operacional e hardware Uso eficaz de ferramentas de monitoramento de rede Estratégias para monitorar recursos em ambientes de contêineres e orquestração

Slide 38

Slide 38 text

Ferramentas de Terceiros @jessilyneh ESTRATÉGIAS AVANÇADAS PARA MONITORAMENTO PROATIVO Conectando dados de observabilidade a ferramentas externas Uso de APIs para integração personalizada Casos práticos de integração com plataformas populares

Slide 39

Slide 39 text

@jessilyneh ESTRATÉGIAS AVANÇADAS PARA MONITORAMENTO PROATIVO Escalabilidade e Desempenho Estratégias para monitoramento em ambientes altamente escaláveis Otimização do desempenho do sistema com base em dados de observabilidade Abordagem proativa para evitar gargalos e falhas de desempenho Uso eficaz de ferramentas de monitoramento de rede Estratégias para monitorar recursos em ambientes de contêineres e orquestração

Slide 40

Slide 40 text

Eu sou a Jess Sou desenvolvedora de Software há 8 anos. Trabalho na área faz 6 anos. I .T. Architect II (setor bancário) Tech Lead na ONG Lacrei Saúde Instrutora de Javascript na Linux Tips Co organizadora CityJS Conf Brazil ESTRATÉGIAS AVANÇADAS PARA MONITORAMENTO PROATIVO @jessilyneh

Slide 41

Slide 41 text

@jessilyneh ESTRATÉGIAS AVANÇADAS PARA MONITORAMENTO PROATIVO Do Zero Ao Javascript

Slide 42

Slide 42 text

@jessilyneh ESTRATÉGIAS AVANÇADAS PARA MONITORAMENTO PROATIVO Desvendando a Sintaxe do Javascript O objetivo é aprender a compreender e ler código javascript, passando por cada parte básica da sintaxe. O meu foco é complementar o conhecimento das pessoas que são sempre focadas em prática mas que não tem o conhecimento teórico que também é necessário, como compreender quando é mais adequado optar por uma estrutura de dados e decorrência de outra, quando usar construtor ou sintaxe literal e quais os benefícios de cada um.