Zabbix automatische Registrierung DNS statt IP-Adresse - Auto Registration
Aus znilwiki
Problem
Ich nutze intensiv die automatische Registrierung der Hosts auf dem Zabbix Server (siehe auch Zabbix Host mit Agent automatisch auf Server registrieren/einrichten lassen).
Dabei wird jedoch immer die IP-Adresse in den Host-Einstellungen verwendet:
Er hat in diesem Fall zwar sowohl einen DNS-Namen als auch eine IP-Adresse - aber er nutzt immer die IP.
Lösung Variante 1
Zunächst solltet Ihr vor der automatischen Registrierung sicherstellen das der Zabbix-Server oder aber der Zabbix Proxy einen Reverse DNS Lookup zu der IP-Adresse machen kann.
Zabbix nimmt seit Version 2.0 die übermittelte IP-Adresse und fragt den eingestellten DNS-Server nach dem DNS Namen dazu (siehe hier mehr dazu
Nur wenn er so eine Antwort erhält trägt er den DNS Namen dazu ein.
Eine einfache Lösung fand ich hier: https://support.zabbix.com/browse/ZBXNEXT-1740
Einfach einen Task einrichten der folgenden Befehl ausführt (crontab -e
):
mysql --database=zabbix --execute="update interface SET useip=0 where dns<>'';"
Den Namen der Datenbank müsst Ihr ggf. anpassen, auch sollte es ein Benutzer mit ensprechenden Rechten sein.
Alternativ ruft den Befehl mit dem Zabbix-Datenbankbenutzer auf:
mysql --user=zabbix --password=zabbix --database=zabbix --execute="update interface SET useip=0 where dns<>'';"
Der SQL-Befehl der übermittelt wird
- sucht sich alle Datensätze vom Typ "interface"
- und setzt bei diesen die Nutzung der IP-Adresse auf "0" = deaktiviert (Womit DNS dann aktiviert ist)
- aber nur wenn beim DNS-Namen etwas drin steht!
Lösung Variante 2
Das wäre über die API ... aber daran arbeite ich noch ... noch nichts schönes, fertiges gefunden bzw. noch keine Zeit gefunden selbst etwas zu schreiben ... da Lösung 1 einfach perfekt funktioniert ...