Déployer NAGIOS via un script de config

Bonjour à tous,

Pour déployer nagios, sur une VM fedora core Server edition par exemple, il y a tout un tas de tuto disponible sur Internet,

On déploie une VM
on y installe les paquets qui vont bien et on copie colle tout un tas de commande pour créer l’utilisateur nagios lui attribuer les droits, vérifier la configuration Apache …
bref aucun intérêt à passer 30 mn a faire des copier/coller, ce n’est ni stimulant intellectuellement ni passionnant, et éventuellement sources d’erreur  !

Par contre on reprend dans l’ordre ces grandes lignes, on liste les actions à mettre en oeuvre et par un petit travail d’algo on créé un script:

  • sha-bang 😉
  • Mise à jour du système
  • installation des paquets
  • création utilisateur nagios
  • création groupe nagios
  • configuration nagios

Et on continue de détaillé puis on traduit les actions en commandes systèmes

Finalement je me suis inspiré du script disponible ici :

https://www.hiroom2.com/2017/05/24/fedora-25-install-nagios/#sec-2

Et je conserve si le site est offline :

#!/bin/sh

NAGIOS_PASSWD=nagios

sudo dnf install -y nagios nagios-plugins-*

# https://bugzilla.redhat.com/show_bug.cgi?id=1291718
sudo mkdir /var/log/nagios/rw
sudo chown nagios:nagios /var/log/nagios/rw
sudo chmod 700 /var/log/nagios/rw

# Apache2
sudo htpasswd -db /etc/nagios/passwd "nagiosadmin" ${NAGIOS_PASSWD}
sudo systemctl enable httpd
sudo systemctl restart httpd
sudo firewall-cmd --add-service=http --permanent
sudo firewall-cmd --reload

# https://bugzilla.redhat.com/show_bug.cgi?id=1291734
cat <<EOF > nagios-socket.te
module nagios-socket 1.0;
require {
  type nagios_t;
  type nagios_log_t;
  class sock_file { write create unlink };
  class unix_stream_socket connectto;
}
allow nagios_t nagios_log_t:sock_file { write create unlink };
allow nagios_t self:unix_stream_socket connectto;
EOF
checkmodule -M -m -o nagios-socket.mod nagios-socket.te
semodule_package -m nagios-socket.mod -o nagios-socket.pp
sudo semodule -i nagios-socket.pp
rm -f nagios-socket.te nagios-socket.mod nagios-socket.pp

sudo systemctl enable nagios
sudo systemctl restart nagios