Acesso ao Log do BI Server, Quick & Dirt Parte 2 – Usando XActions

No post anterior eu mostrei como implementar a genial idéia do Gerson Tessler para acessar os logs do BI Server via o próprio BI Server usando um relatório PRD e uma transformação. Agora vamos ver outra técnica (que eu prefiro porque tem um overhead menor): como expor o log do BI Server (ou qualquer outro) usando a mesma transformação e uma XAction.

Primeiro você precisa instalar e configurar o Pentaho Design Studio. Acesse a página de links do site companheiro do livro Pentaho na Prática e baixe o capítulo de degustação. Olhe nas páginas 3, 5 e 17 como instalar o PDS. Depois baixe este guia rápido e configure um projeto para seu BI Server 4.8. Teste e brinque um pouco com o BI Server e o PDS, até sacar a mecânica da coisa (atualizações feitas com o PDS sobre XACTIONs aparecem no BI Server depois de um refresh do repositório, a menos que você use um repositório em arquivo.)

Pronto? Vamos lá:

  1. No PDS clique com o botão da direita sobre a Beltrano e escolha a opção BI Platform e depois New Action Sequence;
  2. Na janela que aparecer deixe o campo Container como está e modifique o nome no campo File name de untiltled.xaction para log.xaction;
  3. Aba General: não mexa em nada e pule para a aba seguinte, Define Process;
  4. Na aba Define Process clique no ícone de mais azul que fica na seção Process Actions. Vai se abrir um menu: escolha Get Data From e depois Pentaho Data Integration;
  5. Usando a Figura 1 como guia, preencha:
    1. Name: não precisa mudar nada;
    2. Input Section: Transformation File deve apontar para a transformação (preencha com solution:le_log_biserver.ktr ou use o botão Browse – mas ele nunca funciona comigo…). Depois digite em Transformation Step o nome do passo que o BI Server deve drenar para receber as linhas lidas pela transformação, que é Saida;
    3. Output Section: preencha apenas o campo Output Rows Name com resultado, que é um nome da variável para receber as linhas drenadas da transformação;
  6. Para “imprimir” o que foi lido, adicione a variável resultado à seção Process Outputs (basta clicar no ícone de mais azul e selecioná-la).
Figura 1: configurando a execução de uma transformação no PDS. (Clique para tamanho natural.)
Figura 1: configurando a execução de uma transformação no PDS. (Clique para tamanho natural.)

E está pronto. Salve a XAction, mude para o BI Server, faça login, depois um refresh do repositório. A Xaction deve aparecer – execute-a com um duplo clique. Se tudo deu certo você vai ver o mesmo resultado do post anterior, feito com PRD, mas agora sem a “cara” de um relatório (Figura 2.)

Figura 2: exibindo o log do BI Server com XAction e transformação. (Clique para tamanho natural.)
Figura 2: exibindo o log do BI Server com XAction e transformação. (Clique para tamanho natural.)

Como da outra vez você pode baixar o pacote no site do Open BI Solutions: https://sourceforge.net/projects/openbisolutions/files/Logs/.

Até a próxima!

Acesso ao Log do BI Server, Quick & Dirt

Qualquer desenvolvedor de soluções com o BI Server precisa ter acesso ao(s) log(s). Na maioria das empresas os desenvolvedores simplesmente têm acesso direto ao BI Server e podem examinar os arquivos de log diretamente. Em outras empresas, porém, isso não é possível – não me pergunte porquê, mas existem empresas nas quais o desenvolvedor é proibido de acessar o ambiente de desenvolvimento. De produção, então, nem pensar!

Gerson Tessler, meu colega de trabalho e amigo, que mexe com Pentaho desde 2008, deu uma solução genial para esses desenvolvedores desafortunados: usar o próprio BI Server para examinar qualquer log. Fácil, simples, óbvio – a marca da genialidade!

Vamos fazer como um laboratório:

  1. Monte um BI Server e remova as pastas de demonstração;
  2. Crie uma pasta vazia. Como eu sempre uso a Beltrano S/A para tudo, minha pasta se chamará Beltrano;
  3. Abra o PDI e crie a transformação da Figura 1 (adicione um passo Text File Input e um Dummy, ligando o primeiro ao segundo):

    Figura 1: Layout de passos da transformação.
    Figura 1: Layout de passos da transformação. (Clique para tamanho normal.)
  4. Configure o Text File Input:
    1. Insira ${Internal.Transformation.Filename.Directory}/../../tomcat/logs/pentaho.log no campo File/Directory da seção Selected Files, aba File (Figura 2);

      Figura 2: configurando o arquivo. (Clique para tamanho normal.)
      Figura 2: Configurando o arquivo. (Clique para tamanho normal.)
    2. Aba Content (Figura 3), campo Filetype: CSV; campo Separator: §§§ (ou qualquer coisa que dificilmente aparecerá no log); desligar o checkbox Header; Format Unix (Linux e Mac) ou DOS (Windows); Encoding UTF-8;

      Figura 3: configurando a interpretação do arquivo. (Clique para tamanho normal.)
      Figura 3: Configurando a interpretação do arquivo. (Clique para tamanho normal.)
    3. Aba Fields (ignore todas as outras): registre um campo chamado log_line como Type String, deixando todos os outros parâmetros vazios.
  5. Dummy: apenas mude o nome para Saida (sem acento);
  6. Salve dentro da pasta Beltrano, em ./biserver-ce/pentaho-solutions/Beltrano.

Essa transformação vai ler o arquivo de log independentemente de onde estiver o BI Server, porque se refere ao arquivo de maneira relativa, apontando para o ./tomcat/logs a partir de dois diretórios acima do pentaho-solutions /beltrano. (Nota: talvez no Windows seja preciso reverter a barra, mas teste antes.)

Segunda parte: executando a transformação a partir do BI Server, para o qual temos duas opções. A primeira e mais trivial é usando um relatório criado com o PRD:

  1. Rode o PRD e crie um novo relatório e salve-o (já, senão pode dar erro) na mesma pasta da transformação, ou seja, na Beltrano dentro do BI Server;
  2. Clique com o botão da direita no cilindro amarelo (aba Data) e selecione Pentaho Data Integration;
  3. Na janela que se abrirá (Figura 4) clique em Browse e selecione a transformação – que deve estar no mesmo diretório;

    Selecionando uma transformação como fonte do relatório.
    Figura 4: Selecionando uma transformação como fonte do relatório.
  4. No que a janela de seleção se fechar, os passos da transformação serão listados. Clique em Saida e depois em Ok;
  5. Voltamos à lona, para construir o relatório (Figura 5). Sem estresse: arraste o campo log_field para a banda Details;

    Posicionando e configurando o campo. (Clique para tamanho natural.)
    Figura 5: Posicionando e configurando o campo. (Clique para tamanho natural.)
  6. Posicione o campo no extremo esquedo e alargue-o até ocupar a folha inteira;
  7. Com o campo selecionado, mude para a aba Structure, sub-aba Style. Localize a propriedade Dynamic Height e sete-a para TRUE;
  8. Para ficar bonito, acesse o menu File, opção Report Properties (e aba Descriptio na janela que se abrir) e preencha o título (algo como “Log”, mas sem as aspas… ;-) );
  9. Salve, faça login no BI Server, comande um refresh e execute o relatório.

Se tudo deu certo vai aparecer a Figura 6:

Examinando o log do BI Server via relatório dentro do BI Server.
Examinando o log do BI Server via relatório dentro do BI Server.

Veja que estamos acessando um dos arquivos do diretório de logs do BI Server e que podemos usar o mesmo método para qualquer arquivo. Não apenas isso, mas como estamos usando uma transformação em um relatótio, podemos combinar as capacidades dos dois e adicionar (por exemplo), filtros por data e hora, horizonte (quanto do log mostrar) etc.

A outra maneira é rodando uma XAction, que eu vou publicar em em 15/8/13. Até lá você pode obter o pacote relatório + transformação no site de projetos de BI livres: https://sourceforge.net/projects/openbisolutions/files/Logs/. Basta descompactar o arquivo dentro do seu pentaho-solutions/Beltrano (ou qualquer outra pasta) e atualizar seu BI Server. Deixe um comentário aqui se tiver algum problema.

Amazon Liberou Atualização

Prezados leitores do livro Pentaho na Prática, a Amazon liberou a atualização do conteúdo. Por favor acessem o link abaixo (que equivale à página Atualize Seu Livro do site companheiro) para as instruções de atualização.

http://www.pentahonapratica.com.br/portal/?page_id=105

Não se esqueçam de postar um comentário no site companheiro se tiverem algum problema (o Caio e o Cesar também lêem os comentários postados lá, enquanto aqui só eu.) Também ficaríamos gratos se postassem dizendo que tudo deu certo.

Pentaho na Prática, 1a. Edição!

Tenho o orgulho, o prazer e a honra de anunciar a primeira edição do Pentaho na Prática publicada integralmente na Amazon.

http://www.pentahonapratica.com.br/portal/

Foram seis meses de trabalho intenso, colaboração via Internet – algo mais fácil anunciado que feito, porque o problema não era o meio, mas a agenda – muita ginástica mental para encaixar uma torrente de assunto sem fim no formato relativamente limitado de um livro, e muito aprendizado. Melhoramos desde a nossa habilidade com o próprio Pentaho (virou um Karatê: repetíamos a mesma coisa over and over again até ter certeza que a descrição no livro cobria bem o bastante para um novato ler e sair do outro lado), até o uso do LibreOffice (tive que descobrir como montar masters) e serviços de versionamento de terceiros. Houve também um bocado de sacrifício da minha família, que me aguentou de mal-humor e irritadiço por falta de sono, cansaço e pressão por deadline e sem a colaboração de quem com certeza não teria saído na data.

Meu anjinho, meninos, eu amo vocês – e esse livro é dedicado a vocês.

Mas é isso. Estou no meio da minha primeira ragged hierarchy, aqui no trampo, da qual eu fugi como o diabo foge da cruz mas não consegui evitar. De volta à vaca fria. ;-)

Olha só… é meu 45o. Post! :-D