Zabbix Geomaps

Die Geomap Funktion im Zabbix ist ein recht neues Widget-Feature für die Dashboards die man so einrichten kann.
Hierbei lassen sich Objekte via Längen- und Breitengrad, auf einer Karte anzeigen.

Probleme mit den Maps

Bei der ersten Verwendung dieses Widgets hatte ich jedoch einige Probleme, denn irgendwie wollte die Karte nicht so richtig gut aussehen, ich hatte seltsame Fragmentbildung. Auf anderen neuen Zabbixservern viel mir dieses Problem nicht auf.

Fehleranalyse

Ich begab mich auf die Fehleranalyse und prüfte natürlich zu allererst die Logdateien vom Zabbix-Server, dem Webserver (bei mir nginx) und was mir sonst so unter die Haube kam. Auch schaute ich, lokale Fehler an meinem Client via der Developertools des Browser. Beide Ansätze verliefen allerdings ins leere und brachte mir nicht viel. Ich habe natürlich ebenfalls noch das Zabbix auf die aktuelle Version aktualisierte, denn wie bereits erwähnt, auf frischen Installationen schien dieser Anzeigefehler nicht aufzutreten! Aber auch die Updaterei brachte leider nichts.

Nach einiger Recherche bin ich auf diesen Foreneintrag im offiziellen ZabbixForum gestoßen, welcher mich auf den richtigen Weg brachte.

Ursache

Dieses Fehlerbild taucht wohl lediglich bei Zabbix-Versionen auf, die zuvor aktualisiert und wo spezielle Anpassungen in der Frontendconfig (im nginx) nicht durchgeführt worden sind. Es scheint so, dass die Maintainer von Zabbix die Webserverkonfiguration für die Location location ~ / ... angepasst haben.

Dem nachfolgenden diff könnt Ihr die entsprechenden Zeilen sehen, die anzupassen sind.

--- nginx.old   2022-11-10 13:43:41.918668337 +0100
+++ nginx.conf  2022-11-10 13:43:55.208668329 +0100
@@ -23,7 +23,12 @@ server {
                 deny            all;
         }

-        location ~ /(api\/|conf[^\.]|include|locale|vendor) {
+       location ~ /(api\/|conf[^\.]|include|locale) {
+               deny    all;
+               return  404;
+       }
+
+       location /vendor {
                 deny            all;
                 return          404;
        }

Ich hoffe ich konnte Euch mit dem Artikel etwas weiterhelfen 🙂