• Home
  • Azienda
    • Progetti
    • Certificazioni
    • Lavora con noi
    • Chi Siamo
  • Consulenza
  • Formazione
  • Lavora con noi
  • Blog
  • Contatti
  • Webmail
  • Home
  • Azienda
    • Progetti
    • Certificazioni
    • Lavora con noi
    • Chi Siamo
  • Consulenza
  • Formazione
  • Lavora con noi
  • Blog
  • Contatti
  • Webmail
Category:

Database

Consolidamento di Database

by admin in Database

I processi di consolidamento consentono di ottenere costi di gestione meno elevati, apportare una maggiore semplicità nella gestione dei database e possono inoltre migliorare sensibilmente la qualità dei livelli di servizio.

Un recente sondaggio indipendente ha messo in luce che il consolidamento di database è molto più di un semplice fenomeno passeggero.
L’indagine ha evidenziato che già il 6 % delle imprese ha portato a termine un progetto di consolidamento, mentre quasi la metà ne sta valutando la fattibilità o si trova
nelle fasi iniziali dello stesso.
Di seguito i punti di maggior interesse emersi dall’indagine:

• Oltre il 70 % delle aziende sono coinvolte in progetti di consolidamento di database di un certo livello, ma almeno la metà di queste sono soltanto all’inizio

• Eliminare fornitori specifici non è l’obiettivo finale, ma il passaggio obbligato attraverso il quale si realizza il consolidamento. Le aziende sono intenzionate a ridurre il numero di database, ma lo fanno puntando su alcuni vendor ben precisi

• Il consolidamento dei database si prefigura come una contesa tra due fattori: il raggiungimento di una fondamentale maturità tecnologica da un lato, e gli oneri relativi
alla gestione e i costi dell’IT dall’altro

• Tra le tre grandi aziende fornitrici di database, Oracle è quella che più delle altre si sta imponendo nel mercato del consolidamento

• Alcune aziende sono disposte ad avviare un processo di consolidamento così radicale da rivalutare a fondo la scelta del loro principale fornitore di database, questo è il motivo per cui IBM DB2 sta incontrando più difficoltà a mantenere la propria quota di mercato

I motivi principali per intraprendere un processo di consolidamento:

o Ridurre il TCO (Total Cost of Ownership) – numero di licenze, personale interno, consulenze esterne;

o Migliorare il livello di affidabilità con effetti positivi a livello di SLA;

o Innalzare il livello di sicurezza;

o Migliorare la condivisione dei dati e la fruibilità degli stessi;

o Offrire un miglior supporto per la globalizzazione dei servizi;

o Determinare un miglioramento prestazionale per le applicazioni in uso;

o Offrire la possibilità di centralizzare backup e archiviazioni;

o Incrementare il ROI (Return Of Investments) per una maggior redditività

o In conclusione = ridurre il TCO di oltre il 20 %

Le aziende che hanno intrapreso questo cammino hanno posto in essere un progetto di consolidamento che si basa su un procedimento ben noto e testato suddiviso nelle tre fasi di ricerca informazioni/raccolta dati/ disegno progettuale. Tale procedimento permette di ottenere una chiara tabella di marcia contenente i passi necessari per attuare la migliore strategia di consolidamento con la scelta delle architetture hardware e software più indicate e che preveda i costi realizzativi e i benefici in termini di incremento della redditività.

Autore: Stefano Quercia

Un database per archiviare le Trap

by admin in Database, Infrastruttura, Networklng

TRAPDB

Per poter avere localmente un database che faccia da repository delle trap SNMP provenienti dai dispositivi su cui facciamo monitoraggio, possiamo creare uno schema come quello proposto in questo WP.
Lo schema può facilmente essere interrogato da un applicativo web creato ad hoc, che illustreremo più avanti, in modo da avere una dashboard capace di attingere dal database ed esporre in maniera chiara e dinamica gli allarmi provenienti dal bacino di rete.

SNMP

Il protocollo SNMP permette il monitoraggio completo delle risorse dei sistemi o device di rete che abbiano un ip address e la community SNMP configurata correttamente. I pacchetti SNMP sono spesso già installati sui sistemi, ma qualora non lo fossero, elenco quelli che sono stati usati nell’ambiente descritto:

  • net-snmp-libs-5.3.2.2-9.el5
  • net-snmp-5.3.2.2-9.el5
  • net-snmp-utils-5.3.2.2-9.el5
  • perl-Net-SNMP-5.2.0-1.2.el5.rf

E’ necessario configurare la community affinchè vi sia comunicazione tra sorgente e destinazione, editando il file “/etc/snmp/snmpd.conf ” e compilando i campi relativi alla community:

####
# First, map the community name “public” into a “security name”
# sec.name source community
com2sec notConfigUser default public
rocommunity <yourcommunity>
trapcommunity <yourcommunity>

Restart del servizio:

service snmpd start

Configurare i servizi in modo che questi si avviino automaticamente all’avvio del sistema:

chkconfig –level 23456 snmpd on
chkconfig –level 23456 snmptrapd on

Check della corretta configurazione del servizio SNMP:

snmpwalk -v2c -c <community> <ip address> system

MySQL

MySQL sarà il Database che ospiterà le trap in arrivo dalle varie sorgenti, di seguito i pacchetto utilizzati nella soluzione proposta:

  • mysql-server-5.0.77-4.el5_4.2.x86_64.rpm
  • mx-2.0.6-2.2.2.x86_64.rpm
  • MySQL-python-1.2.1-1.x86_64.rpm
  • zlib-devel-1.2.3-3.x86_64.rpm
  • e2fsprogs-devel-1.39-23.el5.x86_64.rpm
  • keyutils-libs-devel-1.2-1.el5.x86_64.rpm
  • libsepol-devel-1.15.2-3.el5.x86_64.rpm
  • libselinux-devel-1.33.4-5.5.el5.x86_64.rpm
  • krb5-devel-1.6.1-36.el5_4.1.x86_64.rpm
  • openssl-devel-0.9.8e-12.el5_4.6.x86_64.rpm
  • mysql-devel-5.0.77-4.el5_4.2.x86_64.rpm

NOTE: Alcuni di questi pacchetti potrebbero essere già installati sul sistema, quindi fare attenzione alle versioni. Una volta installato il database, si procede con la configurazione per l’avvio automatico dei servizi all’avvio del Sistema:

chkconfig –levels 235 mysqld on

Fare lo start del servizio MySQL:

service mysqld start

Set the password for root user in MySQL:

/usr/bin/mysqladmin -u root password <yourpassword>
/usr/bin/mysqladmin -u root -h <hostname> password <yourpassword>

Connessione al database :

mysql -u root -p

Un volta installato il database, bisogna creare la struttura che ospiterà le trap in arrivo. La configurazione del database che chiameremo “traps” è relativamente semplice in quanto ha una sola tabella chiamata anch’essa “traps” ed è realizzata dallo script in shell, chiamato “createdb” che allegheremo nella prossima WP.

NOTE: Lo script richiede in input i seguenti parametri “dbname”, “dbuser “ e “dbpassword”
(i.e. # ./createdb <db> <user> <password>)
Sincerarsi di avere i privilegi di root.

Lo script creerà il database “traps” come riportato di seguito:

trap1

 

 

 

 

A seguire la tabella “traps” con i relativi campi

trap2

 

 

 

 

Di seguito la descrizione dei campi contenuti in tabella:

  • trap_id, identificativo unico della trap e del relative tempo di ricezione in millisecondi (unix-time format) ;
  • timestamp, rappresenta il tempo di ricezione della trap in human language ;
  • hostname, rappresent l’hostname della sorgente che ha inviato la trap ;
  • ipaddr, , rappresenta l’ip address della sorgente che ha inviato la trap ;
  • sysuti, fornisce il valore di uptime del servizio SNMP (sysUptimeInstance) ;
  • trapent, indentifica il tipo di oggetto che ha generato la trap (TrapEnterprise) ;
  • trapoid, rappresenta la variabile OID che verrà interpretata dal protocollo ;
  • community, rappresenta la community utilizzata per l’invio della relativa trap ;
  • message, contiene il messaggio che descrive l’allarme ;
  • severity, rappresenta la severity dell’allarme (Critical, Major, Warning, Minor, Normal) ;

Per poter intercettare le traps inviate dai vari nodi, è stato creato uno script in perl chiamato “handle.pl” (che allegherò nel prossimo WP) il quale le inserirà poi nel database appena creato.
Il path dello script deve essere configurato nel file di configurazione “/etc/snmp/snmptrapd.conf ”, così come segue:

authCommunity log,execute <community>
traphandle default /usr/bin/perl /<absolute path>/handle.pl

NOTE: Ricordarsi di aver configurato correttamente il “dbname”, “dbuser” e “dbpassword” nella sezione “dbi:mysql” dello script “handle.pl”.

La parte di configurazione lato TRAPDB è terminata, una volta verificata la corretta configurazione SNMP della parte sorgente, si può controllare la corretta ricezione delle traps all’interno della tabella traps del database traps.

 

Autore: Vincenzo Capasso

Il database è lento

by admin in Database, Infrastruttura

Il database è lento.

Penso che chiunque lavori nell’IT, almeno una volta nella vita abbia sentito pronunciare queste parole. Se poi come mestiere fa il DBA allora gli srelational-databasesarà capitato molto ma molto spesso. Ogni volta che le sento penso, il database non può andare lento, non si muove, casomai sarà qualche processo/flusso che risponde lentamente, ma di sicuro non il database che va lento. Altrettanto spesso chi pronuncia quelle parole crede che ci sia un parametro FAST=TRUE con il quale risolvere tutti i problemi. Ovviamente quel parametro, per fortuna, non esiste altrimenti lo metterebbe direttamente a TRUE senza chiedere e non esisterebbero i DBA. Detto questo però, rimane il problema vero o percepito che sia, del quale sappiamo poco o niente e ci viene dato pochissimo tempo per risolvere. In fondo per mettere un parametro a TRUE quanto tempo ci volete mettere? Che fare a questo punto?

C’è un’equazione che riassume tutto il lavoro di un database, con la quale si può avere un’idea di massima delle sue performance e che a me è stata sempre utile ad inquadrare i problemi. Quell’equazione è:

ResponseTime = ServiceTime + WaitTime

Il lavoro di un database può essere misurato come la somma dei tempi di risposta di tutti gli statement (select, insert, create etc…) in un dato periodo di tempo. Il numero che si ricava è il ResponseTime che è uguale alla somma dei tempi di servizio (ServiceTime), ovvero il tempo in cui quello statement e’ eseguito in CPU e dei tempi di attesa (WaitTime), cioè il tempo che quello statement ha atteso una specifica risorsa.

Dunque, se il ResponseTime è simile al periodo di tempo preso in esame, ci potrebbe essere un pricon23Databaseoblema di capacità di calcolo. Se è molto piccolo il database o non fa nulla oppure ha attese elevate per qualche causa specifica. Se la percentuale di WaitTime è molto più alta di quella del ServiceTime, c’è un problema di risorse. Se invece il ServiceTime è piu alto del WaitTime e il ResponseTime è minore del periodo di tempo preso in analisi, il database va bene e se c’è un problema è molto specifico o relativo ad una frazione di tempo inferiore a quella presa in esame. Di solito si usano tempi di raccolta dei dati di circa un’ora, ma mi sono capitati casi in cui sono dovuto scendere fino a 5 minuti per trovare il problema. Si potrebbe continuare con esempi all’infinito, ma va oltre lo scopo di questa discussione. Basta mettere la formula su google per trovare infiniti documenti, quando lo farete valutate sempre bene chi scrive, non tutti dovrebbero poterlo fare, metalink e ask tom sono ottimi punti di partenza.

Oracle fornisce questi dati negli AWR report e li riassume all’inizio nei : Top 5 Wait Events

Capire il significato di questi tre numeri, come confrontarli tra loro oppure paragonarli a quelli collezionati con altri database può essere una base solida da cui far partire un’analisi per il tuning del database. Con il passare del tempo con l’esperienza diranno sempre di più e semplificheranno parecchio la vita laddove in qualche progetto dove sarete appena arrivati, senza alcuna informazione, dovrete dare una qualche risposta al cliente. Ricordate però che è solo un punto di partenza. Fare il tuning di un database è difficile richiede tempo e tanta tantissima esperienza. Per il momento si può cominciare da qui.

Autore: Stefano Compieta

Eventi

aprile

Non ci sono eventi

maggio

Non ci sono eventi

giugno

Non ci sono eventi

luglio

Non ci sono eventi

Tutti i corsi

Sistemistica

a-4Junior Level Linux Professional
a-4Advanced Level Linux Professional

Programmazione

a-4Corso IOS
a-4Corso Android

Database

a-4OCA Oracle Certified Associate

Sicurezza

a-4Hardening

Converger

Soluzioni di eccellenza a supporto delle imprese.
Via degli Alberini 33a, Roma
Tel. (+39) 06 .93575981-2
E-mail: info@converger

Politica per la qualità

Link Utili

  • Lavora con noi
  • Time Sheet
  • Progetti
  • Certificazioni

Articoli recenti

  • Un software per la vita: OCG

  • 13 Mar. 2017 Consolidamento di Database

  • 04 Mar. 2015 Un database per archiviare le Trap

Linkedin Network

Converger Srl - P.IVA 09882161004

Questo sito o gli strumenti terzi da questo utilizzati si avvalgono di cookie necessari al funzionamento e utili alle finalità illustrate nella cookie policy. Se vuoi saperne di più o negare il consenso a tutti o ad alcuni cookie, consulta la Cookie Policy. Chiudendo questo banner, scorrendo questa pagina o proseguendo la navigazione in altra maniera, acconsenti all’uso dei cookie. Accetta