Observabilidade de Capacidade e Disponibilidade da Infraestrutura de TI Introdução à Observabilidade de Infraestrutura de TI Conceitos da Observabilidade de Infraestrutura com Priax O Priax é projetado para fornecer visibilidade e insights sobre o desempenho, a saúde e a integridade dos sistemas e da Infraestrutura de TI. O Priax realiza estas tarefas sobre os elementos cadastrados na CMDB de maneira manual ou automaticamente pelo Discovery, criando vantagens para diversos processos ligados à gestão do ambiente. A respeito do Monitoramento de Disponibilidade e Capacidade são características essenciais do Priax: Coleta de Dados Abrangente Suporte a Múltiplas Fontes : Coleta informações sobre indicadores com agentes próprios porém é capaz de coletar métricas, logs e traces de servidores, containers, aplicações, redes e dispositivos de diversas fontes de dados, incluindo ferramentas de observabilidade de terceiros, inserindo ao processo de gestão de eventos a capacidade de correlação de eventos, análise de causa-raiz, análise de impactos e dependências dentro de um processo de gestão de eventos integrado. Integração com Serviços de Nuvem : Capacidade de coletar indicadores sobre recursos nativos de provedores como AWS, Azure, GCP, entre outros. Apoio a Protocolos Padrão : Compatibilidade com formatos e protocolos como SNMP, OTLP, WMI, etc. Armazenamento de Históricos:  O Priax pode armazenar dados históricos em diversos tipos de backends de armazenamento, de acordo com a preferência do usuário (Mysql, InfluxDB, OpenSearch) e suas necessidades de integração com ferramentas de terceiros. Capacidade de Correlação Identificação de Causa-raiz em tempo real: O Priax, através de técnicas de IA, Machine Learning e analise de dados a respeito das relações entre ICs e mapas de aplicação realiza em tempo real, durante a detecção de eventos a análise de causa-raiz com o intuito de agrupar eventos que representam o mesma causa, resultando em um monitoramento mais assertivo, limpo e com agregação de informações de causa-efeito o que reduz o tempo de solução. Integração de Logs, Métricas e Traces : Combinação de diferentes tipos de dados para identificar rapidamente a causa raiz de problemas. Análise de Dependências : Mapeamento das dependências entre os serviços para entender como problemas em um sistema afetam os outros. Escalabilidade Apoio a Ambientes de Grande Escala : Capacidade de lidar com grandes volumes de dados em infraestruturas distribuídas. Suporte a Ambientes Multicloud e Híbridos : Monitoramento eficaz em ambientes complexos. Alertas e Notificações Inteligentes Detecção de Anomalias Baseada em IA/ML : Identificação automática de padrões incomuns sem a necessidade de definição de limites manualmente. Configuração Personalizável : Capacidade de definir regras e limites para alertas. Notificação flexíveis:  Capacidade de notificar as equipes e usuários em aplicativo próprio mas também em Whatsapp, SMS, Telegram, MS Teams, e-mail e qualquer ferramenta que suporte webhook. Integração com Ferramentas de Gerenciamento de Incidentes : Compatibilidade com ferramentas que possuem integração viável via email, webservice e/ou webhook além de integração nativa com ferramentas de mercado como Jira, Helix, CA ServiceNow, etc. Dashboards e Relatórios Dashboards e Relatórios Flexíveis: Capacidade de exibição de dados a respeito de indicadores em dashboards e relatórios customizados e de forma dinâmica, de acordo com a necessidade do momento. Tendências e Previsões : Relatórios históricos e preditivos para identificar tendências e prevenir falhas futuras. Relatórios Personalizados : Dados apresentados de acordo com as necessidades do negócio. Integração:  Com o Priax você não precisa abrir mão da utilização de ferramentas consagradas para exibição de dashboards e dados de time series como o Grafana por exemplo. Suas bases de dados mantém padrões de mercado e podem ser integradas facilmente à qualquer ferramenta de exibição de dados. Seleção e Customização de ICs e Indicadores a serem Observados O Priax, ao detectar um IC automaticamente habilita os indicadores que são selecionados como indicador padrão do IC. Porém, podemos customizar, habilitar ou desabilitar o monitoramento de qualquer indicador de qualquer IC, conforma a necessidade de cada situação. Habilitando e desabilitando Indicadores Para isso, na tela principal do Priax, podemos navegar na árvore de ICs, selecionar o item desejado e na aba Monitoring selecionar ou deselecionar os indicadores desejados. Customização de Indicadores Para customizar o indicador, pode-se clicar no ícone  no indicador do IC desejado. Será exibida a tel abaixo: Ao passar o mouse em cada uma das opções, as instruções de preenchimento serão exibidas, com uma pequena documentação individual por atributo. Definindo Triggers estáticas Triggers são os limites que podem ser definidos para que, ao coletar os valores de um indicador, o Priax avalie se deve ou não gerar um evento e seus respectivos alertas e notificações. Para definir estaticamente esses limites customize vá para a aba  Thresholds . Configure os limites conforme seu desejo: Warning Threshold: Primeiro limite que pode ser ativado. Average Threshold: Segundo nível de criticidade de alerta que pode ser ativado. Urgent Threshold: Terceiro e mais crítico nível de alerta que pode ser ativado. Esses três níveis de alerta podem ser utilizados no atributo Check Parameters para que sejam efetivamente utilizados Habilitando o Cálculo de automático de Triggers (Linha Base) O Priax suporta a geração de alertas baseado em cálculo automatizado de linha base. Para que os indicadores passem a gerar alertas sem a necessidade de explicitar os limites fixos você pode habilitar o cálculo de trigger baseado em histórico. Para isso localize a opção Learn "Triggers based on History" na tela de configuração do indicador e habilite essa opção. Depois configure as opções conforme descrito abaixo. Triggers Profile: Selecione se as triggers devem ser calculadas para limites superiores, inferiores ou para ambos. Quando um indicador cuja a normalidade fica abaixo dos valores que podem causar problemas, então selecione a opção Upper Limits. Para indicador cuja a normalidade se situa acima de valores que podem causar problemas, selecione Botton Limits. E para indicador cuja a normalidade não pode se afastar de uma média, selecione Upper and Botton Limits. Weekday Profile: Selecione True se você deseja ter um cálculo de trigger diferenciado para dia da semana. Time Profile: Selecione True se você deseja ter um cálculo de trigger diferenciado para cada horário do dia. Minimum Trigger Level: Selecione o nível mínimo de trigger que será criado para o indicador. Se você selecionar High, apenas um nível de trigger será calculado. Se você selecionar Average, serão criados dois níveis e se você selecionar Warning serão criados três níveis. Time Window: Selecione quanto tempo de dados serão considerados para criar as triggers, as opções são: 24 horas, 7 dias, 30 dias, 180 dias, 365 dias. Importante, os indicadores serão coletados pelos PPA Agents. Eles devem ser instalados conforme explicado em seção específica deste manual. Criação do Indicador no Discovery O Priax pode auto-habilitar um indicador para um Item de Configuração quando ele for descuberto pelo processo de Discovery. Para isso, basta editar o tipo de IC, navegando na árvore de categorias (Grupos) de ICs, selecionar a aba "KPI's Default Values". Localize o Indicador desejado e clique em Configurar no indicador desejado.  Na primeira opção "Enable on CI Creation" selecione a opção "True". Priax Performance and Availability Agent Funções dos diferentes agentes Os agentes do Priax são responsáveis por um conjunto diferente de funções onde cada uma delas serve a um proposito diferente. A definição de quais pacotes devem ser instalados em cada ambiente é uma definição do projeto alinhada ao licenciamento do produto. O agente PPA é o responsável pelo monitoramento de capacidade/performance do Priax. Sistemas operacionais suportados por agente Sistema Operacional PPA Versão Pacote Sistemas operacionais Linux RHEL 6 X 6 RHEL 7 X 7 RHEL 8 X 7 RHEL 9 X 7 Centos 6 X 6 Centos 7 X 7 Centos 8 X 7 Oracle Linux 6 X 6 Oracle Linux 7 X 7 Oracle Linux 8 X 7 Ubuntu 14 X 6 Ubuntu 16 X 7 Ubuntu 18 X 7 Ubuntu 20 X 7 Ubuntu 22 X 7 Debian 7 X 6 Debian 8 X 7 Debian 9 X 7 Debian 10 X 7 Debian 11 X 7 Debian 12 X 7 Amazon Linux AMI X 7 Amazon Linux 2 X 7 Suse 12 X 7 Kali Linux 2019 X 7 Kali Linux 2023 X 7 Rocky Linux 8 X 7 Rocky Linux 9 X 7 Sistemas operacionais Windows Windows Server 2008 X Nda Windows Server 2012 X Nda Windows Server 2016 X Nda Windows Server 2019 X Nda Windows Server 2022 X Nda Windows 7 X Nda Windows 8 X Nda Windows 10 X Nda Windows 11 X Nda Sistemas operacionais não incluídos na lista não tem suporte dos agentes e havendo necessidade entrar em contato com a equipe de suporte do Priax. Arquivos de instalação Dependendo da versão do Sistema Operacional diferentes pacotes são utilizados para diferentes instalações. Windows O pacote de instalação para sistemas operacionais Windows é um arquivo .msi que possui embutido no mesmo pacote todos os agentes. Para sistemas operacionais Windows x86 não são mais suportados. Para sistemas operacionais Windows x64 deve-se utilizar o pacote PriaxAgent.msi Sistemas operacionais Linux Para instalação em sistemas operacionais Linux cada versão deve fazer uso de um pacote específico para cada agente onde a instalação do agente do PPA para Linux utiliza o pacote PPAClient, o agente do PCM utiliza o pacote PCMClient e o PIA utiliza o pacote PIAgent. Considerando a versão do pacote descrita na tabela Matriz de compatibilidade o nome do pacote a ser utilizado é determinado por ela. EXEMPLOS:  Para instalação do agente do PPA em um Ubuntu 14 deve-se utilizar o pacote PPAClient6 da mesma forma que em um Centos 6; Para instalação do agente do PCM em um RHEL 8 utiliza-se o pacote PCMClient7 assim como em um Debian 9. Requisitos de instalação Antes de iniciar a instalação é necessário garantir que o sistema operacional atenda um conjunto mínimo de requisitos para que a instalação e funcionamento dos agentes ocorra de forma esperada. Windows Para sistemas operacionais Windows os requisitos para funcionamento do agente são: Possuir privilégio administrativo para a instalação do agente se realizada de forma manual; Ao menos versão 4.6.2 do .Net Framework; Ao menos versão 3.0 do Powershell; Sistemas operacionais Linux Para instalação em sistemas operacionais Linux os requisitos são: Possuir acesso privilegiado ao host para instalação manual; Quando instalando agentes de pacote 6 o host deve possuir ao menos a versão 1.10 da lib krb5 ou correspondente do sistema operacional; Pacote “tar” instalado pois o pacote de instalação é compactado usando tar; Sudo instalado. Fluxos de comunicação dos agentes De forma geral o agente quando instalado, precisa se comunicar com a API do servidor de gerência do agente e com o servidor de mensageria. Está comunicação é sempre partindo do agente para o servidor. Abaixo segue um exemplo de configuração possível mas vale lembrar que ela é especifica de cada ambiente. Neste exemplo a API onde os agentes conectam esta configurada para utilizar o protocolo HTTP na porta 9090. Agente Origem Destino Porta TCP PPA Agente Servidor 9090 5672 Para que o agente funcione, quando utilizando nomes de host é necessário que o nome seja possível de ser resolvido para IP. Processo de instalação Windows Para instalação em sistemas operacionais Windows, após garantir que o host possua os requisitos, deve-se executar o arquivo MSI disponível para a versão do sistema operacional. Instalação de forma manual Iniciando a instalação de forma manual executando o arquivo MSI dentro do host onde se deseja instalar o agente será exibida uma janela de boas-vindas. Clicar em Next para iniciar a instalação. Welcome Priax Agente Setup O próximo passo é a seleção do local onde deseja-se instalar o agente. O padrão é C:\Program Files\Priax Agent\ Manter a seleção de instalação para todos usuários e clicar em Next para prosseguir. Local de instalação Na tela de configuração da API deve-se ter atenção para os valores cadastrados onde eles devem ser os nomes de host/endereços IP dos servidores da API. Após definir os valores clicar em Next para prosseguir. Em Endereço deve-se definir o endereço http/https para comunicação com a API considerando a configuração do ambiente assim como a porta onde a API responde. Em endereço do serviço de fila definir o endereço para a o servidor de mensageria considerando a configuração do ambiente. Abaixo um EXEMPLO de configuração. Priax API Na próxima janela são selecionados quais os agentes serão instalados. Selecionar os necessários e clicar em Next para prosseguir. Vale lembrar que esta configuração depende de quais módulos do agente são utilizados onde a imagem abaixo é apenas um EXEMPLO. Priax Agents Será exibida uma tela informando que o agente está pronto para ser instalado, e clicando em Next a instalação será iniciada. Confirmar instalação Finalizada a instalação será exibida uma janela informando que a instalação ocorreu com sucesso. Finalizada a instalação Instalação em linha de comando O mesmo pacote MSI possibilita também a instalação via linha de comando com o objetivo de possibilitar o uso de soluções de distribuição de software ou instalação automatizada. Para realizar a instalação via linha de comando os seguintes parâmetros devem ser passados para a execução do MSI. URL = endereço da API; RMQ = endereço do servidor de mensageria; PPA = se deve ser instalado ou não agente do PPA. Deve ser 1 caso queira instalar e 0 em caso negativo; PIA = se deve ser instalado ou não agente do PIA. Deve ser 1 caso queira instalar e 0 em caso negativo; PCM = se deve ser instalado ou não o agente do PCM. Deve ser 1 caso queira instalar e 0 em caso negativo; Path do arquivo MSI. Sintaxe da execução via linha de comando msiexec /quiet /i pathdoarquivomsi URL="enderecoAPI" PPA=0/1 PCM=0/1 PIA=0/1 RMQ="enderecoMensageria" Exemplo de linha de comando lendo o arquivo MSI localizado em c:\temp\PriaxAgent.msi, instalando somente o PCM utilizando endereço da API https://srvpriax.priax.io:9090 e servidor de mensageria srvpriax.priax.io:5672 msiexec /quiet /i c:\temp\PriaxAgent.msi URL=" https://srvpriax.priax.io:9090 " PPA=0 PCM=1 PIA=0 RMQ="srvpriax.priax.io:5672" Sistemas operacionais Linux Em sistemas operacionais Linux durante o processo de instalação é criado um usuário local no host onde está sendo instalado o agente sendo este o usuário que roda a aplicação. Abaixo usuários que são criados considerando cada pacote instalado. Agente Usuário PPA PriaxPPAClient PCM PriaxPCMClient PIA PriaxPIAgent Para instalação em sistemas operacionais Linux basta copiar o arquivo de instalação para o host, tornar ele executável e executar. Para tornar o arquivo executável executar chmod +x nomedoarquivo EXEMPLO: # chmod +x /tmp/PriaxAgent/PPAClient7 Quando a instalação é iniciada será exibido o processo da validação de integridade do arquivo assim como da instalação. # /tmp/PPAClient7 Verifying archive integrity...  100%   MD5 checksums are OK. All good. Uncompressing Priax Agents Setup  100% # Instalação remota Existe um processo que possibilita a instalação dos agentes em hosts de forma remota e em massa possibilitando assim uma rápida distribuição dos agentes em conjuntos de hosts. Este processo foi criado a fim de possibilitar a instalação dos agentes do Priax em hosts que o Priax consegue gerenciar como alternativa a outras soluções de distribuição de software como o System Center, Ansible entre outros. Este processo inicia-se no host do PPAServer, lê conjuntos de informações de acesso que já devem estar cadastradas no Priax e tenta conexão aos hosts para em primeiro lugar avaliar se é necessário ou não a instalação do agente no host e em caso positivo, valida os requisitos e instala se possível. Fluxos de comunicação para instalação remota Considerando os fluxos de comunicação necessários para este processo poder ser executado, eles diferem dependendo do tipo de host onde se está tentando instalar o agente, mas são os mesmos utilizados para o Discover. Em ambos os casos a comunicação inicia-se no servidor onde o processo está rodando com destino onde o agente deve ser instalado. Origem Destino Protocolos/Portas utilizadas Servidor PPAServer Servidores/estacoes Windows WMI; Mais informações no link abaixo Servidor PPAServer Servidores Linux SSH; TCP 22 Sendo hosts Windows, a comunicação toda é feira via WMI e a descrição do funcionamento do protocolo WMI em relação a rede esta descrita no link https://learn.microsoft.com/en-us/windows/win32/wmisdk/connecting-to-wmi-on-a-remote-computer Permissões necessárias para instalação remota Em relação a hosts Windows, é necessário que o usuario utilizado seja ao menos membro do grupo local dos hosts Administrators ou Power Users; Em relação a hosts Linux, o usuário não precisa ser “root” mas deve ter permissão de execução do pacote de instalação do agente de forma privilegiada. Permissão esta pode ser concedida de diversas formas mas é importante saber que durante o processo em relação a hosts Linux não é possível interação de usuário com credenciais como acontece quando em sessão interativa (usando o putty por exemplo). Isto significa que as permissões requeridas para os processos rodarem devem ser possíveis sem que seja necessário digitar a senha novamente, de forma interativa. Se o usuario utilizado é “root” a instalação acontece de forma direta e caso não seja, com uso do sudo. Durante a execução do processo de instalação em host Linux, é criado no diretório /tmp o diretório PriaxAgent e os pacotes de instalação necessários copiados para este diretório. Ao final do processo eles são removidos. Exemplo de configuração que pode ser aplicada é de ajustar a configuração do sudoers como o exemplo abaixo. Atenção ao usuario utilizado. Cmnd_Alias PRIAXPERMISSIONSAGENTINSTALL /tmp/PriaxAgent/PPAClient6, /tmp/PriaxAgent/PCMClient6, /tmp/PriaxAgent/PPAClient7, /tmp/PriaxAgent/PCMClient7, /tmp/PriaxAgent/PIAgent7 Defaults!PRIAXPERMISSIONSAGENTINSTALL !requiretty usuarioUtilizadoParaConexao ALL=(ALL) NOPASSWD: PRIAXPERMISSIONSAGENTINSTALL Exibição de Indicarores dos Itens de Configuração 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 esquerda 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.  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. Na imagem abaixo pode ser visto um servidor. Ao expandir, podemos ver o Sistema Operacional desse servidor. Ao clicar no servidor podemos ver além de seus atributos, no painel da direita podemos ver seus indicadores. Detalhes dos Indicadores Ao clicar no gráfico de um indicador podemos navegar nos dados, filtrá-los, dar zoom em um período de tempo. Indicadores Nativos e Templates O Priax permite a criação de Indicadores customizados de forma muito flexível, permitindo a definição de scripts, executáveis e procedimentos complexos. Esse nível de customização praticamente torna possível que o Priax colete informações sobre qualquer componente de qualquer componente da infraestrutura e a partir e de diversos executores com diferentes tecnologias base. No entanto, nativamente são suportados mais de oito mil tipos de ICs com milhares de indicadores disponíveis com habilitação através de um simples clique. Segue uma lista de alguns dos principais Itens de Configuração suportados, lembrando que a lista completa possui mais de 8 mil tipos de itens de configuração: Sistemas Operacionais Microsoft Windows Server (Todos com suporte ativo) Indicadores do Sistema Operacional Memória e Paginação CPU física e Virtual Discos Físicos do Sistema Operacional Discos lógicos do Sistema Operacional Interfaces de rede Atividade por protocolo de camada 2 e 3 Erros Tráfego in e out Socket de Rede Atividade TCP e UDP (Camada 4 de rede) Serviços do Sistema Operacional Processos do Sistema Operacional Programas Instalados no Sistema Operacional Todas as funcionalidades nativas (Roles) do sistema operacional Sistemas Operacionais Linux (Distros: Oracle Linux, RedHat, Debian, Suse, Ubuntu, entre outras) Indicadores do Sistema Operacional Memória e Paginação CPU física e Virtual Discos Físicos do Sistema Operacional Discos lógicos do Sistema Operacional Interfaces de rede Atividade por protocolo de camada 2 e 3 Erros Tráfego in e out Socket de Rede Atividade TCP e UDP (Camada 4 de rede) Serviços do Sistema Operacional Processos do Sistema Operacional Programas Instalados no Sistema Operacional Pacotes de Software nativas do Sistema Operacional (DEB, RPM) Tecnologia VmWare (SNMP e API) Datacenters Clusters Servidores Físicos Máquinas Virtuais Storages Networks e Port Groups Bancos de Dados MySQL, Oracle, MS SQL Server, PostgreSQL Instância do Banco de Dados Database Tabelas Campos de Tabelas Instâncias de Servidores de Aplicação, seus Deplyments, Aplicações e Websites Microsoft IIS NGINX Apache Tomcat Wildfly JBoss Oracle WebLogic Serviços de Mensagens e Filas (Servidor, Filas, Tópicos, Exchanges) Kafka RabbitMQ JMS MQ Outros dispositivos Servidores Físicos (Dell, HP, IBM, HUAWEI, CISCO, etc.) Componentes de Hardware Discos lógicos e físicos Interface de Rede Periféricos Interfaces de Gerenciamento Switches (Cisco, Dell, 3Com, Extreme, EdgeCore, HPE, etc.) Interfaces (portas)] Roteadores Interfaces do Roteador Equipamentos relacionados à Segurança da Informação: Soluções de Antivírus Soluções de AntiSpam Soluções de Unified Threat Management Soluções Network Access Control Equipamentos de Firewall Storages (EMC, HP, DELL, HUAWEI, ETC) Discos Físicos Grupos de Disco Discos Lógicos Rede Monitoramento de tráfego, consumo e latência de Rede de forma passiva e ativa, utilizando técnicas que independem de fabricantes ou utilizando protocolos proprietários e Open Source. Soluções de Backups e Rotinas de Backups Containers Docker Kubernetes e OpenShift Namespaces Deployments Replicasets Statefulsets Daemonsets Pods Services Ingress PV PVC Cloud Computing Discovery AWS Discovery Azure Discovery GPC OCI - Oracle Cloud Enterprise IBM Cloud OpenStack (Serviços cloud que utilizam tecnologia OpenStack)