Schlagwort-Archive: Nagios

Einfaches check_mk SMART-Plugin für Synology NAS (DSM 4 und 5)

Auf der Synology (vorher das NAS bootstrappen) :

mkdir -p /usr/lib/check_mk_agent/plugins
nano /usr/lib/check_mk_agent/plugins/smart
#!/opt/bin/bash
echo '<<<smart>>>'
for D in /dev/sda /dev/sdb /dev/sdc /dev/sdd /dev/sde /dev/sdf /dev/sdg /dev/sdh /dev/sdi /dev/sdj; do
    VEND="ATA"
    MODEL=$( /usr/syno/bin/smartctl -a $D | grep -i "device model" | sed -e "s/.*:[ ]*//g" -e "s/\ /_/g")
    if [ "${MODEL}" == "" ]; then
        MODEL=$( /usr/syno/bin/smartctl -a $D | grep -i "product" | sed -e "s/.*:[ ]*//g" -e "s/\ /_/g")
    fi
    SERNO=$( /usr/syno/bin/smartctl -a $D | grep -i "serial number" | sed -e "s/.*:[ ]*//g" -e "s/\ /_/g")
    CMD="/usr/syno/bin/smartctl -d ata -v 9,raw48 -A $D"
    DNAME="${MODEL}_${SERNO}"
    [ -n "$CMD" ] && $CMD | grep Always | egrep -v '^190(.*)Temperature(.*)|188(.*)Command_Timeout(.*)' | sed "s|^|$DNAME $VEND $MODEL |"
done 2>/dev/null
chmod +x /usr/lib/check_mk_agent/plugins/smart

Anschliessend das NAS durch Nagios/check_mk neu inventarisieren lassen.

Synology NAS mit DSM 4/5 und check_mk – so geht’s

Im Beispiel arbeite ich auf einem Synology NAS RS2211RP+. Einloggen mit SSH, dann das Synology NAS bootstrappen:

cd /tmp
wget http://ipkg.nslu2-linux.org/feeds/optware/syno-i686/cross/stable/syno-i686-bootstrap_1.2-7_i686.xsh

Obiger Link gilt für alle Synology mit Atom-Prozessor. Start der Installation:

sh syno-i686-bootstrap_1.2-7_i686.xsh
/opt/bin/ipkg update

Erstmal u.a. nano installieren:

/opt/bin/ipkg install module-init-tools openssl bash nano mlocate

Nano starten:

/opt/bin/nano /root/.profile
=> PATH ergänzen um /opt/bin:/opt/sbin
source /root/.profile

Jetzt kann der check_mk-Agent auf dem NAS installiert werden. Am besten kopiert man ihn vom Nagios-Server per SCP:

scp /opt/omd/versions/default/share/check_mk/agents/check_mk_agent.linux root@synology:/opt/bin/check_mk_agent

Weiter auf dem Synology NAS:

ipkg install xinetd
nano /opt/etc/xinetd.conf
service check_mk
{
  type = UNLISTED
  port = 6556
  socket_type = stream
  protocol = tcp
  wait = no
  user = root
  server = /opt/bin/check_mk_agent
  log_on_success =
  disable = no
}
nano /opt/etc/xinetd.d/check_mk
user=root
server=/opt/bin/check_mk_agent
nano /opt/bin/check_mk_agent
=> "/bin/bash" in "/opt/bin/bash" ändern
=> "df -PTlk $excludefs | sed 1d" in "df -Pk | sed 1d | sed 's/ / nas /'" ändern
nano /etc/services
check_mk 6556/tcp # check_mk agent

Test der Installation:

/opt/sbin/xinetd -d

Start des Agents:

/opt/etc/init.d/S10xinetd
ps | grep -i xinetd

Test des Agents:

check_mk_agent

Jetzt lässt sich das Synology-NAS per Inventarisierung hinzufügen.