Monitoraggio di MySQL con Nagios

From RVM Wiki
Jump to navigation Jump to search
  • Verificare la home directory dell'utente nagios, ed eventualmente crearla. ATTENZIONE: VERIFICARE LA CORRETTEZZA DELLA HOME NEI COMANDI SEGUENTI !
cat /etc/passwd| grep nagios| cut -f 6 --delimiter=:
/var/lib/nagios


sudo mkdir -p /var/lib/nagios

  • Creare il file di configurazione contenente la password dell'utente mysql che si vorrà usare:
sudoedit /var/lib/nagios/.my.cnf
[client]
user=nagioschk
password=secretPassword
  • Sistemare le permission:
sudo chmod 640 /var/lib/nagios/.my.cnf
sudo chown -R nagios:nagios /var/lib/nagios/
  • Creare l'utente in mysql
mysql -u root -p -e "CREATE USER 'nagioschk'@'localhost' IDENTIFIED BY 'secretPassword'"
  • Verificare che l'utente unix nagios usi le credenziali salvate:
sudo -u nagios mysql -e "SELECT 'OK' AS Result;"
+--------+
| Result |
+--------+
| OK     | 
+--------+
  • Testare il plugin nagios:
sudo -u nagios /usr/lib/nagios/plugins/check_mysql -H 127.0.0.1
Uptime: 2156857  Threads: 12  Questions: 15095554  Slow queries: 10  Opens: 2800  Flush tables: 1  Open tables: 64  Queries per second avg: 6.999
  • Avendo creato l'utente con accesso solo a localhost, definiamo il comando che useremo nei check:
sudoedit /etc/nagios3/conf.d/00_common_commands.cfg 
# 'check_mysql_local' command definition
define command{
    command_name    check_mysql_local
    command_line    /usr/lib/nagios/plugins/check_mysql -H 127.0.0.1
}
  • Nel caso questo non funzioni (DEBIAN JESSIE), occorre specificare a mano il file di configurazione di mysql-client nel check con l'opzione -f :
/usr/lib/nagios/plugins/check_mysql -H 127.0.0.1 -f /var/lib/nagios/.my.cnf
  • In caso si utilizzi NRPE, è necessario definire la variabile HOMe nel file dei defaults, altrimenti nrpe non troverà .mycnf
sudoedit /etc/default/nagios-nrpe-server 
HOME="/var/lib/nagios"
  • Importante: restart, non reload di nrpe:
sudo invoke-rc.d nagios-nrpe-server start
  • Idem nel caso di utilizzo come controllo nagios diretto:
sudoedit /etc/default/nagios3 
HOME="/var/lib/nagios"
  • Importante: restart, non reload di nagios3:
 sudo invoke-rc.d nagios3 restart
  • Se non si fa una di queste due cose, si riceverà l'errore (evidentemente non trova ne user ne password del my.cnf, perchè non ha settato la $HOME, ed usa dei defaults ignoti):
Access denied for user 'nagios'@'localhost' (using password: NO) 


Riferimenti

http://t17485.network-nagios-plugins-development.nagiostalk.info/check-mysql-should-support-a-command-line-optionfor-a-mysql-defaults-file-t17485.html#25755