Relatórios
O Positivo Network Manager oferece recursos para executar relatórios dos dados
armazenados, sejam eles coletados automaticamente ou inseridos manualmente.
É possível criar, armazenar, editar e apagar relatórios. Os relatórios armazenados
podem ser configurados para serem enviados por e-mail de acordo com
uma periodicidade.
Conhecendo o Container de Relatórios
Toda a ferramenta de relatórios pode ser acessada clicando com o botão direito
do mouse sobre o item Relatórios na árvore de ativos do Positivo Network Manager.
Nesse menu encontramos:
- Mostrar Relatórios - todas as pesquisas que são criadas e salvas são
apresentadas ao clicar nessa opção. Clicando com o botão esquerdo do mouse
sobre o item Relatórios, a página de relatórios armazenados também é
apresentada.
- Criar Relatório - opção que permite criar relatórios utilizando um
assistente.
- Criar SQL - opção que permite criar relatórios na forma de comandos SQL.
Criando Relatórios
É possível criar relatórios de duas formas no Positivo Network Manager. Esses
dois modos são exibidos ao clicar com o botão direito do mouse sobre o item
Relatórios.
- Criar Relatório: relatórios são criados e armazenados através de um assistente de relatório;
- Criar SQL: relatórios são criados e armazenados na forma de sentenças SQL.
Criando relatórios utilizando a opção Criar Relatório
Quando a opção Criar Relatório é escolhida, um diálogo semelhante à figura a seguir é
apresentado.

Para criar um relatório usando o assistente preencha os campos:
- Nome: escolha um nome para identificar este relatório;
- Grupo: escolha um grupo dos apresentados na lista, sob o qual o novo relatório ficará alocado.
Inserindo um nome que não esteja na lista, automaticamente passará a existir um novo grupo, relativo ao título inserido;
- Categoria: escolha sobre qual categoria a pesquisa será aplicada. Por exemplo, se deseja mostrar quais computadores possuem determinado software, escolha a categoria computador. A seleção de uma categoria aqui libera a lista de Critérios adiante;
- Operação: escolha qual operação será efetuada com os
diversos critérios que serão escolhidos no campo Lista de Critérios;
- Critérios: escolha os critérios (ou filtros) para o
relatório. Todas as propriedades de uma determinada categoria podem ser
pesquisadas. Após configurar um critério, clique no botão adicionar. Vários
critérios podem ser criados, e a operação lógica entre cada critério é
escolhida no campo Operação. Para excluir um critério, clique no X vermelho
ao final do critério desejado. Caso deseje que uma propriedade utilizada como critério seja
validada utilizando a operação OU com vários valores é possível utilizar o operador
++. Exemplo: Para usar como critério o Nome na Árvore
igual a SRV001 ou SRV002 selecione o combobox "Igual a" e no campo para o valor
coloque SRV001++SRV002;
- Está no resultado dos relatórios: é possível aplicar um
relatório sobre os resultados de outro relatório. Suponha que exista um relatório que retorne todos os servidores da empresa
e que foi salvo com o nome
"Servidores". Se houver a necessidade de encontrar todos os servidores com
menos de 2GB de RAM, basta criar um novo relatório
da categoria Computador
cujo critério Memória Instalada seja Menor ou Igual a 2048 (quantidades de
memória no Positivo Network Manager são armazenadas em megabytes) e na lista de relatórios
existentes, selecionar o relatório "Servidores" e clicar no botão Incluir;
- Resultados: escolha quais propriedades da categoria
pesquisada devem ser retornados para os ativos cujos critérios são
atendidos. Clique sobre a propriedade e clique no botão Incluir. Para
excluir uma propriedade, selecione a propriedade da lista da direita e
clique no botão Excluir;
- Apresentação: a opção Mostrar somente as instâncias que
atendem aos critérios faz com que apenas os resultados (propriedades) da
pesquisa que satisfazem os critérios definidos sejam apresentados. Exemplo:
Se uma pesquisa cujo critério Software Registrado.Nome
contenha Office esteja selecionado como
resultado também Software Registrado.Nome, todos
os software instalados no equipamento serão retornados pelo relatório. Se a opção "Mostrar somente as instâncias que atendem aos
critérios" estiver selecionada, apenas os softwares que contenham no
nome a palavra Office serão mostrados no relatório;
- Escopo: escolha um ou mais sites
(clicando no lápis) sobre os quais a pesquisa será aplicada;
- Senha: caso deseje, é possível definir uma senha para proteção do relatório. Insira a senha aqui ou deixe em branco se não optar por proteção através de senha;
- Confirme Senha: confirme a senha caso a tenha inserido anteriormente;
- Utilizar senha para proteger edição de relatórios: marque esta opção caso deseje que a senha seja para proteger a edição do relatório. Caso algum usuário deseje editar
o relatório, a senha será solicitada;
- Utilizar senha para proteger execução de relatórios: marque esta opção caso deseje que a senha seja para proteger a execução do relatório. Deste modo,
será solicitada a senha para o usuário antes que o mesmo execute o relatório;
- Manter resultado em cache por: selecione o período de tempo no qual deseja que o resultado da pesquisa seja mantido no cache da memória. Caso o relatório
seja executado novamente após o período de tempo definido, o Positivo Network Manager não mais irá buscar o resultado em cache, e sim irá realizar uma nova pesquisa de acordo com as condições
definidas para o relatório em questão.
Após configurar todas as opções, clique no botão Ok para salvar o relatório,
ou no botão Cancelar para finalizar o editor de pesquisa sem aplicar as
alterações. Clicar no botão X no alto do diálogo de pesquisa tem o mesmo efeito
de clicar no botão Cancelar.
Exemplo
Criar um relatório que retorne o nome do computador, o nome do processador, a
quantidade de memória instalada e a quantidade de memória instalável dos
computadores cujo nome do processador contenha a palavra "Pentium" e a quantidade
de memória instalada seja superior a 256MB:
- Categoria: escolha Computador. Após a escolha o browser irá buscar informações no servidor para completar o restante da página. Se a conexão for lenta, esta atualização da tela pode demorar alguns segundos;
- Operação: Escolha a operação do tipo E (processador contém Pentium E
memória superior a 256MB);
- Critérios: Escolha no combobox a propriedade
Placa-Mãe.Processadores.Processador Físico.Nome, no combo box do meio
(operador) a opção Contém e no campo da direita o texto
Pentium. Clique no botão adicionar. Agora repita
os passos selecionando a propriedade
Placa-Mãe.Memória.Instalada, no combo box do operador a opção
Maior que e no campo da direita (valor) escolha
256. Clique no botão adicionar;
- Resultados: Escolha:
- Geral.Nome do Computador e clique no
botão Incluir;
- Placa-mãe.Processadores.Processador Físico.Nome
e clique no botão Incluir;
- Placa-mãe.Processadores.Memória.Instalada
e clique no botão Incluir;
- Placa-mãe.Processadores.Memória.Instalável
e clique no botão Incluir;
- Deixe a opção "Mostrar somente as instâncias que atendem aos critérios"
desmarcada, pois queremos trazer todos os processadores do equipamento
(apesar de não ser possível misturar os processadores de uma máquina, mas
isto é apenas para exemplo);
- Escopo: clicando no lápis, selecione o site raiz;
- Senha: se desejar, insira e confirme alguma senha para o relatório. Caso contrário, deixe o espaço em branco;
- Modos de proteção do relatório: selecione o modo de proteção desejado, podendo selecionar os dois oferecidos. A marcação só será válida caso alguma senha tenha
sido inserida anteriormente;
- Manter o resultado em cache por: escolha um período de tempo. Recomenda-se o menor disponível, para que o Positivo Network Manager traga sempre os resultados que refletem
a realidade ao invés de dados armazenados em cache;
- O relatório estará como apresentado a seguir:
- Clique no botão Ok;
- Encontre o relatório na árvore e clique sobre ele para executá-lo. Uma tela como a seguinte será apresentada:
Nessa tela aparecem a lista de ativos (na horizontal) que obedecem aos
critérios escolhidos e as propriedades selecionadas para visualização (na
vertical).
Clicando sobre as colunas (que terão o nome das propriedades escolhidas) é
possível ordenar os resultados.
Caso ao relatório não atenda as suas necessidades e deva ser refeito, basta clicar
com o direito sobre ao relatório na árvore e escolher a opção Editar Relatório.
Criando relatórios utilizando a opção Criar SQL
Usuários avançados podem criar relatórios utilizando comandos SQL que atuem diretamente na base de dados do Positivo Network Manager.
Quando a opção Criar SQL é escolhida uma página como a seguir é apresentada.
Essa página contém os campos:
- Nome: o nome que aparecerá na página dos relatórios armazenados;
- Grupo: nesse campo pode-se escolher um grupo para que o
relatório seja facilmente encontrado na página de relatórios armazenados. Ao
clicar nesse campo, uma lista de grupos já existentes será exibida. Caso
ainda não exista o grupo desejado, basta digitá-lo nesse campo que o grupo será
automaticamente criado;
- Query: a query SQL que se deseja executar na base de dados do
Positivo Network Manager;
- Senha: caso deseje, é possível definir uma senha para proteção do relatório. Insira a senha aqui ou deixe em branco se não optar por proteção através de senha;
- Confirme Senha: confirme a senha caso a tenha inserido anteriormente;
- Utilizar senha para proteger edição de relatórios: marque esta opção caso deseje que a senha seja para proteger a edição do relatório. Caso algum usuário deseje editar
o relatório, a senha será solicitada;
- Utilizar senha para proteger execução de relatórios: marque esta opção caso deseje que a senha seja para proteger a execução do relatório. Deste modo,
será solicitada a senha para o usuário antes que o mesmo execute o relatório;
- Manter resultado em cache por: selecione o período de tempo no qual deseja que o resultado da pesquisa seja mantido no cache da memória. Caso o relatório
seja executado novamente após o período de tempo definido, o Positivo Network Manager não mais irá buscar o resultado em cache, e sim irá realizar uma nova pesquisa de acordo com as condições
definidas para o relatório em questão.
IMPORTANTE: Para filtrar os ativos que o usuário do
Positivo Network Manager não tem acesso (configuração de permissões de sites),
adicione a máscara %%USER_RIGHTS%% como um dos critérios da cláusula WHERE e
assegure que a pesquisa retorne sempre as colunas ID e Name da tabela
Tree_SERVER.
Exemplo:
... WHERE (Name='Teste' OR Name='Eval') AND
%%USER_RIGHTS%%
Ao preencher os campos, deve-se clicar no botão OK. O relatório será armazenado
na base de dados do Positivo Network Manager e estará disponível
para execução na página de relatórios
armazenados (apresentada no tópico
Mostrar Relatórios).
Diagrama Entidade-Relacionamento da Base de Dados
Para auxiliar a construção das pesquisas usando SQL, o diagrama entidade-relacionamento da base de dados do Positivo Network Manager é apresentado na figura a seguir.
Vale lembrar que os nomes de todas as tabelas são sufixados com _SERVER.

Diagrama Entidade-Relacionamento da Base de Dados do Positivo Network Manager
Os campos pLeft e pRight são usados para manter a posição dos ativos na árvore, garantindo o correto aninhamento de todos os ativos.
IMPORTANTE: Todas os relatórios que retornam ativos tipo Computador
devem retornar os campos CategoryID,ID,GUIDHW,Name e Path nesta ordem para poderem ser
utilizadas nas ferramentas e também para filtrar os ativos que estão em sites
que o usuário não tem acesso. Exemplo:
SELECT CategoryID, ID,
GUIDHW,Name, Path, FROM Tree_SERVER WHERE
Name LIKE '%ABC%'
Exemplo de Relatórios
Exemplo 1: Pesquisa para mostrar todas as categorias e seus respectivos identificadores
SELECT Name,ID
FROM Tree_Categories_SERVER
ORDER BY ID
Exemplo 2: Pesquisa para mostrar todos os computadores existentes na árvore, ordenando pela posição da árvore. Pelo exemplo 2 é possível notar que o identificador da categoria Computador é 3.
SELECT ID, GUIDHW, Name, Path
FROM Tree_SERVER
WHERE CategoryID=3
ORDER BY pLeft
Exemplo 3: Pesquisa para mostrar todos os ativos da árvore e suas respectivas categorias.
SELECT Tree_SERVER.ID, Tree_SERVER.GUIDHW, Tree_SERVER.Name, Tree_SERVER.Path, Tree_Categories_SERVER.Name
FROM Tree_SERVER INNER JOIN Tree_Categories_SERVER ON Tree.CategoryID=Tree_Categories.ID
ORDER BY Tree.pLeft
Exemplo 4: Pesquisa todas as propriedades da categoria Computador
SELECT ID, Name
FROM Tree_DataStruct_SERVER
WHERE CategoryID=3
Exemplo 5: Pesquisa para mostrar todos os nomes dos processadores de todos os computadores da árvore. Pelo exemplo 4 é possível notar que o identificador para nome do processador é 550.
SELECT Tree_SERVER.ID, Tree_SERVER.GUIDHW, Tree_SERVER.Name, Tree_SERVER.Path, Tree_DataValues_SERVER.ValueText
FROM Tree_SERVER INNER JOIN Tree_DataValues_SERVER ON Tree_SERVER.ID=Tree_DataValues_SERVER.TreeitemID
WHERE DataStructID=550
ORDER BY Tree_SERVER.Name
Usando Relatórios Dinâmicos
Além da flexibilidade que a ferramenta de criar pesquisa SQL fornece, ainda é possível colocar campos dinâmicos na sintaxe SQL.
Existem três campos dinâmicos oferecidos pelo Positivo Network Manager:
- {Edit}: campo do tipo texto que é substituído no momento da execução da pesquisa;
- {Categories}: apresenta uma caixa de seleção com todas as categorias de ativos existentes;
- {Nome_De_Uma_Categoria}: apresenta uma caixa de seleção com todas as ocorrências na árvore da categoria dada.
- {Date}: apresenta uma caixa de edição com um assistente de calendário para entrar valores de dia, mês e ano;
- {DateTime}: apresenta uma caixa de edição com um assistente de calendário para entrar valores de dia, mês, ano, hora, minuto e segundo;
Exemplo 1: Para criar um relatório que retorne quais computadores possuem no nome um determinado texto.
Nome do Relatório:
Computadores cujo nome possui o texto {Edit}
Grupo do Relatório
Relatórios do Manual do usuário
Pesquisa SQL:
SELECT ID, GUIDHW, Name, Path
FROM Tree_SERVER
WHERE CategoryID=3 AND Name LIKE '%{1}%'
Isto fornecerá a seguinte apresentação na ferramenta Executar Relatório:

Perceba que a máscara {Edit} existente no nome do relatório
se transforma em uma caixa de inserção de texto. No momento em que o relatório é
executado, o Positivo Network Manager primeiro troca a máscara {1} existente na pesquisa pelo texto digitado na caixa de inserção de texto e depois executa o relatório.
Exemplo 2: Para criar um relatório que retorne todos os computadores que estão abaixo de determinado site.
Nome do Relatório:
Computadores sob o site {Site}
Grupo do Relatório
Relatórios do Manual do usuário
Pesquisa SQL:
SELECT t1.ID, t1.GUIDHW, t1.Name, t1.Path
FROM
Tree_SERVER AS t1
INNER JOIN Tree_SERVER AS t2
ON t1.pLeft>t2.pLeft AND t1.pRight<t2.pRight
WHERE t1.CategoryID=3 AND t2.CategoryID=2 AND t2.ID={1}
Este relatório fornecerá a seguinte apresentação na ferramenta Executar Pesquisa:
A máscara {Site} contém o nome de uma categoria, então o Positivo Network Manager transforma esta máscara por uma caixa de seleção com todos os ativos da categoria Site existentes na árvore. No momento em que o relatório
é executado, o Positivo Network Manager troca a máscara {1} pelo identificador do ativo (valor do campo ID da tabela Tree) e depois executa o relatório.
Exemplo 3: Para criar um relatório que retorne todos os ativos de determinada categoria que estão abaixo de determinado site e possuem no nome um determinado texto.
Nome do Relatório:
{Categories} sob o site {Site} cujo nome possui o texto {Edit}
Grupo do Relatório
Relatórios do Manual do usuário
Pesquisa SQL:
SELECT t1.ID, t1.GUIDHW, t1.Name, t1.Path
FROM
Tree_SERVER AS t1
INNER JOIN Tree_SERVER AS t2
ON t1.pLeft>t2.pLeft AND t1.pRight<t2.pRight
WHERE t1.CategoryID={1}
AND t2.CategoryID=2 AND t2.ID={2} AND t1.Name LIKE '%{3}%'
Este relatório fornecerá a seguinte apresentação na ferramenta Executar Relatório:

Neste relatório três campos dinâmicos foram utilizados no nome e conseqüentemente três máscaras foram utilizadas na pesquisa SQL. Na pesquisa SQL, o número contido entre chaves indica qual campo do nome está sendo referenciado. No exemplo, o valor{Categories} dará o valor para {1}, {Site} para {2} e {Edit} para {3}.
Criando Relatórios para Usar nas Ferramentas do Positivo Network Manager
Para criar um relatório que possa ser utilizado nas ferramentas do Positivo Network Manager, como, por exemplo, Assistente de Instalação Remota, Seleção de computadores, todo relatório deverá retornar cinco campos iniciais nesta ordem:
- Tree_SERVER.CategoryID;
- Tree_SERVER.ID ;
- Tree_SERVER.GUIDHW;
- Tree_SERVER.Name;
- Tree_SERVER.Path;
Por exemplo, para criar uma pesquisa que retorne todos os computadores cujo nome possua o texto ABC, a pesquisa deverá ser:
SELECT CategoryID, ID, GUIDHW, Name,
Path FROM Tree_SERVER WHERE Name LIKE '%ABC%'
Mostrando relatórios armazenados
Após criar relatórios e armazená-los eles são apresentados escolhendo a opção
Mostrar Relatórios do menu de contexto do item Relatórios da árvore de ativos.
Clicando sobre o item Relatórios, a página de relatórios armazenados também é
apresentada. Expandindo o Container Relatórios, é possível visualizar todos os
grupos de relatórios
(explicados a seguir) e expandindo esses grupos a lista de relatórios é apresentada, desde que os relatórios não tenham campos a serem
preenchidos antes de serem executados.
A página de relatórios armazenados apresenta todos os relatórios agrupados de
acordo com o grupo escolhido na hora que o relatório foi criado. Segue abaixo um
exemplo de página de relatórios armazenados.
É possível efetuar 6 ações com os relatórios armazenados:
- Apagar um relatório armazenado clicando sobre o ícone (
);
- Editar um relatório armazenado clicando sobre o ícone (
);
- Agendar o envio de um relatório por e-mail com uma periodicidade clicando sobre o ícone (
);
- Eliminar a cache de um relatório clicando sobre o ícone (
), de modo que, caso o relatório seja executado novamente, o Positivo Network Manager fará uma nova pesquisa para obter resultados;
- Consultar o SQL relativo ao relatório clicando sobre o ícone (
);
- Executar um relatório clicando sobre o botão (
)
ou clicando sobre o nome do relatório, quando esse tiver sido criado com assistente;
Ao clicar sobre o ícone (
),
uma janela como a seguir será apresentada.

Nessa tela existem as seguintes opções:
- e-mail: preencha com o mail para o qual o relatório deve ser enviado. Dependendo do seu servidor de e-mails, uma lista separada por vírgula pode ser cadastrada;
- Periodicidade Diária: selecione esta opção se deseja que o relatório seja enviado todo dia;
- Periodicidade Semanal: selecione esta opção e escolha os dias da semana que deseja receber o relatório;
- Periodicidade Mensal: selecione esta opção e escolha qual dia do mês que deseja receber o relatório;
- Periodicidade Anual: selecione esta opção e escolha o dia do ano que deseja receber o relatório;
- Uma única vez: selecione a opção
Data e digite a data que deseja receber o relatório. Esta opção fará que o relatório seja enviado somente uma vez;
- Horário de envio do e-mail: escolha a partir de que horário o relatório será gerado. Como o Positivo Network Manager verifica quais relatórios devem ser enviados a cada hora, esta opção de horário serve apenas de referência para o envio do relatório. Por exemplo, se for escolhido 09:15 o relatório será enviado entre 09:15 e 10:14;
- é possível combinar Periodicidades. Por exemplo, é possível selecionar Periodicidade semanal para terça e sábado juntamente com Periodicidade mensal para o dia 15. Neste exemplo, um relatório será gerado a cada terça, a cada quinta, e também todo dia 15, independentemente do dia da semana;
- clique em Configurar para confirmar o agendamento.
IMPORTANTE: Para o correto envio de e-mails, o Positivo Network Manager deve estar corretamente configurado. Veja a seção e-mail no capítulo Configurando o Positivo Network Manager.