Monitoramento com OutSystems (Analytic Tools)

O objetivo deste artigo é compartilhar algumas formas de métricas, dashboards e logs da plataforma outsystems, detalhando algumas das funcionalidades power da ferramenta Analytics Tools da OutSystems e levantar um ponto de atenção para áreas de monitoramento e melhoria contínua, considerando a alta relevância que estas ferramentas de análise tem no auxílio para identificar pontos de atenção nos ambientes e sistemas, impactando diretamente na experiência do usuário final.

Cientes de que devemos atentar cada vez mais para melhoria contínua, garantindo a estabilidade e a eficiência das aplicações e claro, tendo em mente o “crescimento” natural da aplicação de um sprint para outro, muitas vezes adiciona cenários de instabilidade ou de degradação nos ambientes, para evitar isso devemos garantir o sucesso através do monitoramento da “saúde” do ambiente.

Por isso, nada mais natural do que utilizar as ferramentas disponibilizadas pela própria OutSystems nesta tarefa.

Para entender o estado atual de um ambiente e monitorar os problemas que afetam os usuários finais, a OutSystems permite que você:

Mas para quê monitorar e analisar o ambiente?

Basicamente o monitoramento serve para garantir que o funcionamento de seu ambiente esteja dentro do esperado, uma avaliação de performance e resolução de falhas proativas, pode evitar alguma situação de interrupção dos serviços e obviamente permite tomar decisões fundamentadas em fatos, estas informações permitem que você aprimore e garanta o futuro de seu ambiente de TI.

E neste monitoramento se baseia toda estratégia e modelagem do ambiente de TI, estas informações críticas permitem que você identifique e intervenha nos pontos de atenção. Detectar problemas antes que estes evoluam causando uma falha catastrófica é ponto focal na manutenção de ambientes de TI.

A boa notícia é que você tem acesso a todas estas ferramentas no ambiente Outsystems de forma nativa e pode conforme as suas necessidades, aprimorar estes recursos a fim de monitorar seus pontos de interesse de forma customizada.

LOG

Você pode visualizar os logs e outras informações úteis para monitorar seus aplicativos OutSystems e o status do ambiente na área de Monitoramento do console do Service Center.

Os logs permitem que você monitore o desempenho e a disponibilidade da plataforma e de seus aplicativos.

O mecanismo de log OutSystems é altamente escalável. Ele separa os logs por tipos em várias tabelas de banco de dados. As tabelas são otimizadas para o registro rápido e consultas simples.

Os logs na plataforma OutSystems fluem dos aplicativos para o banco de dados por meio de um mecanismo assíncrono. A gravação em massa (Bulk writing) é usada para otimizar o desempenho e minimizar a interrupção da lógica do aplicativo. Isso permite que a plataforma gere automaticamente informações detalhadas de registro e salve-as com eficiência.

Mas o que é logado?

Para responder a esta questão, podemos considerar que a plataforma separa os tipos de logs em diferentes telas.

Erros:

Esta tela apresenta todos os erros gerados pela plataforma, seja implicitamente como erros do sistema ou explicitamente, como exceções ocorridas por um aplicativo em sua lógica. 

General:

Esta tela exibe a atividade do sistema e do aplicativo, seja implicitamente como avisos de consulta lenta ou explicitamente chamando a Ação do Sistema LogMessage nos aplicativos. Esta tela também lista as etapas de deploy.

Traditional Web Requests:

Esta tela exibe o tempo que o servidor levou para atender às solicitações de aplicativos Web. Ele permite que você entenda quais telas dos aplicativos tradicionais Web estão demorando muito para serem entregues aos usuários finais.

Screen Requests:

Esta tela exibe o tempo que o servidor levou para atender às solicitações de aplicativos da web móveis e reativos. Ele permite que você entenda quais telas móveis e reativas da Web estão demorando muito para serem entregues aos usuários finais.

Service Actions:

Esta tela exibe o tempo que o servidor levou para executar uma ação de serviço.

Integrations:

Esta tela exibe o tempo que o servidor levou para executar as ações de suas integrações expostas e consumidas, como REST, SOAP ou SAP. Permite entender as solicitações que chegam ao ambiente a qualquer momento, e solucionar os erros das suas aplicações devido aos serviços externos que você está consumindo.

Extensions:

Essa tela exibe todas as ações de extensão que são executadas durante uma solicitação, e quanto tempo a ação de extensão levou para responder.

Timers:

Esta tela exibe cada Timer executado, quando o Timer foi agendado para ser executado, quanto tempo levou para ser executado e quando foi agendado para ser executado novamente. Ele permite solucionar problemas de lógica assíncrona que depende de Timers para sua execução.

Emails:

Esta tela exibe todos os e-mails enviados e se eles foram entregues com sucesso ou ainda estão pendentes. Ao desenvolver seus aplicativos, também é possível escolher se o conteúdo do e-mail é registrado ou não. Ele permite que você solucione problemas de lógica de aplicativo e entenda se os emails estão sendo enviados corretamente.

Processes:

Esta tela exibe o número de instâncias atualmente ativas, suspensas e fechadas para cada processo de negócios. Ele também mostra o número de instâncias com erros. Também é possível ver se uma instância de processo de negócios foi executada com sucesso ou com erros e suspendê-la ou encerrá-la.

Mobile Apps:

Essa tela exibe a lista de pacotes de aplicativos móveis solicitados por aplicativo, incluindo a plataforma nativa para a qual o pacote foi gerado e o status.

Onde posso ver os logs?

Acesse diretamente o console do Centro de serviços do ambiente:

  • Acesse https://<seuambiente>/ServiceCenter;
  • Clique em Monitoramento.

O controle do que pode ser logado é configurado por aplicação, ambiente, e por tipo de log, deixando o controle mais flexível para o administrador do service center, veja um exemplo:

Quase todas as opções de log permitem exportar os logs para o Excel para que os membros da equipe de operações possam analisar esses logs e compartilhá-los.

A atenção especial para esta parte da ferramenta, a identificação de problemas de forma assertiva, e os ajustes relevantes aos problemas encontrados, trará ótimos resultados para a qualidade dos aplicativos.

Além da parte de monitoramento dos logs, muitas vezes precisamos contabilizar e entender como estão funcionando nossos aplicativos por tipos de logs e por períodos.

Para estes momentos, podemos utilizar o Analytics, que a plataforma disponibiliza. Esta tela também está no service center.

Service Center Analytics fornece alguns relatórios, prontos para uso, como:

  • Atividade por horário ou diário;
  • Logs de Extensions, Screens, Queries, Timers e Integrations Performance;
  • Top Erros.

Esses relatórios podem ser gerados sob demanda por intervalo de datas específico.

O histórico diário fornece uma visão consolidada das informações do dia a dia, com base no relatório de uso diário.

A plataforma tem 2 tabelas_views que disponibilizam os logs no service center, estas duas tabelas são uma para semana atual e uma para semana anterior.

Ficou Curioso?

Vá ao Service Center e veja até quando consegue filtrar os logs de erro por exemplo.

Veja abaixo um diagrama que expõe como é feito a comunicação entre os aplicativos, service center e banco de dados, para a gestão de logs:

Os logs também podem ser analisados pelo lifetime, que será detalhado no próximo tópico.

Lifetime

LifeTime é o console centralizado para execução de deploys entre ambientes, gerenciar a infraestrutura, aplicativos, usuários de TI e segurança.

Como nosso foco é o monitoramento dos ambientes e aplicativos, vamos explicar a tela de analytics do Lifetime.

Por padrão apenas estará ativado o analytics de produção, mas o controle pode ser feito nos demais ambientes.

Com o dash analytics é possível medir o desempenho que os usuários estão experimentando ao usar seus aplicativos e:

Manter o desempenho ao longo do tempo

O conjunto de indicadores do lifetime permite que você entenda se o desempenho dos aplicativos está diminuindo à medida que o uso aumenta ou se o seu sistema está pronto para atender à demanda crescente.

Reagir na hora certa

Os relatórios periódicos permitem que você esteja constantemente ciente do status de desempenho do sistema e de sua evolução ao longo do tempo.

Mas onde eu posso ver estes logs ?

Acesse diretamente o console do Lifetime:

  1. Acesse https://<seuambiente>/lifetime;
  2. Clique em Analytics.

Também é possível acessar via Service Center, clicando no link/botão que fica no lado direito superior da tela:

As diferentes visões que temos no analytics nos permite verificar desempenho de um aplicativo no:

  • Cliente, onde também podem verificar os sistemas operacionais e navegadores mais usados;
  • Rede, onde podem verificar as conexões de rede e suportes de dados mais usados;
  • Servidor, onde eles podem verificar se há consultas lentas ao banco de dados e resposta de integração lenta .

Forge

OutSystems Forge é um repositório de módulos de código aberto reutilizáveis, conectores, componentes de IU e soluções de negócios para ajudar a acelerar o tempo de entrega do aplicativo. Assim, caso opte por integrar outras ferramentas de monitoramento, é possível encontrar na forge algumas opções, veja estes dois exemplos.

New Relic RUM

https://www.outsystems.com/forge/component-overview/6848/new-relic-rum-for-react

New Relic RUM (Real User Monitoring) monitora aplicativos OutSystems Reactive Web em tempo real com suporte para plug-ins personalizados para coletar dados arbitrários.

A plataforma New Relic é fornecida em um modelo de software como serviço (SaaS).

Para mais detalhes, visite https://newrelic.com.

Dynatrace RUM

https://www.outsystems.com/forge/component-overview/6850/dynatrace-rum-for-react

Dynatrace RUM (Real User Monitoring) monitora aplicações OutSystems Reactive Web em tempo real com suporte, com uma API disponível para coletar dados arbitrários.

A plataforma Dynatrace é entregue em um modelo de software como serviço (SaaS).

Para mais detalhes, visite https://www.dynatrace.com.

Podemos inclusive baixar dash analíticos para serem utilizados e ou customizados.

Informações adicionais

Para saber mais sobre logs que tal acessar os links oficiais da plataforma?

  • Logging in OutSystems (aqui)
  • Application Monitoring (aqui)
  • View the Environment Logs and Status (aqui)

 

Como dito no início deste artigo, a ideia não é esgotar o assunto, o esforço e a pesquisa foi direcionada a trazer elementos macros e as possibilidades de monitoria.

Particularmente o que nos atrai neste assunto é a possibilidade de customização, seja utilizando as informações de tabelas nativas como utilizando o material disponível na forge.

Um ótimo trabalho à todos!

Autores:

Marco Peres, desenvolvedor OutSystems da add
Agno Silveira, desenvolvedor OutSystems

PRECISA DE AJUDA?

FALE COM UM DE NOSSOS ESPECIALISTAS!

  • Todos
  • Blog
raddar novembro

raddar add raddar add O ano está terminando, e queremos compartilhar alguns destaques de notícias e momentos da add no…

Compartilhando ideias.

Transformando pessoas.

Desenvolvendo negócios.

São Paulo

Rio de Janeiro

Miami

© 2023 todos os direitos reservados a .add

V080323

PRECISA DE AJUDA?

FALE COM UM DE NOSSOS ESPECIALISTAS!