sexta-feira, 13 de maio de 2016

Erro: IBQUOTA não identifica o usuário - (unknown) dono do Job

O CUPS possui diretivas de privacidade que impede a identificação do dono da impressão. Isto afeta o sistema de controle de cota de impressão, que precisa saber qual o login que enviou o job.
Geralmente quando isto ocorre, o IBQUOTA classifica o dono da impressão como UNKNOWN, veja a foto abaixo:
IBQUOTA: Usuário desconhecido, "unknown".

Como resolver?

Para resolver este problema, basta editar o arquivo de configuração do CUPS, o cupsd.conf:
<Policy default>  
  JobPrivateAccess all
  JobPrivateValues none
</Policy>

Depois é necessário restartar o CUPS:
# service cups restart

Resolvido: O CUPS irá permitir que a informação do dono da impressão (usuário) seja registrada, desta maneira o IBQUOTA será capaz de identificar e registrar o dono do Job (Coluna "login" no relatório).

Apresar de muito simples, algumas pessoas desistem de utilizar o IBQUOTA por causa deste problema.

terça-feira, 10 de maio de 2016

Faça Test-Drive no IBQUOTA com Linux Mint no VirtualBox

Para quem não tem tempo, ou conhecimento, e tem interesse em conhecer como o IBQUOTA funciona, esta aqui uma opção interessante. Segue máquina virtual pronta, totalmente configurada com o apache, php, cups, mysql, ibquota, etc.
A máquina virtual foi instalada com o Linux Mint versão número 17.3. Para executar, você precisa instalar o VirtualBox. Ele funciona em Linux e em Windows. Super tranquilo de instalar.

Passo 01: Instalação do VirtualBox 

Basta seguir o passo a passo no site do VirtualBox. São 108MB.
Tela inicial do VirtualBox
O VirtualBox é muito simples, a imagem acima mostra a tela inicial. Você pode criar várias máquinas virtuais. No nosso caso, iremos importar uma máquina virtual pronta.

Passo 02: Download da Máquina Virtual

Faça o download da máquina virtual AQUI (Ibquota_VirtualBox_LinuxMint.ova).  São aproximadamente 2GB, e está com tudo instalado.

Passo 03: Importar Máquina Virtual

Abra o VirtualBox e clique no menu "Arquivo (F)" e em "Importar Appliance...". Abrirá a seguinte janela:
Importar Appliance Virtual
Selecionar o arquivo com extensão OVA, após download, conforme seta vermelha acima. Seleção do arquivo:
VirtualBox: Seleciona o arquivo OVA.

VirtualBox: Informações da máquina virtual.

Processo de Importação, demora uns 5 minutos.
VirtualBox: Máquina Virtual Importada

A máquina Virtual poderá ser alterada conforme sua necessidade e característica da sua máquina, por padrão a configuração da máquina virtual é:
Processadores: 2 CPUs
Memória: 1300MB
Rede: Bridge. Deve existir um servidor de DHCP na rede, ou então você terá que configurar um IP manualmente. Neste modo, outro computador da rede conseguirá localizar o servidor de impressão.

Passo 04: Executar a máquina Virtual

VirtualBox: Máquina Virtual iniciada

Acesso ao Gerenciador Gráfico (GG)
O acesso ao Gerenciador Gráfico do IBQUOTA é muito simplificado, basta digitar http://localhost no navegador. Há alguns cadastros pré-configurados (usuários, grupos, impressora e política de impressão).
Rodando o Daemon do IBQUOTA
O serviço do ibquota, também chamado de DAEMON, é executado conforme mostrado acima.

Passo 05: Teste de Impressão

Para realizar o teste é necessário que a máquina virtual seja acessível pela rede, por este motivo a placa de rede está configurada como Bridge. Será necessário serviço de entrega automática de IP (DHCP), ou então terá que configurar o IP, mascara de rede, gateway e DNS manualmente.
Através de outro computador, também em rede, faça a instalação da impressora, você irá precisar o endereço IP da máquina virtual para ajudar a instalar a impressão.
O ideal é que a máquina de teste esteja em Domínio, para o IBQUOTA identificar o usuário dono da impressão. Senão o usuário não será identificado.

Passo 06: Cadastro da fila de impressão na estação

IBQUOTA: Fila de impressão cadastrada no Windows
A fila de impressão foi cadastrada em uma máquina com Windows XP, fora do domínio. Ou seja, o ibquota não irá identificar o usuário que está logado na estação. Este é apenas um teste, e eu não tive tempo de montar um ambiente com Windows Active Directory.
É importante lembrar a fila de impressão que deve ser instalada na estação é a VIRTUAL, senão as quotas não serão identificadas.

Passo 07: Ver relatório

Após algumas impressões, segue o relatório do Gerenciador Gráfico:
Relatório de impresão
Veja que o usuário foi identificado como "unknown", por causa que a estação Windows não estava inserida no domínio.

Banco de Dados Mysql do IBQUOTA

O gerenciador de banco de dados utilizado é o MySQL, e o nome do banco "IBQUOTA". Há muitas informações que não estão nos relatórios. Por exemplo, o nome/ip da estação que enviou o job.
Shell do MySQL
Para quem tem facilidade em implementar páginas em PHP, pode criar facilmente o relatório desejado.

Conclusão

É uma maneira simples de entender como funciona o gerenciador de cota de impressão. Testei ser o mais claro possível, mas qualquer dúvida, faça um comentário.

Cuidado: Esta instalação não deve ser executada em produção, pois as senhas são "ibquota" e não possui firewall. O objetivo desta máquina virtual é apenas mostrar como o servidor de impressão funciona.

segunda-feira, 2 de maio de 2016

Relatórios de Impressão do IBQUOTA

O Gerenciador Gráfico (GG) possui uma série de relatórios que auxiliam no gerenciamento do ambiente de impressão.
Menu Relatórios do IBQUOTA
São oito tipos de relatórios, em alguns deles é possível especificar o intervalo de data.

Relatório: Listagem de Grupo

Relatório Listagem de Grupo
São listados todos os Grupos e suas respectivas Políticas de Impressão aplicadas. Informações como "Impressora", "Quota Padrão" e "Banners" são mostradas nesta tela.

Considerações

Cada ambiente possui necessidade específica de informações, ou seja sempre surge necessidade por relatórios que não estão disponíveis no sistema. Isto é facilmente contornado, pois as informações de impressão estão em banco de dados Mysql.
É possível copiar, colar e ajustar algum relatório especifico. Informações sobre PHP e SQL são fartas na Internet.

quarta-feira, 27 de abril de 2016

Cadastro de Política de Impressão no IBQUOTA

Após cadastrar a Impressora, Grupo e Usuário é o momento de criar a Política de Impressão. Cada local exige uma política diferente. Há locais que o usuário recebe uma quota mensal e outros a quota é semanal, estas configurações são estabelecidas pela política de impressão, no IBQUOTA.
No Gerenciador Gráfico (GG) selecionar "Políticas de Impressão" no menu principal:
Política de Impressão, IBQUOTA
Clicar no link "Atribuir Política de Impressão".
Selecionar Política de Impressão
No segundo passo, selecionar o Grupo de usuários que a Política de Impressão será Aplicada. E, o tipo de política.
Na maioria dos casos o primeiro tipo, Tipo Padrão, atende as necessidades. Ele oferece Quota Infinita, Acumulativa e ainda a possibilidade de impressão de Banner antes ou após a impressão do usuário.
Atribuição de Política de Impressão - IBQUOTA
No terceiro passo, é possível especificar a QUOTA PADRÃO que cada usuário do grupo irá receber inicialmente, no caso o valor 100.
Quota Acumulativa significa que a quota padrão será somada com o restante não utilizado.
Quota Infinita significa que todas as impressões do grupo selecionado serão impressas, apenas o registro será realizado.
O Banner, ou folha de rosto, pode ser ou não contabilizado. Há dois tipos de banner que poderão ser selecionados.
Pelo menos uma impressora deverá ser selecionada, e o valor de cada página poderá ser especificado.
A inicialização da quota poderá ser configurada para: Nunca, diariamente, mensalmente, semestralmente e a cada 2 meses.
Após, clicar em "Enviar 2/2" para finalizar a Atribuição da Política de Impressão.

Política Atribuída
Pronto! A partir deste momento o IBQUOTA irá contabilizar as impressões dos usuários do grupo "Matemática".

terça-feira, 26 de abril de 2016

pagecount.pl: Contador de Páginas do IBQUOTA

O IBQUOTA possui um aplicativo, chamado pagecount.pl, que mostra a quantidade de página de um arquivo. É desenvolvido em PERL e é utilizado pelos desenvolvedores do IBQUOTA para depurar algum problema de contagem de página.

Sintax

# ./pagecount.pl NOME_DO_ARQUIVO

O NOME_DO_ARQUIVO é o arquivo em algum formato reconhecido pelo IBQUOTA: PostScript, PCL, PCLXL, PCL3GUI, etc.

No primeiro passo, o pagecount tenta identificar o formato do arquivo e em segundo passo mostra a quantidade de páginas do arquivo.
Se o pagecount não identificar o formato do arquivo, então ele tenta contabilizar as páginas em todos os formatos reconhecidos (citados acima).
Exemplo:
Pagecount.pl Contador de páginas
No caso acima foi testado um arquivo de formato Desconhecido. Pelos contadores de páginas, o formato PCL identificou 377 páginas e 0 para os outros formatos.

Teste com arquivo formato PCL

Aproveitando o arquivo PCL disponível em http://www.pcltools.com/data/wp51port.pcl. Foi realizado o teste com o pagecount.pl:
Pagecount PCL
O pagecount.pl identificou corretamente o formato do arquivo, no caso PCL e a quantidade de página = 10.

Teste com arquivo formato PostScript

Aproveitando o arquivo Postscript disponível em http://schneider.ncifcrf.gov/ftp/testprinter.ps. Foi realizado o teste com o pagecount.pl:
Pagecount.pl PostScript
O pagecount.pl identificou corretamente o formato do arquivo, no caso PostScript (PS) e a quantidade de página = 1.

Dica


É possível utilizar o pagecount fora do ibquota, mas é necessário copiar também o arquivos de bibliotecas: funcoes.pl.

Cadastro de Impressora no IBQUOTA

Uma dúvida comum dos iniciantes do IBQUOTA é com relação ao cadastro de impressora. Para cada impressora física você tem que criar duas filas de impressão: Virtual e Real. Segue detalhes de cada uma:

Fila de impressão Virtual

A fila virtual deve ser configurada como STOPPED no CUPS, ou seja os jobs entram na fila e ficam aguardando. O daemon do ibquota irá analisar e dar o devido destino.
É esta fila que será compartilhada, ou seja configuradas nas estações de trabalho.

Fila de impressão Real

A fila real deve ser configurada como IDLE no CUPS, ou seja os jobs entram na fila e vão diretamente para o dispositivo, a impressora.
Esta fila NÃO deve ser compartilhada. Se algum usuário imprimir aqui, o ibquota não irá contabilizar as impressões.

Resumo

Fila de Impressão Virtual Real
Configuração no CUPS STOPPED IDLE
Compartilhada Sim Não
Impressora Física Não Sim

Cadastro no Gerenciador Gráfico (GG) do IBQUOTA

IBQUOTA: Cadastro de impressora
IBQUOTA: Filas de impressão Virtual e Real
Para verificar o nome das filas de impressão há uma comando do CUPS chamado "lpstat -a".
As imagens são autoexplicativas, mas abaixo segue uma dica de como identificar o Path Spool.

Path Spool: como identificar

É o diretório onde o CUPS armazena temporariamente os jobs. O caminho (path) muda de acordo com a distribuição do Linux. Geralmente, distribuições Linux baseadas no Debian como por exemplo: Ubuntu, Mint, entre outros, utilizam o caminho /var/spool/cups. 
O correto é imprimir alguma página de teste e procurar pelo arquivo "c00001", este estará no "Path Spool" (diretório) a ser utilizado na configuração do IBQUOTA.
Explicando: O arquivo "c00000" possui informações sobre o JOB e o "d00000" possui o arquivo a ser impresso. Geralmente o CUPS apaga o "d00000" para poupar espaço e mantem apenas as informações do job, o arquivo "c00000".

Conclusão

Aparentemente as dúvidas sobre cadastro de impressora no IBQUOTA estão esclarecidas.

Cadastro de Grupos e Usuários no IBQUOTA

Antes de montar a política de impressão no IBQUOTA, é necessário cadastrar pelo menos um grupo de usuário. Na página de cadastro:
IBQUOTA: Página de Cadastros

Cadastro de Grupo

O cadastro de grupo é pré-requisito para o cadastro de usuários. Alias, cada usuário deve ter no mínimo um grupo. Basta digitar o nome do grupo, no caso foi utilizado o nome "Matemática". Segue página de cadastro de grupo:
Cadastro de grupo no IBQUOTA
Basta clicar em "Enviar" para concretizar o cadastro do grupo.
Grupo cadastrado

Cadastro de Usuário

Após cadastrar o grupo, agora é hora de cadastrar o usuário:
Cadastro de usuário no IBQUOTA
O nome do usuário deve ser o mesmo do Domínio (Windows ou Samba), para que o IBQUOTA consiga identificar o dono da Impressão. Neste momento você deve selecionar o grupo ao qual o usuário pertence. Feito isto, basta clicar em "Enviar":
Usuário cadastrado
Neste momento o usuário foi cadastrado com sucesso.

Na página do menu principal é possível alterar ou excluir grupo ou usuário.