14_Mariadb
PRÉREQUIS : un utilisateur MariaDB dédié en lecture seule
Sur ton serveur MariaDB :
sudo mysql -u root -p
Puis :
CREATE USER 'nagios'@'%' IDENTIFIED BY 'TonMotDePasseNagios';
GRANT SELECT ON ma_base.* TO 'nagios'@'%';
FLUSH PRIVILEGES;
Cet utilisateur ne peut lire que la base ma_base.
SCRIPT NAGIOS : check_mariadb.sh
Créer le fichier :
sudo nano /usr/local/nagios/libexec/check_mariadb.sh
Colle ceci :
#!/bin/bash
HOST="$1"
USER="$2"
PASS="$3"
DB="$4"
MYSQL="/usr/bin/mysql"
# Vérifier que mysql existe
if [ ! -x "$MYSQL" ]; then
echo "CRITICAL - mysql client introuvable"
exit 2
fi
# 1) Vérifier que MariaDB répond
$MYSQL -h "$HOST" -u "$USER" -p"$PASS" -e "SELECT 1;" >/dev/null 2>&1
if [ $? -ne 0 ]; then
echo "CRITICAL - MariaDB ne répond pas"
exit 2
fi
Ensuite il faut le rendre exécutable :
sudo chmod +x /usr/local/nagios/libexec/check_mariadb.sh
TEST MANUEL
Depuis Nagios :
/usr/local/nagios/libexec/check_mariadb.sh 192.168.200.14 nagios "TonMotDePasseNagios" ma_base
OK - MariaDB fonctionne et la base 'ma_base' répond
dans le fichier commands
Dans commands.cfg :
define command{
command_name check_mariadb_custom
command_line /usr/local/nagios/libexec/check_mariadb.sh $HOSTADDRESS$ $ARG1$ $ARG2$ $ARG3$
}
créer un fichier pour l'hote
Dans mariadb.cfg :
define service{
use generic-service
host_name mariadb
service_description MariaDB - ma_base
check_command check_mariadb_custom!nagios!TonMotDePasseNagios!ma_base
}
Reload Nagios :
sudo systemctl reload nagios