Microsoft SQL-Server mit Icinga2 überwachen

07. Januar 2017 · Anwendungen · andreas · Kein Kommentar

Soll ein Microsoft SQL Server (an der Stelle egal, ob Express- oder Vollversion) mit Icinga2 überwacht werden, so stellt der Name des Dienstes eine kleine Hürde dar:

Wird der Name mit “MSSQL$SQLEXPRESS” in der entsprechenden Argumentliste angegeben, so beschwert sich Icinga2 beim Überprüfen der Konfiguration mit

critical/config: Error: Validation failed for object '...' of type 'Service'; Attribute 'vars' -> 'nrpe_remote_arguments': Closing $ not found in macro format string '...!MSSQL$SQLEXPRESS'.

Ein im ersten Reflex eingefügtes Backslash-Zeichen vor dem Dollar-Zeichen löst das Problem nicht, führt aber zu einer neuen Fehlermeldung:

critical/config: Error: Bad escape sequence found: \$

Des Rätsels Lösung bietet - wie so oft RTFM - oder hier RTFAQ, denn dort steht:

How do I properly escape $ in strings
Dollar signs are “strange” in Nagios and has to be escaped using double $$s. Thus in Nagios config you need to put $$.