SYNOLOGY NAS mit ICINGA2 überwachen

Ein SYNOLOGY NAS mit ICINGA2 überwachen erfordert nicht unbedingt ein gesondertes Plugin, da die Systeme auch ohne Probleme direkt via SNMP überwacht werden können. Fertige Plugins haben allerdings den Vorteil, dass sie schneller zum Einrichten und zum anderen übersichtlicher sind.

Bis vor kurzem habe ich immer mit dem Plugin check_synology gearbeitet. Allerdings hatte das bei mir unter verschiedenen Systemen immer mal wieder zu aussetzern geführt. Aus diesem Grund habe ich mich vor ein paar Tagen auf die Suche nach einem neuen CheckPlugins gemacht und bin natürlich fündig geworden.

SYNOLOGY NAS MIT ICINGA2 ÜBERWACHEN

check_synology.py funktioniert ausschließlich mit SNMPv3, bietet also noch mehr Sicherheit als lediglich über SNMPv2 oder gar v1.

Nach dem herunterladen des Plugins und einfügen des CheckCommands (Pluginersteller liefert das glücklicherweise mit), kann man schon anfangen die Service Checks zu schreiben. Meine sehen derzeit so aus:

apply Service "syno-load" {
  check_command = "check_synology"

  vars.synology_mode = "load"
  vars.synology_host = "$address$"

  vars.synology_warning = "$synology_load_w$"
  vars.synology_critical = "$synology_load_c$"

  assign where host.vars.os_type == "DSM"
}

apply Service "syno-memory" {
  check_command = "check_synology"

  vars.synology_mode = "memory"
  vars.synology_host = "$address$"

  vars.synology_warning = "$synology_load_w$"
  vars.synology_critical = "$synology_load_c$"

  assign where host.vars.os_type == "DSM"
}

apply Service "syno-status" {
  check_command = "check_synology"

  vars.synology_mode = "status"
  vars.synology_host = "$address$"

  vars.synology_warning = "$synology_load_w$"
  vars.synology_critical = "$synology_load_c$"

  assign where host.vars.os_type == "DSM"
}

apply Service "syno-disks" {
  check_command = "check_synology"

  vars.synology_mode = "disk"
  vars.synology_host = "$address$"

  vars.synology_warning = "$synology_load_w$"
  vars.synology_critical = "$synology_load_c$"

  assign where host.vars.os_type == "DSM"
}

Anschließend noch die Host Definition

object Host "synology.int.casalani.de" {
  check_command = "hostalive"
  address = "10.0.1.21"
  vars.os_type = "DSM"

  vars.synology_snmp_user = "icinga2"
  vars.synology_snmp_authkey = "strenggeheim"
  vars.synology_snmp_privkey = "strenggeheim"
}

Anschließend noch die config validieren und ICINGA2 neu laden. In ICINGA Web 2 sieht es dann so aus:

Nach jetzt mehreren Tagen Test, kann ich sagen, dass das Plugin hervorragend funktioniert. Entsprechend meine Weiterempfehlung.

1 Kommentare

  1. Christian Ullmann

    Hallo Christian,

    interessanter Artikel, aber für mich leider nicht ganz nachvollziehbar, ich habe check_synology -h zum laufen gebracht auf centos und auch pysnmp installiert.
    Auch habe ich auf der Synology 916+ snmpv3 mit user und passwort komfiguriert.

    Was mir nun noch fehlt, wo ich schon einige Zeit herum suche und den Zusammenhang nicht herstellen kann ist synology_snmp_authkey und synology_snmp_privkey, wo bekomme ich diese her?

    Vielen Dank vorweg für jegliche Unterstützung,
    ciao Chris

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.