|
Phalanx Framework - uno strumento innovativo per la diagnosi, la sicurezza ed il monitoraggio dei sistemi
|
Phalanx e' un prodotto particolare che nasce prima di tutto come "coltellino svizzero" ad uso interno,
per agevolare le nostre attivita' consulenziali e diagnostiche presso i clienti.
DA DOVE ARRIVA
Phalanx raccoglie esperienze di decenni di programmazione di sistema, di attivita' diagnostiche in aziende di grandi dimensioni,
di sicurezza e di monitoraggio.
Tutto cio' (ed altro ancora) e' stato incorporato in un framework software, un sofisticato insieme di diverse componenti diagnostiche
utilizzabili per le attivita' di diagnosi presso i nostri clienti, oltre che per erogare una serie articolata di servizi di diagnosi online.
Quando ne abbiamo iniziato lo sviluppo, siamo partiti dalla semplice constatazione
che sul mercato esistevano molti prodotti distinti di diagnosi o di sicurezza o di monitoraggio,
dei quali abbiamo notato aspetti di inaffidabilita' e/o precisione
o sui quali abbiamo notato l'assenza di determinate funzioni diagnostiche a nostra esperienza indispensabili
per permettere diagnosi efficaci di determinate componenti.
I vari prodotti commerciali che abbiamo utilizzato, peraltro, essendo specializzati per un singolo compito,
non agevolavano la sintesi dei dati o la correlazione tra elementi diagnostici di diversa tipologia o provenienza.
Limiti consistenti per una azione diagnostica spesso riguardante strutture complesse e problematiche
causate da complesse interrelazioni tra elementi diversi dei sistemi.
COSA MISURA
Phalanx e' in grado di svolgere molte rilevazioni diagnostiche eterogenee, sia di tipo sistemistico che comunicativo o applicativo.
Vediamo una lista sintetica per gruppi funzionali di alcune delle rilevazioni effettuate:
NETWORKING (rilevazione svolte dal NOC)
- Tempi di risposta base di rete - tempistica delle comunicazioni ARP tra tutte le interfaccie di rete
- Tempi di risposta ICMP - rilevazione del tempo di risposta ICMP delle varie interfaccie
- Tempi di risposta di rete - per vari protocolli abitualmente utilizzati (tcp,udp, icmp, servizi generali di rete quali http,dns, etc)
- Tempi di risposta effettivi - Misura del tempo di risposta comunicativo di rete tra le diverse interfaccie (rilevazioni eseguite tramite sniffer DigitalExpert)
- Tempi di risposta pc-to-gateway - Misura del tempo di risposta comunicativo di rete tra il singolo computer ed il suo gateway, cioe' "tempo di canale")
- Inventario di rete (passivo ed attivo) - Lista degli oggetti presenti in rete locale e relative comunicazioni ed interrelazioni (da sniffer e da sonde)
SISTEMI (rilevazione svolte dall'agente Phalanx e relativi plugins)
- Capacita' elaborativa del processore - (tramite benchmark applicativi)
- Velocita' allocazione memoria - (tramite benchmark sistemistico, parametro importante per avere un quadro delle prestazioni effettive del sistema)
- Velocita' dischi - (tramite benchmark sistemistico)
- Tempi di risposta di rete - Benchmark comunicativo
- Tempi di risposta del servizio DNS - Benchmark comunicativo
- Applicazioni attive - Rilevazione in tempo reale dei processi attivi istante per istante (fino al software metering)
- Connessioni attive - Rilevazione in tempo reale delle connessioni attive tra il singolo computer ed il resto del mondo (indirizzi locali e pubblici)
- Inventario hardware - Lista delle principali componenti hardware del computer o ad esso collegate fisicamente/logicamente
- Inventario stampanti - Lista delle stampanti disponibili fisicamente sul sistema
- Inventario software - Lista delle applicazioni installate, patches, driver, etc
- Stratigrafia software attivo - Lista delle applicazioni attive e di tutte le DLL da esse utilizzate
Le rilevazioni prestazionali raccolte dagli agenti ed inviate al NOC,
permettono di comporre un report molto particolare e utile, il Performance Report.
Si tratta di un pannello in cui vengono sintetizzati alcuni parametri prestazionali significativi
che permettono di apprezzare in tempo reale lo stato prestazionale delle principali componenti dell'infrastruttura,
dando immediata ed evidente idea della situazione prestazionale dei sistemi monitorati.
DOVE VA
Phalanx oggi, utilizzato all'interno di un'azienda in cui esistono problematiche funzionali o architetturali di difficile identificazione,
permette di evidenziare aspetti di sofferenza hardware, software o comunicativa.
Il prodotto e' costantemente aggiornato in base alle esperienze diagnostiche svolte dai vari clienti.
Non e' raro che determinate attivita' di sviluppo avvengano in corso d'opera per affrontare uno specifico problema mai
osservato in precedenza da altri clienti o per migliorarne la qualita' di misura.
Gran parte dei sensori Phalanx non sono nati a tavolino ma sul campo. A tavolino e' stata fatta una attenta valutazione
delle necessita' dello strumento e di coordinamento delle diverse misure!
Nei documenti relativi alla diagnosi troverete una descrizione degli usi tipici di questo prodotto.
La filosofia delle misure in Phalanx - un esempio pratico |
Phalanx utilizza sonde prestazionali che danno indicazioni utili e congruenti alle percezioni lato utente.
Giusto per dare un esempio concreto della filosofia con cui vengono realizzate le sonde di Phalanx,
ragioniamo su un classico problema e relativo strumento di misura: computer lento e misura del carico del processore.
E' evidenza comune che, a fronte di problemi di rallentamento questo indicatore (ad esempio quello del task manager di Windows)
possa dare valori contraddittori, con le seguenti combinazioni:
- processore utilizzato "al 100%" e sistema decentemente "snello"
- processore "scarico" al 2% e computer pesantemente rallentato
Questo fatto apparentemente incongruente ha le sue spiegazioni tecniche ma, in soldoni, questa circostanza rende il "sensore" in questione
di inutile consultazione per sapere se il sistema e' appesantito o snello!
Per questo motivo, abbiamo ritenuto poco significativo utilizzare questo tipo di sensore per valutare lo stato prestazionale dei sistemi.
Abbiamo invece scritto una sonda che simula le attivita' di un programma generico e l'abbiamo fatta misurare con precisione
il tempo necessario ad eseguire un certo compito predeterminato.
In questo modo abbiamo realizzato un sensore effettivamente in grado di indicarci con precisione se il sistema e' ingorgato
o se a capacita' di elaborazione sufficienti.
Tutte le misure prestazionali in Phalanx sono implementate con questa filosofia, in modo da non avere solo numeri ma indicazioni
congruenti con la realta'.
|
|
|
|