KeyPA – Print Agent

Transcript

KeyPA – Print Agent
KeyPA – Print Agent
Informazioni di Funzionamento
Viale S. Franscini, 17
6900 Lugano (CH)
Tel. +41 (0)91 911 85 05
Fax. +41 (0)91 921 05 39
Versione Manuale
1.0
Versione PrintAgent
2.4.2 e successive
Indice
Il software PrintAgent ................................................................................................................................ 5
Principio di Funzionamento........................................................................................................................ 7
Traffico di Rete prodotto da PrintAgent..................................................................................................... 9
Traffico generato per SNMP ................................................................................................................... 9
Dimensionamenti del traffico SNMP .................................................................................................... 10
Traffico generato per SMTP ................................................................................................................. 11
Permessi di esecuzione ............................................................................................................................ 12
Korutoa SA Viale S. Franscini,17 6900 Lugano (CH) Tel. +41 (0)91 9118595 Fax. +41 (0)91 9210539
3/12
Il software PrintAgent
PrintAgent è un componente software parte del sistema di misurazione remota KeyPA, che consente la
raccolta periodica di informazioni da dispositivi di stampa multifunzione.
Il suo scopo è quello di raccogliere periodicamente informazioni inerenti lo stato istantaneo e i totali
storici dai dispositivi e inviarle al destinatario per la raccolta centralizzata, il trattamento e l’analisi.
Il software si compone di un singolo file eseguibile, compilato per l’uso con .NET Framework 4.0;
normalmente, in un’installazione, questo file si accompagna ad un documento XML contenente la
configurazione dei parametri di analisi della rete e di invio mail.
Il file eseguibile consente l’uso su sistemi Microsoft Windows, linux o Apple Mac OS X, previa
installazione di un ambiente .NET compatibile con Framework 4. Su Windows si trova normalmente preinstallato il .NET Framework di Microsoft stessa; su linux/osx si può provvedere all’installazione di Mono
(http://mono-project.com) nella versione stabile per il proprio sistema operativo.
Nel caso Windows si può utilizzare inoltre la versione confezionata in un package Windows Installer;
questa contiene un’interfaccia grafica per la configurazione dei parametri e il test del funzionamento. Nel
caso linux/osx bisognerà procedere manualmente all’installazione, creando la struttura di directory
desiderata e impostando la riga di comando per l’esecuzione automatica nel sistema in uso. Per l’analisi
dettagliata della fase d’installazione si rimanda al manuale dedicato.
Durante il funzionamento PrintAgent produce altri due file: uno contenente il log degli eventi, che
viene ruotato al superamento di 1MB di dimensione, e uno contenente le informazioni temporanee di
scansione. Anche questo viene periodicamente eliminato. La directory di questi file corrisponde a
\Korutoa\PrintAgent sotto la directory prevista, dal proprio sistema operativo, come destinata ai dati
comuni delle applicazioni. Nel caso di un sistema Windows corrisponde alla variabile d’ambiente
%ALLUSERSPROFILE%; nel caso linux/osx viene tipicamente impostato alla directory /usr/share, ma
bisognerà verificare caso per caso.
Korutoa SA Viale S. Franscini,17 6900 Lugano (CH) Tel. +41 (0)91 9118595 Fax. +41 (0)91 9210539
5/12
Korutoa SA Viale S. Franscini,17 6900 Lugano (CH) Tel. +41 (0)91 9118595 Fax. +41 (0)91 9210539
6/12
Principio di Funzionamento
PrintAgent viene normalmente impostato, nel sistema, come operazione da eseguirsi ogni ora durante
il giorno; utilizzando il package di installazione viene automaticamente creata un’operazione pianificata
eseguita dalle ore 8 alle 19, ad un minuto casuale tra 1 e 40.
Ad ogni avvio PrintAgent cerca il file delle scansioni temporanee; se lo trova, carica da quello il numero
dell’ultima scansione effettuata, in caso contrario parte con la prima scansione.
Durante la scansione PrintAgent effettua, a seconda delle impostazioni configurate durante
l’installazione, un primo discovery automatico (disattivabile dalle impostazioni) sulle reti configurate. Se
nessuna rete particolare è stata configurata ed è stato lasciato attivo l’uso automatico di tutte le reti
raggiungibili, PrintAgent cercherà la lista delle interfacce di rete IP attive sulla macchina, leggerà da queste
le informazioni di indirizzo e netmask, e proverà a inviare una richiesta SNMP v1 e v2c a tutti gli host in tutti
i domini di broadcast così individuati. Viene effettuato un secondo giro di discovery a 20 secondi di distanza
dal termine del primo, per individuare anche i dispositivi che richiedono del tempo per svegliare la logica di
risposta in rete dopo aver ricevuto il primo pacchetto.
Il discovery termina con la determinazione di una lista di endpoint che abbiano risposto con una
informazione qualsiasi contenuta nel PRINTER-MIB via SNMP; per ciascun endpoint viene registrata la
versione di SNMP per la quale si è ricevuta risposta, e viene preferita la versione 2c sulla 1 quando
entrambe sono disponibili. Se il discovery è disattivato la lista di endpoint viene caricata dall’XML di
configurazione, completa della determinazione della community e della versione SNMP da usare.
PrintAgent passa poi alla fase di analisi degli endpoint; a gruppi di 5 alla volta (oppure 2 alla volta, se
sta funzionando su un sistema linux/osx) provvede a richiedere diverse aree consecutive dell’albero di
informazioni SNMP. PrintAgent effettua una prima, sommaria, decodifica delle informazioni per poter
internamente distinguere i dispositivi tra scansioni successive ed estrarne numeri seriali/modelli, per
fornire informazioni durante il test.
Ottenute le informazioni dalle stampanti PrintAgent verifica se ha raggruppato un numero suffciente di
scansioni (in base alla configurazione; normalmente 4) e, in tal caso, invia le informazioni raccolte. In caso
contrario, compatta le differenze tra la scansione attuale e le eventuali scansioni storiche, e termina.
Se PrintAgent procede all’invio delle informazioni, produce una mail con un allegato compresso
contenente i risultati di scansione raggruppati; se la mail viene correttamente presa in carico dal MTA
configurato il file con i dati temporanei viene cancellato, in caso contrario viene mantenuto e l’invio sarà
ritentato più avanti.
Korutoa SA Viale S. Franscini,17 6900 Lugano (CH) Tel. +41 (0)91 9118595 Fax. +41 (0)91 9210539
7/12
Korutoa SA Viale S. Franscini,17 6900 Lugano (CH) Tel. +41 (0)91 9118595 Fax. +41 (0)91 9210539
8/12
Traffico di Rete prodotto da PrintAgent
Il traffico prodotto da PrintAgent si può analizzare suddiviso per protocollo. Il primo è SNMP,
protocollo utilizzato per la raccolta dei dati; il secondo è SMTP, che viene usato per consegnare la mail al
MTA per il recapito al centro di raccolta.
Traffico generato per SNMP
Simple Network Management Protocol nasceva a metà del 1988 come protocollo universale per il
controllo semplificato dei dispositivi non-computer di rete. È implementato nella quasi totalità dei
dispositivi di rete (router, firewall, stampanti, etc) e consente la lettura remota dello stato dei dispositivi
(temperature, occupazione RAM, spazio su disco, traffico di rete, contatori, toner, etc) e, in alcuni casi, la
modifica di parametri di configurazione.
L’originale destinazione d’uso ha fatto sì che il contenuto del protocollo venisse strutturato in maniera
estremamente semplice, quindi poco efficiente in termini di spazio. Tuttavia non è previsto l’uso di SNMP
come protocollo per il trasporto di informazioni in maniera continuativa, ma discontinua e saltuaria:
Windows stesso, nelle versioni successive a XP, verifica tramite SNMP la disponibilità di una stampante in
rete con una richiesta ogni 10 minuti circa1. Normalmente le richieste SNMP verso i dispositivi di rete (es.
router) vengono impostate ogni 5 o 10 minuti (crf. funzionamento di sistemi di monitoraggio come NAGIOS
o CACTI). SNMP è un protocollo trasportato mediante UDP, che rende ulteriormente leggero il traffico,
poichè non richiede apertura e mantenimento di una connessione: l’effetto collaterale (e previsto in
PrintAgent) è che per esigenze di trasporto i pacchetti UDP possono venir scartati per fare spazio ad altri
tipi di traffico.
In questo contesto PrintAgent si pone in modo molto conservativo, anche perchè il suo funzionamento
non è strettamente quello di richiedere solo alcune precise informazioni dalle macchine ma, per supportare
eventuali futuri modelli e l’estrazione di nuove informazioni senza dover aggiornare tutto il parco di
PrintAgent installati, aree di informazione relativamente grandi dalle macchine.
PrintAgent ha inoltre una lista di aree di informazione da evitare: per esempio la lista dei job di stampa
in coda o terminati, oppure le impostazioni dei font o dei margini per ciascun tipo di supporto. In questo
modo minimizza il traffico di informazioni inutili e ottimizza il tempo di scansione.
Da ultima nota, PrintAgent preferisce le stampanti che supportano la versione 2c del protocollo SNMP
perchè, rispetto alla 1, consente le richieste “in massa”, ovvero richieste che, in un singolo pacchetto di
rete, possono contenere fino a 64 risposte (per via del funzionamento di PrintAgent).
1
Ciò può causare problemi se la stampante non può rispondere via SNMP, per esempio perchè è stato disattivato
o per filtri es. firewall interni: http://support.microsoft.com/kb/946198
Korutoa SA Viale S. Franscini,17 6900 Lugano (CH) Tel. +41 (0)91 9118595 Fax. +41 (0)91 9210539
9/12
Dimensionamenti del traffico SNMP
Per via del diverso comportamento nelle due versioni utilizzate possiamo dividere l’analisi del traffico
per SNMPv1 e SNMPv2c. Bisogna inoltre distinguere la fase di discovery dalla fase di analisi.
L’analisi di macchine normalmente fornite a noleggio indica il contenuto informativo tipico di ciascuna
macchina tra i 10 e i 250 KB, con un massimo intorno a 1MB. La trasmissione in rete, mediante protocollo
SNMPv1, di queste informazioni corrisponde a qualche migliaio di pacchetti scambiati tra PrintAgent e la
stampante, ciascuno di dimensioni medie 100 byte. La scansione alla massima velocità, che include il tempo
che impiega PrintAgent a decodificare il pacchetto di risposta e preparare la prossima richiesta, impiega in
questi casi tra 10 e 30 secondi, in dipendenza del traffico di rete. Da misurazioni compiute su casi reali,
l’occupazione massima di banda per ciascuna stampante va da 5 a 15 KBps.
Dal momento che PrintAgent esegue al massimo 5 scansioni contemporanee, la banda massima
occupata durante le scansioni di stampanti SNMPv1 è quindi di 75 KBps: sulla banda netta tipica di Ethernet
100BaseT (9MBps) il rallentamento indotto da PrintAgent è inferiore all’1%.
Considerando che la banda viene comunque occupata solamente per il tempo di scansione, che
corrisponde a pochi minuti ogni ora, l’impatto effettivo della scansione sulla rete è trascurabile.
Per le stampanti SNMPv2c PrintAgent effettua richieste di tipo “compatto”, che riempiono in media
500 B di pacchetto UDP: in questo caso le scansioni terminano con qualche centinaio di pacchetti scambiati,
in generale il numero di pacchetti scambiati con SNMPv2c è un decimo di quelli necessari per la stessa
scansione con la versione 1. L’occupazione di banda non varia, poichè la quantità di pacchetti è minore ma
è maggiore la loro dimensione, tuttavia il tempo di scansione è circa la metà di quello necessario con la v1
(il risparmio di bytes si ha per via dell’impacchettamento di più risposte, che risparmia intestazioni).
Anche in questo caso il rallentamento istantaneo indotto da PrintAgent è quindi inferiore all’1%, però
occupa la rete per meno tempo ogni ora, risultando quindi ancor più leggero della scansione SNMPv1.
In caso di problemi con questo funzionamento è comunque possibile introdurre delle attese in
PrintAgent impostando una quantità configurabile di pause di 100 mS ogni 1000 pacchetti inviati (es.
connessione in VPN con latenza percepibile dagli utenti).
Per quanto riguarda il discovery la situazione è articolata: PrintAgent invia in tutto 4 pacchetti verso
ciascun host impostato per l’analisi automatica, con un’ampia pausa di 1 secondo ogni 100 pacchetti, e 20
secondi di pausa tra i primi due round di discovery (il primo SNMPv2c, il secondo SNMPv1) e i secondi due.
Il pacchetto che viene inviato da PrintAgent e il pacchetto eventualmente restituito dal macchinario
interrogato occupano meno di 100 byte ciascuno; per i calcoli si considerano solo inviati da PrintAgent.
L’impegno di rete del discovery si può quindi calcolare facilmente per dei casi reali:
Situazione
192.168.0.1/24
192.168.64.0/22
172.16.0.0/16
Numero di Host
Pacchetti Tempo
254
1’024
10’’
1’023
4’092
40’’
65’536
262’140
40’
La pausa di 1 secondo ogni 100 pacchetti inviati attesta la banda media a 10KBps, con impatto
trascurabile per la rete di riferimento 100BaseT (meno dell’1%). Questa pausa comunque richiede una
attenta configurazione di PrintAgent, per evitare situazioni di scansione automatica in reti grandi (/16 o
peggio, /8) che possono impegnare molto tempo per il discovery quando magari i macchinari multifunzione
da analizzare sono comunque raggruppati in una subnet logica più ristretta.
Korutoa SA Viale S. Franscini,17 6900 Lugano (CH) Tel. +41 (0)91 9118595 Fax. +41 (0)91 9210539
10/12
Traffico generato per SMTP
PrintAgent effettua, per configurazione predefinita, un invio mail ogni 4 ore, solo durante il proprio
orario di lavoro. Questo si traduce in una mail al mattino, una al pomeriggio e una alla sera; le dimensioni
dipendono strettamente dalla quantità di informazioni rese disponibili dalle stampanti.
Misurazioni ottenute da casi reali indicano un contributo medio al peso dell’allegato intorno ai 45 KB
per ciascuna stampante. In una situazione ipotetica di 10 stampanti si tratta quindi di una mail di meno di
500 KB; per 50 stampanti si tratta di una mail di oltre 2 MB di allegato, per 100 stampanti sono circa 5 MB.
Considerando che la mail viene inviata ogni 4 ore il traffico SMTP generato è piuttosto esiguo.
Korutoa SA Viale S. Franscini,17 6900 Lugano (CH) Tel. +41 (0)91 9118595 Fax. +41 (0)91 9210539
11/12
Permessi di esecuzione
PrintAgent si installa come task pianificato, su Windows, con utente SYSTEM; in questo modo non si
pongono problemi nella gestione del log e del file temporaneo, così come problemi di accesso alla rete.
Su linux/osx si raccomanda l’esecuzione come root, se disponibile, per evitare problemi con i permessi
di accesso ai file/directory temporanei e al log.
Durante il test di esecuzione PrintAgent può verificare la correttezza dei permessi per la scrittura del
file temporaneo, in modo da chiarire eventuali dubbi sulla personalizzazione di queste raccomandazioni.
Korutoa SA Viale S. Franscini,17 6900 Lugano (CH) Tel. +41 (0)91 9118595 Fax. +41 (0)91 9210539
12/12