Continuiamo ad esplorare il monitoring e la gestione di prodotti non Microsoft tramite System Center 2012, con un articolo di Daniele Grandini dedicato al monitoring di database Oracle.

Daniele Grandini

Daniele Grandini si occupa di system management per ambienti distribuiti dal 1995. Ha seguito l’evoluzione delle soluzioni di gestione e monitor da piccole aziende con qualche decina di sistemi fino ad aziende con decine di migliaia di stazioni di lavoro e migliaia di server. E’ community lead di UGI SystemCenter e dal 2009 è MVP per System Center Cloud and Datacenter Management. Attualmente progetta soluzioni basate su Microsoft System Center per Progel spa, dove guida un gruppo di lavoro di 10 persone.

L’articolo è diviso in due parti, la prima introduce l’argomento e forninsce le indicazioni necessarie per configurare la connessione OLEDB che useremo per il monitoring.

[Update: trovate la seconda parte dell’articolo a questo link: Monitor di Oracle con System Center 2012 Operations Manager – Configurazione probe OLEDB e avvio monitoring ]


Introduzione

Uno degli errori più comuni nella realizzazione di un sistema di monitor è quello di includere nell’ambito tutta la propria infrastruttura ICT. Sebbene una visione olistica debba essere il fine ultimo di ogni implementazione, cercare di raggiungerlo già nella prima iterazione di progetto ha una serie di implicazioni che spesso conducono al fallimento dei propri sforzi. Raggiungere ogni singolo aspetto della propria infrastruttura ICT non solo può essere tecnicamente difficile (vincoli tecnologici, di sicurezza, politici), ma anche ingestibile in termini di informazioni ritornate che rischiano di essere troppe e senza una relazione diretta con la propria “visione” dei sistemi.

Un approccio certamente più costruttivo e prammatico è quello di dividere l’intervento in più iterazioni cercando di dare priorità e ordine al tutto. Un buon criterio per definire le priorità consiste nel porre al centro dell’attenzione i servizi erogati ai propri utenti. Certamente ogni azienda conosce quali siano gli elementi irrinunciabili del proprio patrimonio ICT, e ogni dipartimento ICT è ben conscio di quali servizi siano necessari a supportare il business aziendale. Non solo i servizi dovrebbero guidare le priorità di implementazione, ma dovrebbero anche indirizzare la scelta dello strumento di monitor.

Dovendo scegliere, è meglio uno strumento che sia in grado di dare risposte in modo semplice per i servizi aziendali più critici, ma che magari non copra tutti gli ambiti degli altri aspetti; o uno strumento che copra tutto, ma non abbia specializzazione per i servizi maggiormente critici?

Personalmente, come il lettore attento avrà già capito, propendo per la prima scelta ovviamente tenendo ben presente che è sempre auspicabile, per ragioni di costi e di controllo dell’evoluzione tecnologica, avere un unico strumento di monitor piuttosto che tanti diversi strumenti da connettere tra loro.

Per chi abbia servizi critici che sfruttano un database Oracle all’interno di un ambiente prevalentemente basato su tecnologie Microsoft la scelta si complica. Se infatti System Center Operations Manager è a ragione considerato uno degli strumenti migliori per il monitor di servizi Microsoft centrici, al contempo non fornisce un modulo nativo (Management Pack) per il monitor di Oracle. Per chi è in questa situazione e voglia evitare il proliferare di strumenti di monitor, esistono però delle soluzioni: è possibile creare un proprio monitor di base partendo dagli strumenti forniti nel prodotto, oppure affidarsi a una terza parte.

Questo articolo si concentrerà sullo sviluppo di un controllo di disponibilità per Oracle utilizzando gli strumenti nativi forniti da Operations Manager. Per ragioni di spazio l’articolo sarà organizzato in due parti: in questa prima parte sarà trattata la predisposizione dell’ambiente per la connettività ad Oracle, nella seconda parte approfondiremo invece la creazione dei controlli in Operations Manager.

Strumenti nativi per il monitor di Oracle

System Center 2012 Operations Manager mette a disposizione due diverse interfacce utili al monitor di Oracle in modalità agentless, ossia senza dover installare nessun modulo software sui sistemi Oracle. Come prima conseguenza i sistemi Oracle possono essere in esecuzione su qualsiasi sistema operativo, anche su quelli non supportati direttamente da Operations Manager. La seconda conseguenza è che l’affidabilità del monitor di Oracle sarà legata anche al sistema o ai sistemi sonda utilizzati per il monitor, ovviamente i sistemi sonda dovranno avere installato l’agente Operations Manager.

Le soluzioni a disposizione nativamente sono OLEDB e SNMP. Tramite OLEDB è possibile verificare la raggiungibilità del listener Oracle (in modo semplice) ed eseguire query di controllo per raggiungere virtualmente ogni aspetto del sistema Oracle (questo è più complesso e richiede lo sviluppo di un Management Pack esternamente alla console Operations Manager). Tramite SNMP, una volta che Oracle è stato configurato per rispondere alle interrogazioni ed eventualmente per inviare trap, è possibile raggiungere tutti gli indicatori messi a disposizione tramite questa interfaccia. L’approccio tramite SNMP richiede però lo sviluppo di un Management pack esternamente alla console Operations Manager. Un buon esempio di quanto sia possibile ottenere tramite questa interfaccia è stato realizzato tramite i moduli xSNMP (http://xsnmp.codeplex.com/), purtroppo questi moduli non possono essere utilizzati in System Center 2012 che ha completamente cambiato lo stack software SNMP. Maggiori informazioni sul supporto SNMP di Oracle possono essere consultati a questo link: http://docs.oracle.com/html/A96672_01/ch1.htm.

Dal momento che non è negli obiettivi di questa guida lo sviluppo di codice, verrà mostrato un esempio di raggiungibilità di Oracle tramite OLEDB.

Usare un OLEDB probe per fare accesso a Oracle

Un OLEDB probe è un modulo Operations Manager che permette di raggiungere con una query un qualsiasi sistema database per il quale sia disponibile un provider OLEDB. Il modulo permette di eseguire una query, di ritornarne i risultati in forma tabellare e di interrogare il tempo di esecuzione della stessa. Il modulo deve essere eseguito su sistemi Windows che funzionano da sonde (watcher) e quindi possono raggiungere qualsiasi altro sistema.

Passi necessari per creare un probe Oracle utilizzando la Operations Console di Operations Manager

  1. Installare sui sistemi sonda l’Oracle OLEDB provider
  2. Configurare la connettività dai sistemi sonda verso le istanze Oracle utilizzando gli strumenti forniti da Oracle
  3. Creare un OLEDB probe in Operations Manager
  4. Definire un account per consentire al probe l’accesso a Oracle

Installare l’Oracle OLEDB provider

Per poter utilizzare un OLEDB probe per verificare la raggiungibilità di un’istanza Oracle è dunque necessario installare, sul o sui sistemi individuati come sonde il provider OLEDB Oracle. Il provider è installato contestualmente all’Oracle client.

Installazione OLEDB Provider

Installazione OLEDB Provider

Attenzione ad installare la versione corretta per i sistemi Oracle che si vogliono supportare e per la piattaforma utilizzata per le sonde: un errore tipico è l’installazione della versione a 32 bit su sistemi operativi a 64 bit.

Configurare la connettività ai sistemi Oracle

Una volta installato l’OLEDB provider dovrete configurare opportunamente il file TNSNAMES.ORA con l’alias dell’istanza Oracle da raggiungere. Le informazioni necessarie sono il nome dell’host Oracle, la porta su cui è in ascolto il listener e il nome del servizio Oracle. Senza questi dati e senza le corrette credenziali non sarete in grado in fare accesso a Oracle.

Hai fini del nostro esempio definiremo un alias ORCL per l’host oracle11.pre.lab.

Esempio di TNSNAMES.ORA

ORCL =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = Oracle11.pre.lab)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = orcl.pre.lab)
    )
  )

La configurazione della connettività Oracle non rientra negli obiettivi di questo documento, prima di procedere con i passaggi successivi accertatevi di essere in grado di connettervi all’istanza Oracle esternamente a Operations Manager. Un buon modo per farlo è usare un file .udl .

Per maggiori informazioni sull’OLEDB provider di oracle fare riferimento a questo articolo: https://blogs.oracle.com/db/entry/master_note_for_oracle_provider_for_ole_db_oraole_db

Nella seconda parte dell’articolo approfondiremo come sfruttare l’OLEDB provider in System Center Operations Manager ai fini di realizzare un controllo di disponibilità per Oracle.

Daniele Grandini

[Update: trovate la seconda parte dell’articolo a questo link: Monitor di Oracle con System Center 2012 Operations Manager – Configurazione probe OLEDB e avvio monitoring ]