• 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:

Networklng

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

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