Host Registrierung

Einleitung

Das manuelle Anlegen von neuen Hosts kann in größeren Setups recht mühselig sein. Über die Host Registrierung gibt es die Möglichkeit, neue Hosts automatisch in der WebGUI zu registrieren und den Host direkt in die gewünschten Gruppen und Templates hinzuzufügen. Auf diese Weise können Hosts über Automatisierungstools wie Ansible, Salstack, Puppet oder Chef in der WebGUI registriert werden.

Einrichtung in der WebGUI

Um eine neue Konfiguration zur automatischen Registrierung einzurichten, klicken Sie sich wie in der folgenden Grafik durch die Menüs:

Nachdem Sie das Formular ausgefüllt und abgesendet haben, erweitern sich die Konfigurationsmöglichkeiten, über die Sie festlegen können, welchen Gruppen und Templates ein Host automatisch hinzugefügt werden soll, wenn sich der Host registriert.

Ist die Einrichtung abgeschlossen, so können Sie nun neue Hosts mit einem einfachen cURL Request hinzufügen. Die Daten werden über die POST Methode im JSON Format zur WebGUI übertragen. Beispiel:

curl https://your-webgui.example/register -H 'Content-Type: application/json' -d '{
    "authkey": "your-very-long-secret-authkey",
    "hostname": "test.example",
    "ipaddr1": "127.0.0.1"
}'

Als Rückgabe bei erfolgter Einrichtung erhalten Sie die ID und das Passwort des Hosts. Das Passwort wird automatisch generiert und ist ein 64-Zeichen langer String.

{
    "status": "ok",
    "data": {
        "host_id": 12345,
        "password": "secret"
    }
}

Folgende Parameter mit Datentyp sind erlaubt:

Parameter Datentyp Bedeutung
authkey String Der Authentifizierungsschlüssel
hostname String Der Name des Hosts
description String Eine kleine Beschreibung des Hosts
ipaddr1 String Die 1. IP Adresse des Hosts
ipaddr2 String Die 2. IP Adresse des Hosts
ipaddr3 String Die 3. IP Adresse des Hosts
ipaddr4 String Die 4. IP Adresse des Hosts
sysinfo String Ein Freitextfeld für eine detaillierte Beschreibung
country_code String Der Ländercode zum Standort des Hosts
location_class String Standort des Hosts im PATH Format
project_class String Projektbeschreibung im PATH Format
tags List [ ] Eine Liste mit TAGS der Templates, zu denen der Host hinzugefügt werden soll
variables Dict { } Host Variablen, um Variablen von Templates zu überschreiben
allow_from List [ ] Eine Liste mit IPs und Netzen, von denen aus der Zugriff der Bloonix Agenten zum Bloonix Server erlaubt ist

Es folgt ein Beispiel mit allen erlaubten Parametern:

{
    "authkey": "your-very-long-secret-authkey",
    "hostname": "test.example",
    "ipaddr1": "127.0.0.1",
    "ipaddr2": "127.0.0.2",
    "ipaddr2": "127.0.0.3",
    "ipaddr2": "127.0.0.4",
    "sysinfo": "My first Host registered",
    "country_code": "DE",
    "location_class": "/DC1/Rack100",
    "project_class": "/Bloonix/Project1/Loadbalancer",
    "tags": [
        "linux",
        "postgresql",
        "redis",
        "nginx",
        "port80",
        "port443"
    ],
    "variables": {
        "ifname.public": "eth0",
        "ifname.private": "eth1"
    },
    "allow_from": [
        "127.0.0.0/8",
        "::1"
    ],
}

Aktivierung registrierter Hosts

Nachdem ein Host registriert wurde, kann dieser aktiviert werden.

Vor der Aktivierung haben Sie zusätzlich noch die Möglichkeit den Host zu überprüfen und ein paar Anpassungen vorzunehmen.