Discovery, CMDB e Gestão de Ativos


Introdução ao discovery do Priax

O Módulo de Discovery identifica Itens de Configuração (ICs), seus atributos essenciais e suas relações com outros ICs diretamente do ambiente administrado, mantendo-os atualizados na CMDB. Ele é dividido em submódulos, licenciados separadamente, que realizam o discovery em diferentes classes de tecnologias e fontes de dados.

Funcionalidades do Discovery

Discovery de Rede e Domínios LDAP/Active Directory
Esse submódulo utiliza redes e domínios LDAP como fontes de dados para identificar hosts, seus sistemas operacionais e realizar varreduras internas, detectando itens de configuração e suas dependências. Os hosts descobertos passam a ser monitorados regularmente, e as alterações são refletidas na CMDB. Opcionalmente, servidores com tecnologias Windows e Linux podem receber agentes que aceleram o processo de discovery de mudanças, inserções e exclusões de ICs.

Discovery de Hypervisors
Compatível com Microsoft Hyper-V e VMware, este submódulo descobre componentes de clusters, armazenamento de dados, hosts virtuais, componentes de rede virtual e suas inter-relações.

Discovery Cloud
Especializado em plataformas de nuvem, descobre máquinas virtuais, bancos de dados gerenciados, sistemas de arquivos, armazenamento e outros elementos instanciáveis em Amazon AWS, Microsoft Azure e Google GCP. Também identifica relações entre elementos na nuvem e em ambientes on-premises.

Discovery Kubernetes
Capaz de mapear automaticamente toda a infraestrutura Kubernetes na CMDB, mantendo-a sincronizada com o ambiente real. Descobre elementos como nodes, storages, namespaces, deployments, replica sets e pods, além de suas relações de dependência.

Discovery e Inventário de Estações de Trabalho
Permite inventariar dispositivos de usuários, realizando o levantamento de hardware, software e outros itens de configuração. O processo pode ser feito sem agentes, utilizando redes e domínios Active Directory, ou com agentes para garantir o inventário mesmo de equipamentos externos, como notebooks em uso remoto.

Características Gerais dos submódulos de Discovery

Os módulos de Discovery apresentam um conjunto de funcionalidades robustas e flexíveis que facilitam a identificação, o monitoramento e a gestão dos Itens de Configuração (ICs) na CMDB. Essas características incluem:

Discovery de Itens de Configuração a partir de diferentes origens
Os módulos permitem configurar diversas fontes de dados para identificar e mapear ICs no ambiente de TI. As fontes possíveis incluem:

Automação e simplificação da gestão da CMDB
Os módulos incluem ferramentas que aceleram a implementação e reduzem a complexidade da manutenção, como:

Personalização com modelos de IC adicionais
Os usuários podem criar modelos personalizados de ICs, permitindo o discovery e a gestão de itens que não são nativamente suportados pela ferramenta. Esses modelos podem ser associados a fontes de dados específicas, como APIs ou configurações customizadas.

Flexibilidade na descoberta de ICs personalizados
A ferramenta oferece mecanismos para expandir sua capacidade de descoberta, permitindo:

Identificação e classificação de relações entre ICs
Os módulos detectam automaticamente as relações entre ICs e classificam essas dependências, com base em critérios como:

Descoberta automatizada de dependências
A ferramenta identifica relações intrínsecas ou funcionais entre ICs, como:

Visualização hierárquica de dependências
As dependências entre ICs e aplicações de negócios são representadas em árvores hierárquicas. Essas visualizações facilitam o entendimento das relações e oferecem painéis analíticos para análise de impacto e funcionamento.

Identificação de Single Points of Failure (SPFs)
O sistema detecta SPFs, ou seja, ICs cuja falha pode causar interrupções significativas em aplicações ou processos críticos. Essa análise é apresentada em relatórios específicos, fáceis de gerar e interpretar.

Análise de impactos de falhas
A ferramenta identifica os possíveis impactos de uma falha em um IC sobre outros ICs e aplicações relacionadas. Assim como os SPFs, essa análise é documentada em relatórios específicos, sem necessidade de procedimentos manuais.

Consideração de redundâncias entre ICs
A CMDB permite configurar clusters de ICs redundantes, detalhando:

Navegação avançada nos dados da CMDB
A interface possibilita filtros avançados para pesquisa de ICs por:

Painéis customizados para visualização da CMDB
A ferramenta oferece suporte à criação de painéis personalizados, permitindo que os usuários configurem visualizações adaptadas às suas necessidades de monitoramento e gestão.

Gestão de Ativos

O Priax é uma solução completa e integrada para o controle eficiente de todos os recursos tecnológicos de uma organização. Projetada para atender às necessidades das áreas de infraestrutura, suporte e governança de TI, a ferramenta centraliza as informações de hardware e software, oferecendo visibilidade, controle e rastreabilidade de ativos ao longo de seu ciclo de vida.

Gestão de Hardware

Inventário de Equipamentos (Hardware)

A funcionalidade de Inventário de Hardware da Priax oferece uma visão completa, automatizada e em tempo real de todos os ativos físicos de tecnologia da informação da organização. Por meio de mecanismos de varredura e coleta inteligente de dados, a Priax realiza um mapeamento detalhado de computadores, impressoras e outros dispositivos conectados à infraestrutura corporativa.

Coleta Automática de Informações Técnicas

A Priax realiza a coleta automatizada de informações técnicas por meio de agentes locais, protocolos padrão (como WMI, SNMP, etc.) ou integração com soluções de gerenciamento já existentes. Esse processo permite capturar e registrar com precisão os seguintes dados:

Rastreabilidade e Histórico

Cada item de hardware registrado na Priax mantém um histórico completo de alterações, incluindo:

Gestão de Software

Inventário de Softwares

A funcionalidade de Inventário de Softwares da Priax oferece visibilidade completa e contínua sobre todos os aplicativos instalados nos dispositivos da organização, abrangendo ambientes Windows e Linux. Por meio de uma varredura inteligente e não intrusiva, a ferramenta identifica, cataloga e mantém atualizado o repositório de softwares em uso, promovendo governança, segurança e compliance com políticas de licenciamento.

Descoberta e Coleta de Informações

A Priax realiza a coleta de dados por meio de agentes locais ou acesso remoto via protocolos nativos do sistema operacional, como:

Essa abordagem permite identificar:

Catálogo e Normalização de Aplicações

Os dados coletados são organizados automaticamente em um catálogo de softwares com normalização de nomes e versões, evitando duplicidades e inconsistências. Isso facilita a visualização em relatórios e a análise gerencial, além de permitir a categorização por tipo de aplicação, finalidade, criticidade ou compliance.

Controle e Medição de Uso de Software

A funcionalidade de Medição de Uso de Software da Priax vai além do inventário tradicional, oferecendo um monitoramento preciso e detalhado da utilização real dos softwares instalados em cada estação de trabalho ou servidor. Essa capacidade permite à organização identificar padrões de uso, justificar investimentos, otimizar licenciamento e promover a governança eficaz de seu parque de aplicações.

Coleta Inteligente de Dados de Uso

Por meio de agentes leves instalados em dispositivos Windows e Linux, a Priax monitora de forma contínua os seguintes parâmetros:

Exemplos de Métricas Capturadas

Software Usuário Estação Execuções (mês) Duração Total (hh:mm)
Microsoft Excel j.silva WS-019 24 12:35
AutoCAD a.rocha NB-042 3 4:20
Adobe Photoshop m.almeida NB-113 0 0:00

Análises e Aplicações Práticas

A Priax utiliza os dados de uso para gerar insights estratégicos e operacionais, tais como:

Relatórios e Dashboards

A Priax apresenta os dados de uso em dashboards interativos e relatórios que podem ser filtrados por:

Os relatórios podem ser exportados em PDF, Excel ou enviados automaticamente por e-mail para áreas como TI, Compras, Auditoria ou Gestão de Riscos.

Gestão de Licenciamento

A Priax oferece uma robusta funcionalidade de Gestão de Licenças, permitindo à organização manter total controle sobre os contratos de software adquiridos, sua vigência, utilização real e conformidade com os limites de uso. Combinando dados do inventário de software e do monitoramento de uso, a solução proporciona uma gestão preventiva, inteligente e auditável do licenciamento.

Registro Centralizado de Licenças

A Priax permite o cadastro completo das licenças adquiridas para cada software, com os seguintes campos:

Vinculação com Dispositivos e Usuários

Cada licença registrada pode ser vinculada de forma automática ou manual aos computadores e/ou usuários onde o software correspondente está instalado e/ou em uso. A Priax mantém um mapeamento preciso de:

Controle de Utilização de Licenças

A ferramenta realiza a conciliação contínua entre o número de licenças adquiridas e o número de instalações ou execuções registradas no ambiente. Isso permite:

Alertas e Notificações

A Priax gera alertas configuráveis em diversos cenários críticos:

Relatórios e Auditoria

A solução oferece relatórios completos sobre:

Esses relatórios podem ser exportados, agendados e integrados a ferramentas externas, como sistemas ERP, ITSM ou plataformas de auditoria.

Discovery de Mapas de Aplicações

O Priax Application Mapping

O Priax Application Mapping tem em sua base o conceito de rastreamento distribuído (Distributed Tracing) que é usado por diversas ferramentas de Application Performance Monitoring (APM) para solucionar o problema de entender o fluxo de execução de uma solicitação em sistemas distribuídos, nos quais uma única solicitação é processada por vários componentes ou serviços.
A ideia central do rastreamento distribuído é que uma solicitação pode ser dividida em várias operações menores, conceitualmente chamadas de "spans", que representam unidades de trabalho individuais dentro de um sistema distribuído. Cada span registra informações sobre a operação, como seu início, duração, identificador exclusivo e quaisquer metadados relevantes. Os spans são conectados em uma árvore hierárquica, na qual o span raiz representa a solicitação inicial e os spans filhos representam operações dependentes ou subprocessos.
Essa estrutura hierárquica de spans permite visualizar o fluxo de execução completo de uma solicitação, identificar gargalos de desempenho, analisar o tempo gasto em cada operação e depurar problemas em sistemas distribuídos complexos. Além disso, cada span pode conter anotações adicionais, como logs e tags, que fornecem informações contextuais para facilitar a compreensão do comportamento do sistema.
A teoria relacionada às spans no rastreamento distribuído é fortemente influenciada por conceitos de observabilidade, como causalidade, transparência e correlação de eventos. Ao coletar e correlacionar spans de diferentes componentes, é possível reconstruir a trajetória completa de uma solicitação e obter insights valiosos sobre o desempenho e a eficiência do sistema distribuído. O rastreamento distribuído e o uso de spans tornaram-se fundamentais para a observabilidade e o monitoramento de sistemas distribuídos modernos, permitindo aos desenvolvedores e operadores uma compreensão mais profunda do comportamento e do desempenho de suas aplicações.
Com base nessas tecnologias, o Application Mapping, que é um módulo do Priax, visa o mapeamento automático de dependências de Aplicações, correlacionando os Itens de Configuração da CMDB em função do uso que as Aplicações, ao longo de seus funcionamentos, fazem desses recursos. Para tal, o Application Mapping analisa as spans geradas pela aplicação, buscando informações sobre o uso ou consumo de recursos externos à aplicação (Itens de Configuração), para gerar o correlacionamento de dependência.  Desta forma o Priax é capaz de identificar, entre outros tipos de Itens de Configuração os seguintes tipos de recursos:

O resultado dessas análises são mapas de dependências, que correlacionam os Itens de Configuração diretamente e indiretamente consumidos pelas transações executadas pela Aplicação, formando uma árvore de dependências que explica exatamente o que cada aplicação precisa para funcionar, podendo ser usadas posteriormente para simulações de impactos e de dependências, na análise em tempo real de impactos no caso de uma falha de algum IC ou para o planejamento de continuidade de negócios e recuperação de desastres. Abaixo um exemplo de mapa gerado pelo Application Mapping.

image.png

O Application Mapping realiza também a remoção de vínculos de dependência que não mais estão presentes na aplicação, removendo as dependências que não mais se apresentaram por tempo determinado e configurável.

Funcionamento do Application Mapping

O Priax se beneficia-se do Rastreamento Distribuído de aplicações para realizar o mapeamento de Aplicações, tendo como base as spans que podem ser capturadas de diversas formas utilizando quatro componentes básicos:

  1. Instrumentação: A instrumentação é o ato de adicionar bibliotecas de telemetria ao código-fonte ou em camadas inferiores de sua infraestrutura (servidores de aplicação, proxies máquinas virtuais Java, etc.). Essas bibliotecas são projetadas para diferentes linguagens de programação e fornecem APIs para instrumentar pontos específicos do seu código. Por exemplo, você pode instrumentar chamadas de função, solicitações HTTP ou consultas de banco de dados. A instrumentação gera dados de telemetria, como spans (para rastreamento) e métricas. Para instrumentar uma aplicação podemos fazer uso de bibliotecas prontas ou alterar o código fonte das aplicações para realizar uma instrumentação própria.
  2. Coletores: Os coletores são responsáveis por coletar os dados de telemetria gerados pela instrumentação. Existem coletores específicos para diferentes tipos de dados, como rastreamento, métricas e logs. Os coletores podem ser executados como agentes no mesmo host da sua aplicação ou podem ser configurados como serviços independentes.
  3. BackEnds: Os dados coletados pelos coletores são enviados para backends de armazenamento, onde podem ser processados e analisados posteriormente. Os backends podem ser serviços de terceiros, como provedores de nuvem ou sistemas de armazenamento de dados internos. Eles oferecem recursos para consultar, visualizar e analisar os dados de telemetria, fornecendo insights sobre o desempenho e o comportamento do seu aplicativo. Os dados fornecidos nessa camada são utilizados para descobrir as relações entre as Aplicações e os itens de configuração presentes na CMDB Priax.
  4. Discovery de Transações: O sistema de Discovery de transações é um componente do Priax que consulta e analisa os dados das spans presentes nos BackEnds utilizando inteligência artificial e análise de dados, relaciona os Itens de Configuração na CMDB, criando as transações das aplicações na CMDB como Itens de Configuração que interligam os ICs.

No desenho abaixo pode-se observar como estes componentes se relacionam.

image.png

O Priax é compatível com os seguintes mecanismos de Instrumentação:

image.png

Devido aos melhores resultados obtidos, é recomendado a pilha OpenTelemetry, visto que a quantidade de informações coletadas é mais abundante e devido à melhor anonimização dos dados obtidas por essas bibliotecas de instrumentação.
Na camada de Instrumentação o Priax também é compatível com instrumentações proprietárias, desde que utilizem Coletores e BackEnds compatíveis. Desta forma é possível instrumentar uma aplicação para funcionar com o Priax sem depender diretamente de bibliotecas de terceiros em seu código-fonte. As tecnologias compatíveis com o Priax possuem especificações e API aberta que permitem implementações personalizadas para integrar a telemetria em sua aplicação.
Aqui estão algumas abordagens que você pode seguir para instrumentar sua aplicação sem utilizar bibliotecas de terceiros:

  1. Implementação manual: Você pode criar sua própria implementação personalizada das APIs do OpenTelemetry em seu código-fonte. Isso envolve a criação de classes, métodos e estruturas de dados necessários para capturar e enviar os dados de telemetria, como spans, métricas e logs. No entanto, essa abordagem requer um esforço significativo de desenvolvimento e manutenção, pois você precisará lidar com aspectos como a geração de IDs de rastreamento exclusivos, a propagação do contexto de rastreamento e a integração com os coletores compatíveis.
  2. Adaptação de código-fonte aberto: Se você preferir não desenvolver uma implementação personalizada do zero, pode considerar adaptar e modificar um código-fonte aberto existente que seja compatível com o Priax. Existem várias implementações de referência e bibliotecas de código aberto que você pode usar como base e personalizar de acordo com as necessidades da sua aplicação. Recomendamos neste caso as bibliotecas OpenTelemetry.
  3. Integração proxies: Uma alternativa é utilizar proxies que atuam como intermediários entre sua aplicação e os coletores. Esses agentes podem interceptar as chamadas da sua aplicação, gerar spans automaticamente e enviá-los para os coletores. Essa abordagem pode ser útil se você deseja evitar a modificação direta do código-fonte da sua aplicação.
    Independentemente da abordagem escolhida, é importante garantir que você esteja seguindo as especificações compatíveis com uma das pilhas compatíveis com o Priax e fornecendo as informações de telemetria necessárias, como spans, metadados e contexto de rastreamento, para obter uma visão completa do comportamento e desempenho da sua aplicação distribuída.

Aplicações, Serviços e Transações

O Priax Application Mapping, através do discovery de transações cria no Priax as transações das aplicações. As transações são os Itens de Configuração que representam as spans encontradas no BackEnd que apresentam funcionamento similar. Cada diferente perfil de spans gera diferentes transações no Priax. Consultas em bancos de dados com mesmo endereço de servidor, database e query e consultas à webservices com mesmo endereço e estrutura são exemplos de perfis de spans que são transformados em transações na CMDB Priax pelo Discovery de Transações. Uma transação representa centenas e milhares de repetições de execução do mesmo trecho de código fonte dentro da aplicação.
Além de detectar as diferentes transações nos BackEnds, o discovery de transações detecta quais os Itens de Configuração que foram utilizados na execução de cada transação. Desta forma se uma transação consumir uma base de dados, um tópico de um sistema Kafka, uma fila de um sistema RabbitMQ, um socket de rede com um serviço específico ou ainda um webservice, estes componentes serão relacionados com as transações.
Abaixo um exemplo de transações detectada em um cluster Kubernetes.

image.png

No topo do desenho, é representado um Deployment do Kubernetes, o qual foi instrumentado. Os elementos abaixo representam hierarquicamente as transações executadas nestes containers. Cada uma das transações consomem ICs que estão na CMDB, portanto cada transação é relacionada com tais ICs, como pode-se ver no exemplo abaixo para uma transação de consulta a um webservice, hospedado por outro container instrumentado.

image.png

Como a transação consome um Deployment também instrumentado, veja que este Deployment também irá apresentar suas transações e dependências, chegando em uma base de dados MS SQL e nas suas respectivas dependências. A sucessão desta lógica, cria o mapa completo de dependência da aplicação.

Exibição de Dados e Navegação na CMDB

ICs e seus filhos

Após descobrir os Itens de Configurações (ICs) e suas relações, o Priax os cadastra em sua CMDB interna e fornece recursos de navegação para que você compreenda as descobertas, entenda a composição de cada tecnologia e também a cadeia de dependência e impacto entre esses ICs. Quando monitorados o Priax ainda fornece a capacidade de exibir os indicadores e suas coletas realizadas ao longo do tempo, exibindo gráficos do tipo Time Series para que se consiga compreender o funcionamento ativo desses elementos.

Ao autenticar, na página principal do Priax, é exibida a no painel da direita a árvore de ICs. A árvore de ICs, em sua raiz apresenta as famílias de ICs que é o primeiro nível de classificação. No segundo nível temos as categorias de ICs, essas subdivisões existem para organizar logicamente os ICs e facilitar a navegação na CMDB. 

image.png

Na imagem acima, estão expandidas duas das principais famílias de ICs: Cloud Resources e On-Premises Resources. Nessas duas famílias vamos encontrar os principais tipos de ICs que estão relacionados à Infraestrutura de TI. Dentro dessas categorias temos por exemplo os Dispositivos presentes nos datacenters, os hosts e além de recursos independentes armazenados em cloud.

Expandindo a categoria Servers por exemplo, vamos encontrar os servidores do ambiente on-premises. Neste terceiro nível começamos a encontrar os Itens de Configuração Raiz, que são aqueles que não possuem um pai. Essa relação pai e filho é crada entre dois ICs que compõe um ao outro. Um IC pai é composto de seus filhos. Essa relação de composição presume que um filho possui apenas um pai.

image.png

Na imagem acima pode ser visto um servidor chamado SRV02, composto de um disco C:, de uma interface de rede chamada Ethernet e também de uma árvore de processos. Esse host representa a estrutura básica de relacionamento entre ICs no Priax. Cada IC em nível inferior na árvore compõe o seu pai no nível imediatamente acima.

Detalhes dos ICs

Ao clicar em um IC, no painel da direita são exibidas suas informações detalhadas.

image.png

Conforme destacado na tela acima, as áreas principais nessa exibição são:

  1. Árvore de ICs: Árvore de composição do IC selecionado.
  2. Atributos do IC selecionado, cada aba representa uma classe de atributos. Cada classe de IC possui uma gama específica de atributos de acordo com sua natureza.
  3. Indicadores do IC: Dados históricos de cada indicador relacionado ao IC.
  4. Botões que levam às árvores de Impacto e Dependência de cada IC.

Impactos e Dependências de um IC

Ao clicar no botão Impact Analisys, é exibida a árvore de impactos do IC, sendo que são utilizados as relações diretas e indiretas do IC para exibir quais ICs seriam afetados no caso do IC selecionado sofrer com algm tipo de mal-funcionamento.

image.png

Da mesma forma, ao clicar no botão Dependency Analisys, é exibida a árvore de dependências do IC.

image.png

Importante perceber que as árvores de impacto e dependência representam mais do que as relações de composição de um IC. Um website, por exemplo, que depende de um banco de dados, apesentará essa dependência na árvore de dependências porém um website apenas depende de um banco da dados mas não o compõe. Essas relações são descobertas como parte do processo de discovery ou com o Priax Application Mapping através da interpretação dos dados de traces e transações.

Dependências de uma Aplicação

Para o Priax, uma Aplicação é representado como um tipo de Item de Configuraçao. Assim sendo, quando precisamos saber do que depende uma aplicação, basta navegar na árvore de ICs até onde as aplicações são armazenadas e realizar o procedimento acima para ver a árvore completa de dependências da Aplicação específica desejada.

image.png

Na imagem acima, podemos ver as dependências de ima aplicação chamada ERP. Veja que a aplicação ERP está armazenada na árvore de ICs em User Resources\Applications\.

É importante entende que as relações entre a Aplicação e os componentes dos quais elas dependem são automaticamente criadas pelo componente Priax Application Mapping, que é um módulo especial de Discovery. Para entender mais sobre esse módulo veja o capítulo deste manual dedicado à esse módulo.

Análise de Indicadores em uma árvore de Dependências

Ao navegar em uma árvore de dependências, seja de uma aplicação ou de um IC qualquer do ambiente é possível visualizar os indicadores de qualquer componente da árvore, seja ele o IC ou Aplicação analisada ou qualquer item do qual ele depende. 

image.png

Ao clicar em qualquer componente da árvore de dependências seus indicadores são exibidos no lado direito da tela. Sempre que um IC apresentar um indicador que esteja fora da normalidade, pintará o IC na tela de amarelo, laranja ou vermelho de acordo com a gravidade da anormalidade.

Todos os indicadores podem ser analisados de forma detalhada, customizando o período de tempo e o tipo de visualização desejado. Para isso, use o botão de expansão dentro do gráfico do indicador. Abaixoexemplo de Gráfico de linha exibido para 6 meses par ao indicador de tempo médio de execução de ima transação em 5 minutos.

image.png

E abaixo o mesmo indicador exibido em gráfico de barras para um período curto de algumas horas.

image.png


 

 

Tipos de IC Nativos e Templates

O Priax permite a detecção de Itens de Configuração customizados de forma muito flexíve. Tipos de Itens de Configuração customizados podem ser criados e scripts de reconhecimento podem ser utilizados para detectar esses novos tipos de IC. Esse nível de customização praticamente torna possível que o Priax detecte todo o tipo de IC da infraestrutura e a partir e de diversos executores com diferentes tecnologias base. No entanto, nativamente são detectados mais de oito mil tipos de ICs.

Segue uma lista de alguns dos principais Itens de Configuração detectados pelo Priax, lembrando que a lista completa possui mais de 8 mil tipos de itens de configuração: