O TOTVS Discovery tem como objetivo monitorar os ambientes ( Exemplo: Produção, Homologação, Desenvolvimento, etc...) de execução do ERP Protheus exibindo informações ou diagnósticos, permitindo que o usuário/cliente saiba como se antecipar numa tomada de decisão.
O TOTVS Discovery pode:
Auxiliar na detecção de problemas de Hardware/Software nos ambientes de produção, desenvolvimento e de testes.
Indicar problemas de performance nos ambientes.
Verificar se algum item de boa prática na configuração do ambiente não está sendo seguido.
O TOTVS Discovery estará disponível a partir da LIB versão 20180820 |
O TOTVS Discovery monitora os softwares que compõem a instalação básica do Protheus além do Banco de Dados, abrangendo assim os seguintes itens:
AppServer
DBAccess
License Server
Banco de Dados
O ponto central do monitoramento são os serviços Appserver, sendo a comunicação com os demais itens efetuada a partir dos mesmos.
Ao instalar o TOTVS Discovery, ele se tornará um servidor Web para a exibição das páginas de monitoramento e servidor REST para as respostas ao navegador.
O Servidor de licenças fornecerá o IP e porta de todos os serviços dos AppServers em execução em que o ambiente esteja utilizando esse servidor de licenças.
Ao monitorar o ambiente, será monitorado o DBAccess configurado no ambiente.
O DBAccess executará o monitoramento do Banco de dados que está configurado no ambiente.
O monitoramento do banco de dados é efetuado por padrão nos seguintes produtos
MSSQL
Oracle
Postgres
O monitoramento é feito através do disparo de consultas ao próprio banco de dados
Para monitorar bancos de dados não listados acima, deve-se utilizar o ponto de entrada TDDBSTAT.
O ponto de entrada TDDBSTAT tem como um retorno um array na seguinte estrutura:
Informações obrigatórias
aRet[ i , 1 ](C) = Título
aRet[ i , 2 ](C) = Descrição
aRet[ i , 3 ](X) = Valor
aRet[ i , 4 ](A) = Array de saúde não obrigatório
A saúde não é obrigatória
aRet[ 1 , 4 , j , 1 ](N) = Saúde - Status ( 1 , 2 , 3 , 4 ) --Atualmente o 3 e 4 estão sendo tratados da mesma forma
aRet[ 1 , 4 , j , 2 ](C) = Saúde - Descrição
aRet[ 1 , 4 , j , 3 ](C) = Saúde - Detalhe
aRet[ 1 , 4 , j , 4 ](C) = Saúde - Link
Abaixo um exemplo do mesmo:
Include 'protheus.ch'
User Function TDDBSTAT()
Local aDeArray As Array
aDeArray := {}
aAdd( aDeArray , { "idTesteMonitor" , "Item monitorado" , "Meu valor monitorado" , { { 1 , "Saúde" , "Tô legal" , Nil } } } )
Return aDeArray
Para o completo monitoramento do ambiente são necessários os seguintes requisitos:
Binário do ERP, versão Build 7.00.131227A ou superior
Binários DbAccess Build 20171117-20180316 ou superior
Lib data 06/06/2018 ou superior
License Server Virtual, 1.03.015
Navegadores de internet compatíveis com o THF, maiores informações http://tdn.totvs.com/display/THF/Infraestrutura
O TOTVS Discovery estará disponível a partir da LIB versão 20180820 |
O TOTVS Discovery deve ser instalado como um serviço onde será indicado qual o servidor de licenças deverá ser usado para o monitoramento.
Baixe o instalador no portal Suporte TOTVS (Downloads > Protheus > TotvsTec-Framework > Instaladores)
Execute o TOTVS Discovery_setup.exe
Confirme a tela de bem vindo
Confirme a tela de “EULA”
Informe em qual diretório devem ser instalados os arquivos do TOTVS Discovery
Caso o diretório não exista o sistema irá criar automaticamente.
Confirme a tela de pacotes necessários para o funcionamento do TOTVS Discovery
Informe os seguintes campos.
IP do License Server - O TOTVS Discovery utilizará as informações desse servidor de licenças para obter as informações dos ambientes conectados nele.
Porta do License Server - Porta onde o servidor de licenças está em execução.
Porta para o AppServer do TOTVS Discovery - Uma porta reservada para o uso de conexão com o TOTVS Discovery via SmartClient.
IP da máquina - IP da máquina onde será executado o serviço de HTTP para a exibição.
Porta para o HTTP - informa a porta que será utilizada para exibição da página.
Porta para o REST - informa a porta para o serviço de REST.
Aguarde a instalação.
Indique o caminho de instalação para os atalhos a serem criados.
Ao término da instalação, abra um navegador de internet e indique o servidor e porta informados na instalação. Por exemplo http://localhost:80
Baixe o instalador Linux totvsdiscovery_installer.jar no portal Suporte TOTVS (Downloads > Protheus > TotvsTec-Framework > Instaladores)
Execute-o como administrador sudo java –jar totvsdiscovery_installer.jar
Confirme a tela de “EULA”
Pressione 1 para aceitar o termo e continuar
Informe em qual diretório devem ser instalados os arquivos do TOTVS Discovery
Caso o diretório não exista o sistema irá criar automaticamente.
Confirme os pacotes necessários para o funcionamento do TOTVS Discovery
Informe os seguintes campos:
IP do License Server - O TOTVS Discovery utilizará as informações desse servidor de licenças para obter as informações dos ambientes conectados nele.
Porta do License Server - Porta onde o servidor de licenças está em execução.
Porta para o AppServer do TOTVS Discovery - Uma porta reservada para o uso de conexão com o TOTVS Discovery via SmartClient.
IP da máquina - IP da máquina onde será executado o serviço de HTTP para a exibição.
Porta para o HTTP - informa a porta que será utilizada para exibição da página.
Porta para o REST - informa a porta para o serviço de REST.
Pressione 1 para continuar
Aguarde a instalação.
Esse é a estrutura criada ao final na instalação:
Para subir o serviço (Server) do TOTVS Discovery execute o seguinte comando: ./discovery.sh start
Server iniciado (appsrvlinux)
Uso
Para a utilização do TOTVS Discovery é necessário o cadastramento de um usuário no Servidor de licenças, maiores detalhes verifique a documentação http://tdn.totvs.com/display/framework/TOTVS+License+Server+Virtual
Acesse o link conforme a instalação http://localhost:80
Utilize o usuário criado no Servidor de Licenças.
O usuário deve possuir uma senha, não é permitido senhas vazias.
Em alguns casos, se o Servidor de licenças for reinstalado ou a máquina onde o Hardlock está instalado sofrer alguma alteração (Porta, IP, outros motivos) será gerado um novo ID, devendo ser selecionado o ID atual.
Após o login, Serão exibidos todos os ambientes que estão utilizando o servidor de licenças monitorado.
Serão criados os cartões para os seguintes itens de monitoração.
Servidores.
Servidor de licenças.
Gateway.
Banco de dados.
Para cada item será exibido um status de saúde com 3 níveis.
OK - Os itens monitorados não possuem valores fora do padrão.
Atenção - Existe algum item monitorado que requer atenção.
Problemas - Existe algum item monitorado que está fora do padrão de monitoração.
Nessa página serão listadas as informações da máquina selecionada, como exemplo a memória.
Serão criados cartões referentes a cada serviço do Protheus em execução com a opção de visualização de maiores detalhes.
É possível expandir informações detalhadas como por exemplo Memória física total, onde aparecerá um descritivo indicando o motivo do status.
Clicando em detalhes serão exibidos os detalhes do serviço Protheus selecionado. Como por exemplo o modo de execução do serviço.
Ao selecionar o Servidor de licenças, serão mostradas as informações da máquina em que o serviço está em execução.
Será criado um cartão para a exibição de maiores detalhes.
Nos detalhes serão mostradas informações referentes ao Serviço do Servidor de Licenças monitorado.
Ao clicar no DBAccess serão mostradas informações referentes ao serviço do DBAccess monitorado.
Ao Selecionar o Database, serão exibida algumas informações monitoradas sobre o banco de dados.
Configurações:
Nessa tela é possível configurar os seguintes aspectos do TOTVS Discovery:
Monitoramento: É possível ativar ou desativar o monitoramento, sendo que ao desativá-lo, a thread de monitoramento continua sendo executada, porém ao ver que está desativada, deixa de se conectar em todos os nós via RPC e fica em estado de espera.
Tempo de monitoramento: Aqui é possível definir de quantos em quantos minutos o TOTVS Discovery irá efetuar o monitoramento do ambiente Protheus.
Histórico: Aqui é possível definir em quantos dias no máximo serão armazenadas as informações de monitoramento, lembrando que tudo que é monitorado é persistido em uma base local SQLite, presente no próprio TOTVS Discovery, portanto uma limpeza periódica dos dados é essencial para a plena atividade do SQLite.
Envio de dados para a TOTVS: Aqui é possível habilitar o envio de dados para a TOTVS, uma vez ativo, todos os dados monitorados serão enviados para a TOTVS, com o intuito da TOTVS ter pleno conhecimento no ambiente do cliente e agilizar o atendimento.
FAQ - Perguntas frequentes
Ao entrar no endereço do TOTVS Discovery não é exibida nenhuma página.
Verifique se você indicou a porta correta no endereço, por padrão a porta do HTTP é a porta 80, porém é possível indicar uma porta diferente durante a instalação.
Verifique se as configurações da seção HTTP do AppServer.ini estão ativas e corretas
Os recursos deixaram de ser monitorados.
Verifique se sua infraestrutura está permitindo a conexão RPC corretamente e também se a mesma está em plena atividade.
O TOTVS Discovery possui um JOB de monitoramento que ao finalizar o monitoramento se auto-inicia novamente, caso nenhuma thread esteja no ar algum erro inesperado ocorreu, reinicie o serviço do AppServer e verifique o LOG para mais informações sobre o erro.
Ao navegar no TOTVS Discovery, diversos erros estão ocorrendo e nenhum item é exibido.
A comunicação entre a interface web e o TOTVS Discovery é efetuada via REST, portanto o mesmo precisa estar configurado corretamente e ativo no AppServer.ini. Para utilização do REST é importante ressaltar a importância da chave MAXSTRINGSIZE na seção GENERAL.
Como adiciono recursos para monitoramento?
Isso é feito de forma automática quando esse novo recurso solicita qualquer informação ao License Server, após algum tempo o TOTVS Discovery pede os endereços conhecidos e então efetua o monitoramento.
O monitoramento não é online?
Não, o monitoramento é efetuado de tempos em tempos (de acordo com a configuração) e os dados são persistidos no SQLite do próprio TOTVS Discovery. Isso evita que os itens monitorados sofram com qualquer queda de performance devido ao constante monitoramento e intensivo tráfego de dados na rede.
Por que o SmartClient não é monitorado?
Todo o monitoramento é efetuado via RPC e JOBS, dado isso não é possível trabalhar com qualquer interface, seja ela o SmartClient padrão, SmartClient HTML ou WebApp.