Username: Password:

MySQL Monitoring Linux (dettagli)

Il monitoring del servizio MySQL per sistemi operativi Linux si basa sulla lettura delle variabili interne tramite il comando mysqladmin con opzione extended-status.
Le variabili presenti nel template standard sono:

  • Connessioni al secondo | var: Connections
  • Connessioni utilizzate (MAX) | var: Max_used_connections
  • Connessioni disponibili (MAX) | var: Max_connections
  • Dati inviati/ricevuti | var: Bytes_received/Bytes_sent
  • Numero di select, delete, insert e update effettuate | var: com_select, com_insert, com_update, com_delete
  • Num. di processi MySQL
  • Num. threads | var: Threads_connected
  • Query al secondo | var: Queries
  • Dimensione della cache | var: query_cache_size
  • Memoria della cache libera | var: Qcache_free_memory
  • Query inserite nella cache | var: Qcache_inserts
  • Query non inserite nella cache | var: Qcache_not_cached
  • Query non inserite nella cache | var: Qcache_hits
  • Query lente | var: Slow_queries
  • Select join senza indici | var: select_full_join
  • Tabelle lette interamente dal disco | var: select_scan
  • Tabelle aperte attualmente | var: open_table
  • Tabelle aperte dall'ultimo riavvio | var: opened_table
  • Tabelle temporanee | var: Created_tmp_disk_tables
  • Tempo di attività | var: Uptime

Controlli inseriti:

  • Hit rate delle query dalla cache, quante query vengono recuperate dalla cache (segnalazione se minore del 10% o 20%)
  • Hit rate delle tabelle dalla cache, quante tabelle vengono recuperate dalla cache (segnalazione se minore del 10% o 20%)
  • Select full join e select scan maggiori dell'1% delle query totali (è consigliato rivedere gli indici)
  • Query lente nell'esecuzione (default più di 10 secondi) maggiori dell'1%
  • Rapporto tra query prese dalla cache e inserite minore del 50% (probabilmente si stanno inserendo nella cache query non ottimizzate)

Grafici disponibili:

  • Connessioni al server MySQL
  • Query al secondo
  • Rapporto tra select, insert, update e delete
  • Traffico di rete da e verso il server MySQL
  • Utilizzo della cache, rapporto tra insert e hit rate

I grafici sono molto importanti per capire all'interno della giornata o in che intervalli le performance subiscono cambiamenti.

Se desiderate monitorare nel dettaglio variabili non presenti nel template standard è possibile creare un modello personalizzato dal menu gestione con le variabili messe a disposizione dalla vostra versione MySQL server status variables

Dopo aver installato l'agent con lo script per Linux è necessario editare il file:

/etc/zabbix/zabbix_agent.userparams.conf con il comando:

nano /etc/zabbix/zabbix_agent.userparams.conf

e modificare la stringa mypassword con la vostra password.

UserParameter=mysql[*],mysqladmin -uroot -pmypassword extended-status | grep $1 -m1 | cut -d '|' -f3 | sed 's/^[ \t]*//'

esempio se la vostra password fosse pippo la stringa sarebbe:

UserParameter=mysql[*],mysqladmin -uroot -ppippo extended-status | grep $1 -m1 | cut -d '|' -f3 | sed 's/^[ \t]*//'

I template standard presentano un numero limitato di parametri per evitare di sovracaricare inutilmente i dispositivi, nel caso di esigenze particolari è possibile contattare support@zetamonitor.com per una configurazione personalizzata.

Fonti utilizzate per la creazione del template:
http://www.cpanel.net/videos/mysql-optimization/
http://www.techrepublic.com/article/understanding-the-performance-statis...
http://forge.mysql.com/wiki/Top10SQLPerformanceTips
http://www.mysqlperformanceblog.com/2006/07/27/mysql-query-cache/