Sette opp nagios med check_by_ssh

  1. Se til at sitesummary er installert og konfigurert. (Settes opp med https://www.nuug.no/tools/server-setup)

  2. Sett opp ssh-nøkler slik at brukeren nagios på tjener kan logge på som brukeren nagios på boksen som skal overvåkes.
    1. På boksen som skal overvåkes
      1. chsh -s /bin/bash nagios
      2. su - nagios /bin/bash -c 'mkdir .ssh;chmod 700 .ssh;echo "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC+n+UBVGcMnMv4EmRFUxyrDZB4z9Z/XAKBdeCmyYS8r6wPa7TUfd3NS4N7FF1vrn4ov7b1meDilkH9UVobf1rEgwnJkmJft3o7RsKJmYjcFrHy/XprE7RSSUmhDad1wUqpvM3ngVUQFpFNqvYhLPSUMFtALNaLI3rMMJb64K0q7oA8zR2p9j9UbWqr1snJXJy3Kr3276czJJObbvlRYa3XK6E+bUQ3hjN0JWWkMktUAcEKzHoLv1kFB7qkNNl/GjSE1KCr6BpgrvP5KrS5xg37JfQza9GZ2vjp/+DFofIJGoMZ3naNqPDtxyv6qoy5o99/bDyC3pa+60QvUlyUEuSeR nagios@tjener.intern" > .ssh/authorized_keys;chmod 600 .ssh/authorized_keys'

    2. På tjener
      1. nagios@tjener:~$ /usr/lib/nagios/plugins/check_by_ssh -H <HOST>.nuug.no -C uptime
        The authenticity of host '<HOST>.nuug.no (158.36.191.226)' can't be established.
        ECDSA key fingerprint is d1:b8:ef:6d:13:dc:c2:bb:8c:2f:4d:ad:1d:5c:a4:61.
        Are you sure you want to continue connecting (yes/no)? yes

  3. Legg til dette scriptet som /var/lib/nagios/bin/nagios-cmd.sh og gjør det kjørbart.

  4. Legg til hostnavnet i listen over ssh-hosts i /etc/sitesummary/sitesummary-nodes-override på tjener.

Etter å ha gjort dette vil nagios begynne å bruke ssh for å sjekke denne tjeneren etter konfigurasjonen har blitt generert på nytt. For å slippe å vente på at konfigurasjonen blir generert på nytt kjør /etc/cron.daily/sitesummary.

Hvordan det fungerer

For å få sitesummary til å fungere med check_by_ssh har man brukt denne patchen/usr/sbin/sitesummary-nodes. For å slippe unna med færrest mulig endringer i sitesummary har man valg å ha et script for å kjøre kommandoene på klienten, kalt /var/lib/nagios/bin/nagios-cmd.sh (~nagios/bin/nagios-cmd.sh på debian). Selve check_by_ssh kommandoen er definert i /etc/nagios3/nuug-manual-commands.cfg på følgende måte:

define command{
    command_name        check_by_ssh
    command_line        /usr/lib/nagios/plugins/check_by_ssh -H $HOSTADDRESS$ -C "/var/lib/nagios/bin/nagios-cmd.sh $ARG1$"
}