4.4 Gerenciando as configurações do Gerador de Relatórios do ZENworks

4.4.1 Gerenciando as configurações de registro

O arquivo jasperserver.log está localizado no seguinte caminho:

  • Para Windows: %ZRS_HOME%\js\apache-tomcat\webapps\jasperserver-pro\WEB-INF\logs

  • Para Linux: /opt/novell/zenworks-reporting/js/apache-tomcat/webapps/jasperserver-pro/WEB-INF/logs

Para gerenciar configurações de registro:

  1. Clique em Gerenciar > Configurações do Servidor > Log Settings (Configurações de Registro).

  2. Na página Log Settings (Configurações de Registro), use a lista suspensa para mudar o nível de registro de cada classe que está sendo registrada.

    Os quatro níveis de registro indicam o tipo de evento gravado por um registrador.

    Configuração

    Nível de Informações

    ERRO

    Grava informações mínimas no registro que descrevem as falhas do programa.

    AVISO

    Grava mensagens de erro e aviso no registro. As mensagens de aviso incluem informações de cautela que mostram se os eventos registrados precisam de sua atenção.

    INFO

    Grava mensagens de erro, aviso e informativas no registro. As mensagens informativas descrevem eventos significativos, como os que afetam o desempenho do aplicativo.

    DEBUG

    Grava mensagens de erro, aviso, informativas e adicionais no registro. As mensagens de depuração são bem detalhadas. Use essa configuração apenas para diagnosticar um problema. DEBUG pode afetar o desempenho do sistema e não deve ser usado em ambientes de produção.

    A seguinte tabela lista o nome de cada registrador da mesma forma que ele aparece na página Log Settings (Configurações de Registro), como ele é usado para localizar determinado registro no arquivo de registro e uma descrição do registrador.

    Nome do Registrador

    Identificador no registro

    Descrição

    Executor de consulta SQL

    JRJdbcQueryExe cuter

    Registra o texto SQL e os valores de parâmetro das consultas realizadas pelo executor de consulta SQL.

    Consultas de valor de controle de entrada

    valueQueryLog

    Registra o texto SQL e os valores de parâmetro das consultas associadas aos controles de entrada.

    Resolução de parâmetro de controle de entrada em cascata

    FilterCore

    Registra a atividade associada aos controles de entrada em cascata. Os controles de entrada orientados por consulta podem ser processados em cascata quando a consulta tem um parâmetro com valores originados de outro controle de entrada. Quando o valor de parâmetro é mudado, a consulta é automaticamente reexecutada, possivelmente mudando a lista de valores de seu controle de entrada.

    Cache do resultado da consulta de controle de entrada em cascata

    TokenControlLogic

    Registra o uso do cache de resultados das consultas de controle de entrada em cascata.

    SQL de Hibernação

    SQL

    Registra a SQL executada pela camada de Hibernação para acessar o banco de dados de repositório do Gerador de Relatórios do ZENworks. Esse registrador gera um grande volume de registros que pode afetar o desempenho.

    Registro de políticas de dados Ad Hoc

    CommonDomainDataStrategy

    SubFilterInputControlGenerator

    Outros

    Registra várias atividades das implementações de políticas de dados Ad Hoc, que usam consultas SQL ou operações na memória para obter os conjuntos de dados para as telas Ad Hoc.

    SQL gerada para consultas de Domínio

    JdbcBaseDataSet

    Registra as consultas SQL geradas de consultas que usam um Domínio.

    Gerenciamento de conexões para Domínios

    DataSourceResolverImpl

    Registra o uso das conexões JDBC utilizadas pelos Domínios para executar consultas SQL.

    Expressão para o conversor JSON

    ExpressionJSON Converter

    Registra informações sobre a conversão entre DomEL e JSON, que é usada por filtros Ad Hoc.

    Testes de segurança com base em domínio

    SemanticLayerSecurityResolver Impl

    Registra as atividades relacionadas à segurança de nível de coluna e linha do Domínio.

    Resolução de controle de entrada em cascata para Domínios

    DomainFilterResolver

    Registra as mesmas atividades que o registrador FilterCore (Resolução de parâmetro de controle de entrada em cascata) acima, mas adiciona informações específicas às consultas do Domínio.

    Atividade do cache ad hoc

    CachedData

    Registra informações sobre o ciclo de vida dos conjuntos de dados que são armazenados em cache na memória quando as telas Ad Hoc são acessadas.

    Tempo das consultas SQL executadas para relatórios

    JsControlledJdbcQueryExecuter

    Registra o tempo que leva para uma consulta realizada pelo executor de consulta SQL retornar os dados para um relatório.

    WorkingDataSet Ad Hoc

    WorkingDataSet

    Registra as atividades do WorkingDataSet, usado pelo Editor Ad Hoc para efetuar transformações de conjuntos de dados na memória dos resultados da consulta.

    Controlador geral

    AdhocAjaxController

    Registra as atividades do Editor Ad Hoc.

    Controlador de tabela cruzada

    AdhocCrosstabAjaxController

    Registra as atividades adicionais do Editor Ad Hoc específicas aos relatórios de tabela cruzada.

    Geração de código Groovy para conjuntos de dados de memória

    GroovyGenerator

    Registra as classes Groovy geradas de expressões DomEL usadas pelo Editor Ad Hoc para filtros e campos calculados.

    Solicitações AJAX Ad Hoc

    adhocAjaxRequests

    Registra informações sobre as solicitações AJAX feitas pelo Editor Ad Hoc e designer de painel, incluindo parâmetros de relatório e tempos de resposta. Habilite essa configuração para quando o Editor Ad Hoc e o designer de painel encontrarem algum erro ou tempo de resposta lento.

    Atividade do cache ad hoc

    com.jaspersoft.commons. datarator.CachedData

    Monitora o ciclo de vida dos conjuntos de dados gerenciados pelo cache Ad Hoc à medida que eles mudam de status. Essa saída de registro inclui informações do cache Ad Hoc em um formato que pode ser utilizado para solução de problemas. Use essa configuração para entender como os tempos de resposta das consultas contribuem para o desempenho e a agilidade de resposta do Editor Ad Hoc. Como ela não registra as consultas, use-a em conjunto com a configuração de registro Executor de Consulta SQL.

  3. Para adicionar um registrador, mova a barra de rolagem até a parte inferior da página.

  4. Use o menu suspenso para definir o nível de registro.

4.4.2 Gerenciando as configurações ad hoc

As configurações Ad Hoc limitam os recursos disponíveis às consultas quando as telas Ad Hoc são criadas e executadas. Veja a seguir a Consulta que você pode definir:

  • Limite de Linhas da Lista de Valores do Filtro Ad Hoc: O número máximo de itens que devem ser exibidos no Editor de Condição quando o usuário define filtros para uma tela Ad Hoc baseada em um Domínio. Se esse limite for excedido quando os usuários definirem os filtros, o Gerador de Relatórios do ZENworks exibirá uma mensagem. Se for definido um valor mais baixo, o desempenho poderá melhorar.

  • Limite de Linhas do Conjunto de Dados Ad Hoc: O número máximo de linhas que a tela Ad Hoc pode retornar. O Gerador de Relatórios do ZENworks trunca os dados quando o limite é atingido. Se for definido um número mais baixo, o desempenho poderá melhorar, mas os relatórios talvez não reflitam o conjunto de dados completo.

  • Tempo de Espera da Consulta Ad Hoc: Por quantos segundos o servidor deve aguardar até esgotar o tempo de espera de uma tela Ad Hoc ao executar sua consulta. Se for definido como um número mais baixo, poderá evitar a exibição de exceções para os usuários quando eles executarem as telas Ad Hoc. Se for definido como um número mais alto, poderá evitar que o tempo de espera de cálculos complexos seja esgotado, mas resultará no uso de mais conexões de banco de dados.

Para definir configurações Ad Hoc:

  1. Clique em Gerenciar > Configurações do Servidor e escolha Ad Hoc Settings (Configurações Ad Hoc).

  2. Em Ad Hoc Filter List of Values Row Limit (Limite de Linhas da Lista de Valores do Filtro Ad Hoc), especifique o número máximo de itens a serem exibidos no Editor de Condição quando o usuário definir filtros para um relatório Ad Hoc baseado em Domínio.

  3. Em Ad Hoc Dataset Row Limit (Limite de Linhas do Conjunto de Dados Ad Hoc), especifique o número máximo de linhas que a tela Ad Hoc pode retornar.

  4. No campo Ad Hoc Query Timeout (seconds) (Tempo de Espera da Consulta Ad Hoc (segundos)), especifique por quantos segundos o servidor deve aguardar até esgotar o tempo de espera de um relatório Ad Hoc ao executar sua consulta.

  5. Clique em Mudar para gravar as mudanças.

Compreendendo as políticas de dados

As políticas de dados determinam como o Gerador de Relatórios do ZENworks manipula o carregamento e processamento de dados para determinados tipos de telas Ad Hoc. Elas determinam como os dados são armazenados em cache e onde ocorrem alguns cálculos. Por exemplo, você pode especificar que os dados acessados pelos relatórios baseados em Domínio sejam agrupados, classificados e agregados no banco de dados, em vez de o servidor ter que processá-los na memória.

Veja a seguir as políticas de dados que você pode definir:

  • Otimizar Consultas para Relatórios baseados em JDBC: Seleciona agrupamento, classificação e agregação de consultas para relatórios baseados em JDBC. Do contrário, as consultas serão executadas sem alteração na memória.

  • Otimizar Consultas para Relatórios baseados em Domínio: Seleciona agrupamento, classificação e agregação de consultas para relatórios baseados em Domínio. Do contrário, as consultas serão executadas sem alteração na memória.

Para definir políticas de dados:

  1. Clique em Gerenciar > Configurações do Servidor > Ad Hoc Settings (Configurações Ad Hoc).

  2. Selecione Optimize Queries for JDBC-based Reports (Otimizar Consultas para Relatórios baseados em JDBC) para processar consultas para relatórios baseados em JDBC.

  3. Selecione Optimize Queries for Domain-based Reports (Otimizar Consultas para Relatórios baseados em Domínio) para processar consultas para relatórios baseados em Domínio.

  4. Clique em Mudar para gravar as configurações atuais.

NOTA:Essas configurações de política de dados não atualizam os relatórios existentes criados das telas Ad Hoc em seu repositório. Para mudar a política de dados de um relatório existente, selecione a configuração de política apropriada, abra a tela correspondente no Editor Ad Hoc e grave o relatório novamente.

4.4.3 Gerenciando as configurações de cache ad hoc

O Gerador de Relatórios do ZENworks pode armazenar temporariamente em cache os conjuntos de resultados das consultas Ad Hoc para reutilização. O cache é preenchido pelos dados resultantes das consultas ao criar ou executar telas Ad Hoc. Os conjuntos de dados são exclusivamente identificados por uma chave que faz referência à própria consulta, ao URI da fonte de dados e aos parâmetros usados quando a consulta foi emitida.

O armazenamento em cache reduz as cargas do banco de dados e entrega rapidamente para o usuário os conjuntos de dados mais usados. O armazenamento em cache aplica-se quando os relatórios são criados e também quando são executados. É possível configurar o cache Ad Hoc para otimizar a utilização de memória e o tempo de resposta de acordo com seus padrões de uso.

Definindo o cache

Por padrão, os conjuntos de dados de cada usuário são armazenados em cache separadamente; um parâmetro na chave de cache identifica o usuário. Esse cache por usuário pode resultar em conjunto de dados duplicados quando usuários diferentes executam a mesma consulta. É possível configurar o Gerador de Relatórios do ZENworks para compartilhar os conjuntos de dados armazenados em cache entre os usuários editando o arquivo \WEB-INF\applicationContext-datarator.xml.

O seguinte código configura o cacheKeyInterceptor para ignorar as credenciais dos usuários que efetuaram login durante a criação de chaves de cache:

<property name="ignoredParameters"> <list>

... <value>LoggedInUser</value>

<value>LoggedInUsername</value> </list>

</property>

Após adicionar o código, reinicie o Gerador de Relatórios do ZENworks.

Configurando o cache

O armazenamento em cache melhora o desempenho geral da recuperação e classificação de dados, mas os conjuntos de dados não usados podem consumir memória. Para resolver esses problemas, você deve configurar a frequência de limpeza do cache.

Para configurar a frequência de limpeza automática do cache, edite o seguinte arquivo de configuração:

Vencimento do Cache Ad Hoc

Arquivo de Configuração

…\WEB-INF\adhoc-ehcache.xml

Propriedade

Valor padrão

Descrição

maxEntriesLocalHeap

1

O número máximo de entradas de cache na memória heap local.

timeToIdleSeconds

300

Por quantos segundos se deve esperar para remover o conjunto de dados do cache depois que ele é acessado. O padrão é 30 minutos. Use 0 (zero) para sem limite.

timeToLiveSeconds

300

O tempo máximo de armazenamento do conjunto de dados no cache, mesmo que ele seja constantemente acessado. Assegure que os dados esvaziados sejam periodicamente substituídos. O padrão é 90 minutos. Use 0 (zero) para sem limite.

Após editar o arquivo de configuração, reinicie o Gerador de Relatórios do ZENworks.

Limpando o cache manualmente

Os administradores podem ver a consulta, mas não o conteúdo do conjunto de dados no cache. A página do cache Ad Hoc também mostra os dados de desempenho de cada consulta. Essas informações são úteis na hora de tentar resolver problemas de desempenho.

Veja a seguir os valores da consulta:

  • Consulta (ms) – Tempo consumido em milissegundos, de quando a consulta foi enviada para a fonte de dados (banco de dados) até o recebimento da primeira linha.

  • Busca (ms) – Tempo em milissegundos do recebimento da primeira linha da fonte de dados (banco de dados) até o recebimento da última linha.

  • Memória usada (MB) – Tamanho em megabytes do conjunto de dados resultante que está sendo armazenado na entrada do cache.

    A página do cache Ad Hoc também permite que os administradores removam manualmente os conjuntos de dados, se necessário, para buscar dados recentes.

Para ver e limpar o Cache Ad Hoc manualmente:

  1. Clique em Gerenciar > Configurações do Servidor > Ad Hoc Cache (Cache Ad Hoc).

    A página Ad Hoc Cache (Cache Ad Hoc) é exibida com todos os conjuntos de dados que estão no cache, classificados por idade.

  2. Na coluna Query & Source (Consulta & Origem), clique na consulta para ver seus detalhes.

    A página Detalhes aparece com informações adicionais sobre a consulta selecionada, como o número de linhas no conjunto de dados armazenado em cache.

  3. Clique em Limpar para remover um conjunto de dados do cache.

  4. Clique em Limpar Tudo na parte superior da página Ad Hoc Cache (Cache Ad Hoc) para remover todos os conjuntos de dados.

4.4.4 Gerenciando as configurações de importação

As configurações de importação permitem simplificar o procedimento de importação. A importação opera em um servidor em execução, e todos os recursos importados ficam visíveis imediatamente. Além disso, qualquer definição de configuração ou segurança no catálogo importado é afetada imediatamente, sem ter que reiniciar o servidor.

Você deve importar apenas usando o prompt de comando.

Importando da linha de comando

Uso: cd /opt/novell/zenworks-reporting/js/buildomatic/

./js-import.sh [OPÇÕES]

NOTA:É recomendado parar o servidor antes de usar o utilitário de linha de comando de importação para evitar problemas com caches, configuração e segurança.

Lê um catálogo do repositório do sistema de arquivos e cria o recurso nomeado no repositório do Gerador de Relatórios do ZENworks. O catálogo do repositório deve ter sido criado pela interface de exportação ou pelo comando js-export, seja como um arquivo ZIP ou como uma estrutura de pastas.

Tabela 4-2 Opções no Comando js-import

Opção

Explicação

--help

Exibe informações resumidas sobre as opções disponíveis.

--input-dir

Caminho para importação de um catálogo de um diretório.

--input-zip

Caminho e nome de arquivo para importação de um catálogo de um arquivo zip.

--update

Os recursos no catálogo substituirão aqueles no repositório, se os URIs e tipos forem correspondentes.

--skip-user-update

Quando usada com --update, os usuários no catálogo não são importados nem atualizados. Use essa opção para importar catálogos sem sobregravar os usuários definidos atualmente.

--include-access-events

Restaura eventos de acesso (data, horário e nome de usuário da última modificação) em recursos importados.

--include-audit-events

Apenas a edição Professional. Importa todos os dados de auditoria existentes no catálogo.

--include-monitoring-events

Apenas a edição Professional. Importa todos os dados de monitoramento existentes no catálogo.

--include-server-settings

Determina se a configuração do sistema deve ser atualizada com base no catálogo. Há dois pré-requisitos para o catálogo incluir as definições de configuração:

As configurações do servidor de origem devem ser modificadas pela IU (Configurações de Registro, Configurações Ad Hoc, Configurações de Cache Ad Hoc).

O catálogo deve ser exportado com a opção “tudo” da interface do usuário ou do utilitário de linha de comando.

Quando as configurações do servidor são importadas, elas entram em vigor assim que o servidor é iniciado.

Exemplos:

  • Importar o arquivo de armazenamento de catálogo myExport.zip:

    cd /opt/novell/zenworks-reporting/js/buildomatic/

    ./js-import.sh --input-zip myExport.zip

  • Importar a pasta de catálogo myDir, substituindo os recursos existentes, se os URIs e tipos corresponderem aos encontrados no catálogo:

    cd /opt/novell/zenworks-reporting/js/buildomatic/

    ./js-import.sh --input-dir myDir --update

  • Importar o arquivo de armazenamento de catálogo myExport.zip, mas ignorar todos os usuários encontrados no catálogo:

    cd /opt/novell/zenworks-reporting/js/buildomatic/

    ./js-import.sh --input-zip myExport.zip --update --skip-user-update

  • Importar a pasta de catálogo myDir com eventos de acesso:

    cd /opt/novell/zenworks-reporting/js/buildomatic/

    ./js-import.sh --input-dir myDir --include-access-events

4.4.5 Gerenciando as configurações de exportação

As configurações de exportação permitem exportar usuários e funções além ou em vez do conteúdo de repositório. Use as páginas de configurações do servidor para administradores de sistema.

  1. Clique em Gerenciar > Configurações do Servidor > Exportar.

  2. Especifique o nome do arquivo zip de catálogo a ser exportado.

    A UI da Web suporta apenas o formato de arquivo zip

  3. Use as seguintes caixas de seleção para escolher o conteúdo do seu arquivo de catálogo exportado:

    • Selecione Export Everything (Exportar Tudo) para exportar o repositório inteiro, inclusive permissões e tarefas de relatório, além de todas as organizações, usuários e funções.

      Selecione Include access events (Incluir eventos de acesso) para incluir os horários de modificação dos recursos.

    • Desmarque a caixa de seleção Export Everything (Exportar Tudo) e selecione apenas os usuários e funções a serem exportados.

      Marque Include users with selected roles (Incluir usuários com as funções selecionadas) para selecionar apenas funções e usuários.

    • De qualquer forma, é possível selecionar Include audit events (Incluir eventos de auditoria) e Include monitoring events (Incluir eventos de monitoramento) separadamente.

  4. Clique em Exportar.

    O servidor gera o arquivo zip de catálogo, e o browser avisa para você gravar o arquivo, dependendo do tamanho do catálogo e das opções selecionadas.

Exportando da linha de comando

Uso: cd /opt/novell/zenworks-reporting/js/buildomatic/

./js-export.sh [OPÇÕES]

NOTA:É recomendado parar a instância do servidor antes de executar o utilitário de exportação.

Especifica os recursos do repositório, como relatórios, imagens, pastas e tarefas programadas, a serem exportados para o sistema de arquivos. É possível também exportar as definições internas de tarefas programadas, usuários, funções e também dos dados de auditoria existentes. A saída de exportação é conhecida como um catálogo do repositório; ela é um arquivo de armazenamento ou um conjunto de arquivos em uma estrutura de pastas:

Tabela 4-3 Opções no Comando js-export

Opção

Explicação

--everything

Exportar tudo, exceto os dados de auditoria e monitoramento: todos os recursos do repositório, permissões, tarefas de relatório, usuários e funções. Se qualquer configuração do servidor tiver sido modificada na IU, ela também será incluída. Essa opção equivale a:

--uris --repository-permissions --report-jobs --users --roles

--help

Exibe informações resumidas sobre as opções disponíveis.

--include-access-events

Os eventos de acesso (data, horário e nome de usuário da última modificação) são exportados.

--output-dir

Caminho do diretório no qual criar a pasta de catálogo de saída.

--output-zip

Caminho e nome do arquivo zip de catálogo de saída a ser criado.

--report-jobs

Lista separada por vírgulas de URIs de pasta e unidade de relatório do repositório na qual exportar as tarefas de unidade de relatório. Para um URI de pasta, essa opção exporta as tarefas programadas de todos os relatórios na pasta e, repetidamente, em todas as subpastas.

--repository-permissions

Quando essa opção está presente, as permissões do repositório são exportadas com cada pasta e recurso exportado.

Essa opção deve ser usada apenas com --uris.

--funções

Lista separada por vírgulas de funções a serem exportadas; se não for especificada nenhuma função com essa opção, todas as funções serão exportadas.

--role-users

Quando essa opção está presente, cada exportação de função aciona a exportação de todos os usuários que pertencem à função. Essa opção deve ser usada apenas com --roles.

--uris

Lista separada por vírgulas de URIs de pasta ou recurso no repositório.

--usuários

Lista separada por vírgulas de usuários a serem exportados; se não for especificado nenhum usuário com essa opção, todos os usuários serão exportados. A exportação de um usuário inclui todos os atributos do usuário e, para manter a consistência, exporta também todas as funções atribuídas a ele. Ao especificar usuários, você deve informar o ID da organização, por exemplo:

--users user1, "user2|organization_1", ...

--include-audit-events

Incluir os dados de auditoria de todos os recursos e usuários na exportação.

--include-monitoring-events

Incluir os dados de monitoramento de todos os recursos e usuários na exportação.

Exemplos:

  • Exportar tudo no repositório:

    cd /opt/novell/zenworks-reporting/js/buildomatic/

    ./js-export.sh --everything --output-dir myExport

  • Exportar a unidade de relatório /reports/samples/AllAccounts para uma pasta de catálogo:

    cd /opt/novell/zenworks-reporting/js/buildomatic/

    ./js-export.sh --uris /organizations/organization_1/reports/samples/AllAccounts --output-dir myExport

  • Exportar as pastas /images e /fonts:

    cd /opt/novell/zenworks-reporting/js/buildomatic/

    ./js-export.sh --uris /organizations/organization_1/images,/organizations/organization_1/reports --output-dir myExport

  • Exportar todos os recursos (exceto usuários, funções e programações de tarefas) e suas permissões para um catálogo zip:

    cd opt/novell/zenworks-reporting/js/buildomatic/

    ./js-export.sh --uris / --repository-permissions --output-zip myExport.zip

  • Exportar todos os recursos e tarefas de relatório:

    cd /opt/novell/zenworks-reporting/js/buildomatic/

    ./js-export.sh --uris / --report-jobs / --output-dir myExport

  • Exportar as tarefas de relatório da unidade de relatório /reports/samples/AllAccounts:

    cd opt/novell/zenworks-reporting/js/buildomatic/

    ./js-export.sh --report-jobs /organizations/organization_1/reports/samples/AllAccounts --output-dir myExport

    Exportar todas as funções e usuários:

    cd /opt/novell/zenworks-reporting/js/buildomatic/

    ./js-export.sh --roles --users --output-dir myExport

  • Exportar as funções ROLE_USER e ROLE_ADMINISTRATOR juntamente com todos os usuários pertencentes a cada função:

    cd /opt/novell/zenworks-reporting/js/buildomatic/

    ./js-export.sh --roles ROLE_USER, ROLE_ADMINISTRATOR --role-users --output-dir myExport