MySQL Enterprise Monitor

MySQL Enterprise Monitor e' un ambiente di controllo e monitoraggio per i database MySQL. Si tratta di un prodotto commerciale e che richiede quindi l'acquisto di una licenza da MySQL AB ma fornisce funzionalita' aggiuntive rispetto ad altri strumenti distribuiti con licenza Open Source.
Il monitor fornisce una semplice ma ricca interfaccia grafica ai DBA con lo stato di tutti i database MySQL monitorati. La dashboard, che e' altamente personalizzabile, presenta i grafici dei principali parametri prestazionali e di utilizzo del sistema, una tabella riassuntiva con stato di ogni server ed il sommario di tutti gli eventi occorsi, ...
Le funzionalita' dell'Enterprise Monitor sono molte ma particolarmente semplice ed utile e' la generazione di grafici sui valori di sistema. Piu' complessi, ma in compenso molto sofisticati, sono gli Advisor che controllano i parametri di configurazione delle basi dati e l'utilizzo dei sistemi per consigliare le configurazioni ottimali.

Dal punto di vista architetturale il Monitor e' un'applicazione Java che utilizza un Tomcat ed un DB (ovviamente MySQL :-) come supporto. Il Monitor realizza un'interfaccia utente chiamata Dashboard, permette la configurazione degli allarmi e dei controlli e riceve le informazioni dagli Agent.
I Service Agent, installati su ogni server che ospita istanze MySQL, inviano al Monitor lo stato del DB e tutte le informazioni sulle attivita' correnti. Gli agent sono eseguibili realizzati in C e dialogano con il monitor in SOA (in pratica scambiano messaggi XML con il monitor utilizzando la porta su cui Tomcat dialoga in HTTP con gli utenti).
Il monitor e' automaticamente aggiornato ed e' altamente personalizzabile. Tra i componenti parametrizzabili piu' interessanti vi sono gli Advisor. Gli Advisor controllano la presenza di specifiche condizioni sulla base dati ed utilizzano un'intelligenza nella loro analisi determinando le cause di eventuali problemi ed indicando le corrette operative per risolverli. Oltre agli advisor e' possibile definire regole, utenti, notifiche automatiche, ...
Tutti i dati raccolti dal Monitor vengono salvati su una base dati che consente la generazione di statistiche. Naturalmente si tratta di una base dati MySQL... La BASEDIR e' install_dir/enterprise/monitor/mysql, l'utente principale e' service_manager (la cui password viene impostata durante l'installazione), la porta utilizzata e' la 13306, il database e' chiamato mem e contiene una sessantina di tabelle InnoDB. La dimensione dipende dalla politica di ritenzione e dal numero di server MySQL, come indicazione si puo' dare 1GB a server (basta ed avanza).

Nel seguito sono riportate informazioni di maggior dettaglio su utilizzo, amministrazione, installazione, configurazioni complesse, ...
Questo documento e' stato preparato utilizzando la versione 1.2 di MySQL Enterprise Monitor con server MySQL 5.0.32-E/5.0.45-E su Linux Red Hat AS 4 (Update 4) ma e', mutatis mutandis, valido anche per le altre versioni ed ambienti. Lo scopo di questa pagina e' quella di introdurre le funzionalita' e caratteristiche di MySQL Enterprise Monitor, maggiori dettagli su MySQL si possono trovare su questo documento o sul ricchissimo sito ufficiale MySQL (quest'ultimo ovviamente in inglese).

Utilizzo

L'utilizzo della MySQL dashboard e' molto semplice... prooova!

Come molte GUI e' molto piu' facile da utilizzare che da spiegare a parole. Basta collegarsi con un browser all'indirizzo: http://MonitorServer:18080/merlin/Monitor.action ed disporre di una user/password.
Semplicemente cliccando sui diversi tab vengono visualizzati grafici, regole, eventi, ... e si accede ai form di configurazione.

Tutti i dati raccolti dal Monitor vengono salvati su una base dati che consente la generazione di statistiche. Attenzione: nella configurazione di default, i dati statistici non vengono mai cancellati!
Particolarmente semplice ed utile e' la generazione di grafici sui valori di sistema. Naturalmente i grafici possono riguardare la situazione dell'ultima ora, come tipicamente riportato nella Home Page, o un qualsiasi intervallo di tempo.

Gli Advisor vengono eseguiti ad intervalli periodici su tutte le basi dati. Tutti gli eventi occorsi vengono registrati ed e' quindi molto semplice effettuare analisi ed approfondimenti a fronte di problemi.

Amministrazione

L'amministrazione e' molto semplice. L'unica operativa prevista e' quella di attivare/disattivare agenti e monitor.
La procedura di installazione crea gli script mysql-enterprise-monitor e mysql-service-agent nella directory /etc/init.d che e' possibile lanciare con i parametri [start|stop|status]. Ad esempio:

# /etc/init.d/mysql-service-agent status 
MySQL Enterprise agent is running

Analogamente possono essere attivato, disattivato e controllato il Monitor.

Installazione

Su Linux l'installazione e' semplice ed utilizza procedure di installazione binarie che possono essere eseguite in modalita' testuale o grafica. E' sufficiente scaricare gli eseguibili corretti dal sito MySQL. In una configurazione tipica sono necessari un Enterprise Monitor, da installare sul server utilizzato per i controlli, e tanti Service Agent quanti sono i sistemi su cui sono installati i server MySQL. E' inoltre possibile scaricare direttamente sul server che ospita il Monitor gli script di Advisor relativi al tipo di supporto scelto (eg. Gold) e la chiave d'attivazione.
FileDescrizione
mysqlmonitor-version.binMySQL Enterprise Monitor
mysqlserviceagente-version.binService Agent
AdvisorScript-Support_level-version.jarScript di Advisor
mysql_monitoring_service.key.txtChiave di attivazione del prodotto

Scaricato il software, per effettuare l'installazione basta lanciare l'eseguibile e rispondere ad alcune semplici domande su dove installare il SW e quali porte utilizzare (i default vanno bene nella maggior parte dei casi):

[root@saturn tmp]# ./mysqlmonitor-1.2.0.7879-linux-x86-installer.bin
----------------------------------------------------------------------------
Welcome to the setup wizard for the MySQL Enterprise Monitor
----------------------------------------------------------------------------
Please specify the directory where the MySQL Enterprise Monitor will be installed
Installation directory [/opt/mysql/enterprise/monitor]:
----------------------------------------------------------------------------
Tomcat Server Options
Please specify the following parameters for the bundled Tomcat Server
Tomcat Server Port [18080]:
Tomcat Shutdown Port [18005]:
Tomcat SSL Port [18443]:
----------------------------------------------------------------------------
Repository Configuration
Please specify the following parameters for the bundled MySQL server
Repository Username  [service_manager]:
Password : ******
Re-enter : ******
Bundled MySQL Database Port [13306]:
----------------------------------------------------------------------------
Configuration Report
...
Press [Enter] to continue :
----------------------------------------------------------------------------
Setup is now ready to install MySQL Enterprise Monitor on your computer.
Do you want to continue? [Y/n]: 
----------------------------------------------------------------------------
Please wait while Setup installs MySQL Enterprise Monitor on your computer.
 Installing
 0% ______________ 50% ______________ 100%
 #########################################
----------------------------------------------------------------------------
Completed installing files
...
Info: To configure the MySQL Enterprise Monitor please visit the following page:
http://localhost:18080/merlin/Auth.action
Press [Enter] to continue :

Terminata l'installazione con un browser ci si collega all'indirizzo indicato e si compilano le ultime informazioni necessarie all'attivazione del server (si puo' fare anche una connessione da remoto sostituendo localhost con il nome del server) :

In pochi minuti anche l'attivazione e' conclusa, i servizi attivi (DB e Tomcat) e MySQL Monitor e' in grado di raccogliere le informazioni dagli Agent.

Per installare l'Agent la procedura e' analoga. In questo caso andranno indicati gli estremi del database da controllare e del Monitor appena configurato:

[root@titan tmp]# ./mysqlserviceagent-1.2.0.7879-linux-x86-glibc2.3-installer.bin
----------------------------------------------------------------------------
Welcome to the MySQL Enterprise Service Agent Setup Wizard.
----------------------------------------------------------------------------
Please specify the directory where MySQL Enterprise Service Agent will be installed
Installation directory [/opt/mysql/enterprise/agent]:
----------------------------------------------------------------------------
Monitored Database Information
MySQL hostname or IP address [127.0.0.1]: 
Validate MySQL hostname or IP address [Y/n]:
Hostname to display []: titan
MySQL Port [3306]: 
MySQL Username []: root
MySQL Password : ******
Re-enter : ******
----------------------------------------------------------------------------
MySQL Enterprise Monitor Options
Hostname or IP address []: saturn.xenialab.it
Port [18080]:
Agent Username [agent]:
Agent Password : ******
Re-enter : ******
----------------------------------------------------------------------------
Configuration Report
...
Press [Enter] to continue :
----------------------------------------------------------------------------
Setup is now ready to begin installing MySQL Enterprise Service Agent on your computer.
Do you want to continue? [Y/n]:
----------------------------------------------------------------------------
Please wait while Setup installs MySQL Enterprise Service Agent on your computer.
 Installing
 0% ______________ 50% ______________ 100%
 #########################################
----------------------------------------------------------------------------
Start MySQL Enterprise Service Agent
Info to start MySQL Enterprise Service Agent
The MySQL Service Agent was successfully installed. To start the MySQL Agent please invoke:
/mydata1/agent/etc/init.d/mysql-service-agent start
Press [Enter] to continue :
----------------------------------------------------------------------------
Setup has finished installing MySQL Enterprise Service Agent on your computer.

Lanciato l'Agent con il comando indicato questo diventera' immediatamente presente sulla dashboard del monitor ed iniziera' ad inviare dati sulle prestazioni e sull'utilizzo della base dati.

Configurazioni particolari

Sono possibili alcune installazioni particolari... nessuna tuttavia e' complessa. Nel seguito sono riportati alcuni casi piuttosto comuni quali la presenza di piu' server MySQL sullo stesso sistema e l'utilizzo di servizi in cluster.

Configurazione di piu' server MySQL

Nel caso in cui siano presenti piu' server MySQL ospitati sullo stesso sistema non e' necessario installare piu' agenti. E' necessaria una sola installazione e la configurazione manuale dei server.

Altro

Utilizzando configurazioni analoghe e' possibile porre sotto monitor tutti i server MySQL di interesse. MySQL Monitor opera correttamente con le diverse versioni MySQL sia Enterprise che Community, sia in locale che in remoto... attenzione solo ad usare correttamente le licenze! Il numero di host su cui e' possibile installare gli agent e' definito dalla licenza.

Enterprise Monitor 2

La nuova versione di EM introduce ulteriori controlli sulle basi dati e consente l'analisi delle query attive. Per disporre dei dati delle query e' necessario utilizzare il proxy oppure configurare in modo opportuno i connettori JDBC.

La versione 2 di EM consente una gestione completa anche dei servizi DB in un failover cluster. Per una corretta configurazione e' necessario definire in modo univoco il parametro agent-host-id nel file .../enterprise/agent/etcmysql-monitor-agent.ini La tabella mysql.inventory va eventualmente troncata da eventuali contenuti.

Quando si utilizzano cluster Active-Passive la configurazione degli Agent e del Monitor e' analoga a quella gia' vista, tenendo pero' in conto che va utilizzato il nome del servizio e non il nome del server. Naturalmente gli script di attivazione dovranno essere poi lanciati all'avvio del servizio e non al bootstrap del sistema.


Testo: MySQL Enterprise Monitor
Data: 1 Novembre 2007
Versione: 1.0.4 - 14 Febbraio 2011
Autore: mail@meo.bogliolo.name