Esta página foi revisada para considerar as novas configurações de server do fluig para a atualização 1.6.2.

Caso possua uma atualização anterior a versão 1.6, acesse: Monitor de Serviços fluig.

Para versões 1.5.13 e anteriores, acesse: ARQ 062 - Monitor de Serviços fluig.

Índice

 

Objetivo

O objetivo deste guia é explicar como obter informações de monitoramento de serviços do fluig.

Estas APIs permitem que clientes monitorem e realizem consultas de diversos relatórios referente a serviços consumidos pelo fluig, além de fornecer um acesso via Web aos dados publicados via JMX.

Para acessar as APIs de Monitoramento de Serviços do fluig, deve-se obrigatoriamente realizar autenticação com o usuário "wcmadmin".

Caso o acesso seja feito em um ambiente de alta disponibilidade com autenticação integrada, a autenticação do wcmadmin deve ser realizada através do endereço: [protocolo]://[endereço_ip]:[porta]/portal/home?dologin.

Em seguida acessar a URL: http://[servidor_fluig]:[porta]/monitoring/api/v1/monitors/report

Funcionamento

O módulo de monitoramento permite a consulta de uma série de relatórios referente a serviços em uso pelo fluig. Estas informação são úteis para monitorar desenvolvimentos sobre a plataforma para evoluí-los. O acesso aos relatórios pode ser feito através de API REST (que retorna um JSON) e via JMX. Primeiramente vamos resumir cada um dos serviços monitorados.

Serviços Monitorados

Os monitores podem ser observados através de duas consultas REST diferentes. Você pode consultar diretamente o monitoramento que desejar incluindo o parâmetro na URL. Abaixo são apresentados as APIs com a relação de nomes e parâmetros de todos os monitores e seus serviços monitorados.

 

API Monitors

Para acompanhar os serviços listados abaixo, altere a URL do fluig no navegador pela apresentada a seguir. Os resultados apresentam o status atual dos serviços.

[protocolo]://[host fluig]/monitoring/api/v1/monitors/report/<parâmetro>
GRUPOPARÂMETRODESCRIÇÃO

Analytics

ANALYTICS_AVAIABILITY

Indica a disponibilidade do fluig Analytics (http://analytics.fluig.com/).

Cache

CACHE_AVAIABILITY

Indica a disponibilidade do servidor de cache.

MiscLICENSE_SERVER_AVAILABILITYIndica se o servidor de licenças está disponível.
MAIL_SERVER_AVAILABILITYEnvia um e-mail de teste para [email protected], para indicar a disponibilidade do serviço de e-mails.
OPEN_OFFICE_AVAILABILITYIndica se o servidor do OpenOffice está ativo.
SOLR_SERVER_AVAILABILITYIndica se o servidor do Solr está ativo.
MS_OFFICE_AVAILABILITYIndica se o Office está instalado e ativo no servidor.
VIEWER_AVAILABILITYIndica se o Viewer está configurado.

Realtime

REAL_TIME_AVAILABILITY

Retorna se o NodeJS encontra acessível.

 

API Statistics

Para acompanhar os serviços listados abaixo, altere a URL do fluig no navegador pela apresentada a seguir. É importante mencionar que os resultados não são monitorados em tempo real e sim checados a cada 5 minutos.

[protocolo]://[host fluig]/monitoring/api/v1/statistics/report/<parâmetro>
GRUPOPARÂMETRODESCRIÇÃO

Database

DATA_SOURCE_FLUIGDS

Retorna o tamanho do pool de conexões para o datasource transacionado.

DATA_SOURCE_FLUIGDSRO

Retorna o tamanho do pool de conexões para o datasource somente de leitura sem transação.

DATABASE_SIZE

Indica o tamanho total da base de dados utilizada pelo fluig.

DATABASE_TRAFFIC

Indica o tráfego de envio e de recebimento da base de dados utilizada pelo fluig. Só para MySQL.

DATABASE_INFO

Retorna dados sobre o nome e versão do banco de dados e do driver de conexão e versão do drive.

Filesystem

 

ARTIFACTS_APPS_DIR

Retorna a relação de arquivos implantados no diretório fluig/appserver/apps com suas respectivas Hash MD5.

LOG_DIR_SIZE_MONITOR

Indica o tamanho do diretório de logs do servidor.

ROOT_FILE_SYSTEMS

Retorna as raízes de montagem do filesystem com seus respectivos tamanhos em bytes.

TEMPLATE_DIR_SIZE

Indica o tamanho do diretório de templates.

VOLUME_DIR_SIZE

Indica o tamanho do diretório de volume.

TEMPORARY_DIR_SIZE

Indica o tamanho do diretório temporário do servidor.

JVM

RUNTIME

Retorna a hora de início e o tempo que está em execução.

THREADING

Retorna o número de threads em execução, pico e quantidade iniciadas.

Memory

DETAILED_MEMORY

Retorna a relação de memórias da JVM, com tipo, total alocado, total comprometido e máximo.

MEMORY

Retorna o total de memória heap e non-heap alocados.

CacheCACHE_CONFIGURATIONIndica se a configuração do endereço do servidor de cache está definida para algo diferente de "LOCAL_MAP".

Misc

EXTERNAL_CONVERTERIndica se conversor interno de documentos está ativo.

Users

CONNECTED_USERS

Indica o número de sessões de usuários ativas no portal. Este número não corresponde necessariamente ao número de usuários autenticados na plataforma.

Sempre que um monitor retornar FAILURE é possível acessar o arquivo server.log, armazenado em [Instalação fluig]/appserver/domain/servers/<fluig server>/log, para obter informações detalhadas do erro ocorrido.


Acesso REST

Para acessar os serviços via interface REST existem duas formas:

MétodoURLExplicação
GEThttp://<host>/monitoring/api/v1/monitors/reportRetorna o relatório consolidado de todos os monitores citado acima, sem uso de parâmetros.
http://<host>/monitoring/api/v1/ statistics/report
GEThttp://<host>/monitoring/api/v1/monitors/report/[PARÂMETRO]

Retorna o relatório para um recurso em específico. O parâmetro deve ser escrito em maiúsculo.

http://<host>/monitoring/api/v1/ statistics/report/[PARÂMETRO]

Onde:

 

Figura 1 - Exemplo de consulta consolidada
Onde:
  • FAILURE: Falha na resposta do serviço;
  • NONE: Não foi utilizado até o momento;
  • OK: Em funcionamento e/ou ativado.
Figura 2 - Exemplo de consulta parametrizada

 

Acesso JMX

 

  • Para acessar os monitores via JMX é utilizada a seguinte interface:
@MXBean
public interface FluigServiceMonitor {
    /**
     * 
     * Generates the report for this monitor with given parameters. The parameter syntax is:
     * 
     * paramenterName1=value1 parameterName2=value2
     * 
     * Example: "tenantId=10 forceSearch=true maxResults=15"
     * 
     * @param parameter for the monitor report
     * @return report result
     * @throws UnsupportedOperationException if this monitor doesn't support parameters.
     */
    String report(String parameter) throws UnsupportedOperationException;
    /**
     * Generates the report for this monitor.
     * 
     * @return report result.
     */
    String report();
    /**
     * Returns the name of this monitor, usually the class name without the "Monitor" suffix
     * 
     * @return name of this monitor.
     */
    String getName();
}

 

  • Os MXBeans são registrados com o seguinte nome na mesma JVM do servidor de aplicações: com.fluig.monitor.jmx.bean:type=<PARÂMETRO>
com.fluig.monitor.jmx.bean:type=CONNECTED_USERS

 

  • Com essas informações, basta acessar os JMXBeans, sem precisar utilizar uma biblioteca externa com a interface. Como os retornos e parâmetros são OpenTypes (Strings), não é necessário nenhuma dependência externa.

Exemplo de acesso aos JMX Beans através do Java VisualVM.