Zevenet API v3.1 Referenz
ZAPI (Zevenet Application Programming Interface) ist das Werkzeug, mit dem der Systemadministrator das Verhalten von Zevenet Load Balancer steuern kann.
Es ist notwendig, den zapi-Benutzer vor der Verwendung über das Web-Interface zu aktivieren. System / Benutzer.
Nachdem der zapi-Benutzer erstellt wurde, können Sie eine Anfrage an die URL senden: https: // (zevenet_server): 444 / zapi / v3.1 / zapi.cgi / (URI-Pfad), wobei zevenet_server ist die IP, auf die der HTTP-Dienst wartet.
URI_path
Definiert das Objekt oder die Aktion, die zu handeln ist. Sein Verhalten und seine Parameter werden in jedem Abschnitt der Dokumentation definiert.
Die in dieser API verwendeten Verben werden sein BESTELLE, jetzt lesen, SETZEN or LÖSCHEN. Eine PUT- oder POST-Anforderung benötigt immer fast einen Parameter, obwohl hierfür kein erforderlicher Parameter erforderlich ist.
Zertifikate
Zevenet unterstützt Zertifikate im PEM-Format, um sie mit Ihren HTTP-Farmen mit HTTPS-Listener zu verwenden. Wenn Sie mehr über das Erstellen von Pem-Zertifikaten erfahren möchten, lesen Sie den folgenden Artikel: GENERIERTE ZERTIFIKATE IM PEM-FORMAT
Alle Zertifikate auflisten
Alle Zertifikate auflisten
Anforderungsbeispiel:
curl -k -X GET -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
https://<zevenet_server>:444/zapi/v3.1/zapi.cgi/certificates
GET /certificates
Listen Sie alle CSR- und PEM-Zertifikate im Zertifikatsspeicher auf. Diese Zertifikate können mit HTTPS-Farmen verwendet werden.
Die Antwort wird ein JSON-Objekt sein, dessen Schlüssel auf gesetzt ist params. Der Wert davon ist ein Array von Zertifikatsobjekten, von denen jedes die folgenden Schlüsselattribute enthält.
Antwortbeispiel:
{
"description" : "List all certificates",
"params" : [
{
"CN" : "Zen Load Balancer",
"creation" : "Jan 12 14:49:03 2011 GMT",
"expiration" : "Jan 9 14:49:03 2021 GMT",
"file" : "zencert.pem",
"issuer" : "Zen Load Balancer",
"type" : "Certificate"
}
]
}
Antwortparameter
Feld | Art | Beschreibung |
---|---|---|
params | Objekt[ ] | Liste der Zertifikatsobjekte |
Zertifikatsobjekt
Feld | Art | Beschreibung |
---|---|---|
CN | Schnur | Domänenname |
Schaffung | Schnur | Erstellungsdatum. |
Ablauf | Schnur | Haltbarkeitsdatum. |
Datei | Schnur | Dateiname des Zertifikats, eindeutige ID. |
Emittent | Schnur | Zertifizierte Behörde, die das Zertifikat unterzeichnet. |
tippe | Schnur | CSR oder Zertifikat. |
Zertifikat herunterladen
Zertifikat herunterladen
Anforderungsbeispiel:
curl -k -X GET -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
https://<zevenet_server>:444/zapi/v3.1/zapi.cgi/certificates/example.pem
GET /certificates/<file>
Laden Sie ein im Zertifikatsspeicher installiertes Zertifikat herunter, und identifizieren Sie es anhand des Dateinamens in der Anforderung.
Die Antwort enthält die unten angegebenen Header mit Informationen zur Datei. Der Hauptteil der Antwort ist der Inhalt der Datei.
Antwortheader:
HTTP/1.1 200 OK
Date: Thu, 22 Dec 2016 09:27:47 GMT
Content-Disposition: attachment; filename="example.pem"
Content-Type: application/x-download; charset=ISO-8859-1
Content-Length: 2359
Zertifikatdetails anzeigen
Zertifikatdetails anzeigen
Anforderungsbeispiel:
curl -k -X GET -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
https://<zevenet_server>:444/zapi/v3.1/zapi.cgi/certificates/example.pem/info
GET /certificates/<file>/info
Zeigen Sie alle Informationen, die in einem bestimmten Zertifikat enthalten sind, einschließlich der Signaturen im Zertifikatsspeicher an. Der Dateiname muss angegeben werden.
Antwortbeispiel:
Certificate:
Data:
Version: 3 (0x2)
Serial Number: 14346016480403539444 (0xc71749fb005a45f4)
Signature Algorithm: sha1WithRSAEncryption
Issuer: C=ES, ST=Spain, L=Spain, O=Sofintel, OU=Telecommunications, CN=Zen Load Balancer/emailAddress=zenloadbalancer-support@lists.sourceforge.net
Validity
Not Before: Jan 12 14:49:03 2011 GMT
Not After : Jan 9 14:49:03 2021 GMT
Subject: C=ES, ST=Spain, L=Spain, O=Sofintel, OU=Telecommunications, CN=Zen Load Balancer/emailAddress=zenloadbalancer-support@lists.sourceforge.net
Subject Public Key Info:
Public Key Algorithm: rsaEncryption
Public-Key: (1024 bit)
Modulus:
...
Details zum Aktivierungszertifikat anzeigen
Details zum Aktivierungszertifikat anzeigen
Anforderungsbeispiel:
curl -k -X GET -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
https://<zevenet_server>:444/zapi/v3.1/zapi.cgi/certificates/activation
GET /certificates/activation
Zeigen Sie alle im Aktivierungszertifikat enthaltenen Informationen an, einschließlich Signaturen. Dieses Zertifikat wird im Zertifikatsspeicher gespeichert. Wenn das Aktivierungszertifikat gelöscht wird, wird das Produkt deaktiviert.
Löschen Sie ein Zertifikat
Löschen Sie ein Zertifikat
Anforderungsbeispiel:
curl -k -X DELETE -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
https://<zevenet_server>:444/zapi/v3.1/zapi.cgi/certificates/example.pem
DELETE /certificates/<file>
Löschen Sie ein Zertifikat nach Dateiname im Zertifikatsspeicher.
Antwortbeispiel:
{
"description" : "Delete certificate",
"message" : "The Certificate example.pem has been deleted.",
"success" : "true"
}
Löschen Sie das Aktivierungszertifikat
Löschen Sie das Aktivierungszertifikat
Anforderungsbeispiel:
curl -k -X DELETE -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
https://<zevenet_server>:444/zapi/v3.1/zapi.cgi/certificates/activation
DELETE /certificates/activation
Löschen Sie das im Zertifikatsspeicher installierte Aktivierungszertifikat. Wenn dieses Zertifikat gelöscht wird, ist der Load Balancer deaktiviert.
Antwortbeispiel:
{
"description" : "Delete activation certificate",
"message" : "The activation certificate has been deleted",
"success" : "true"
}
Erstellen Sie ein CSR-Zertifikat
Erstellen Sie ein CSR-Zertifikat
Anforderungsbeispiel:
curl -k -X POST -H "ZAPI_KEY: <ZAPI_KEY_STRING>" -H 'Content-Type: application/json'
-d '{"name":"NewCSR","fqdn":"host.domain.com","division":"IT","organization":"Example Corp.",
"locality":"Madrid","state":"Madrid","country":"ES","mail":"info@domain.com"}'
https://<zevenet_server>:444/zapi/v3.1/zapi.cgi/certificates
POST /certificates
Erstellen Sie eine Zertifikatsignierungsanforderung (CSR-Datei).
Parameter anfordern
Feld | Art | Beschreibung | Erforderlich |
---|---|---|---|
Name | Schnur | Name der Zertifikat-ID | was immer dies auch sein sollte. |
fqdn | Schnur | Der vollständig qualifizierte Domänenname Ihres Servers. | was immer dies auch sein sollte. |
Teilung | Schnur | Die Abteilung Ihrer Organisation, die das Zertifikat verwaltet. | was immer dies auch sein sollte. |
Organisation | Schnur | Der rechtliche Name Ihrer Organisation. | was immer dies auch sein sollte. |
Lokalität | Schnur | Die Stadt, in der sich Ihre Organisation befindet. | was immer dies auch sein sollte. |
Zustand | Schnur | Das Bundesland / die Region, in der sich Ihre Organisation befindet. | was immer dies auch sein sollte. |
Land | Schnur | Der aus zwei Buchstaben bestehende ISO-Code für das Land, in dem sich Ihre Organisation befindet. | was immer dies auch sein sollte. |
Schnur | Eine E-Mail-Adresse, die zur Kontaktaufnahme mit Ihrer Organisation verwendet wird. | was immer dies auch sein sollte. |
Antwortbeispiel:
{
"description" : "Create CSR",
"message" : "Certificate NewCSR created",
"success" : "true"
}
Laden Sie ein Zertifikat hoch
Laden Sie ein Zertifikat hoch
Anforderungsbeispiel:
curl -k -X POST -H "ZAPI_KEY: <ZAPI_KEY_STRING>" -H 'Content-Type: text/plain'
--tcp-nodelay --data-binary @/local_path/to/example.pem
https://<zevenet_server>:444/zapi/v3.1/zapi.cgi/certificates/example.pem
POST /certificates/<file>
Laden Sie ein PEM-Zertifikat für HTTP-Farmen mit HTTPS-Listener hoch.
Benötigt den Parameter --tcp-nodelay
und --data-binary
um die Datei im Binärmodus hochzuladen.
URI-Parameter anfordern
Feld | Art | Beschreibung | Erforderlich |
---|---|---|---|
Datei | Schnur | Zertifikatsdateiname zum Hochladen und Speichern im Zertifikatsspeicher. | was immer dies auch sein sollte. |
Antwortbeispiel:
{
"description" : "Upload PEM certificate",
"message" : "Certificate uploaded",
"success" : "true"
}
Laden Sie ein Aktivierungszertifikat hoch
Laden Sie ein Aktivierungszertifikat hoch
Anforderungsbeispiel:
curl -k -X POST -H "ZAPI_KEY: <ZAPI_KEY_STRING>" -H 'Content-Type: text/plain'
--tcp-nodelay --data-binary @/path/to/example.pem
https://<zevenet_server>:444/zapi/v3.1/zapi.cgi/certificates/activation
POST /certificates/activation
Laden Sie ein Aktivierungszertifikat mit PEM-Format hoch. Dieses Zertifikat wird benötigt, um alle Funktionen zu aktivieren. Dieses Zertifikat wird im Zertifikatsspeicher gespeichert. Wenn das Aktivierungszertifikat im Zertifikatsspeicher vorhanden ist, wird das vorherige Zertifikat überschrieben.
Antwortbeispiel:
{
"description" : "Upload activation certificate",
"message" : "Activation certificate uploaded",
"success" : "true"
}
Liste Chiffren
Liste Chiffren
Anforderungsbeispiel:
curl -k -X GET -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
https://<zevenet_server>:444/zapi/v3.1/zapi.cgi/ciphers
GET /ciphers
Listen Sie die verfügbaren Verschlüsselungscodes auf, die eine HTTPS-Farm verwenden kann.
Das SSL-Abladung chiper ist nur verfügbar, wenn er vom Prozessor unterstützt wird.
Die Antwort wird ein JSON-Objekt sein, dessen Schlüssel auf gesetzt ist params. Der Wert davon ist ein Array von Zertifikatsobjekten, von denen jedes die folgenden Schlüsselattribute enthält.
Antwortbeispiel:
{
"description" : "Get the ciphers available",
"params" : [
{
"ciphers" : "all",
"description" : "All"
},
{
"ciphers" : "highsecurity",
"description" : "High security"
},
{
"ciphers" : "customsecurity",
"description" : "Custom security"
},
{
"ciphers" : "ssloffloading",
"description" : "SSL offloading"
}
]
}
Antwortparameter
Feld | Art | Beschreibung |
---|---|---|
params | Objekt[ ] | Liste der Zertifikatsobjekte |
Zertifikatsobjekt
Feld | Art | Beschreibung |
---|---|---|
Chiffren | Schnur | Es wird als eindeutige Kennung verwendet. |
Beschreibung | Schnur | Freundlicher Name. |
Farms
Zevenet ist in der Lage, den Verkehr auf drei verschiedene Arten zu verwalten. Jede Art wird von einem anderen Modul, einem lokalen Lastverteiler oder LSLB-Modul, einem globalen Lastverteiler oder einem GSLB-Modul und dem Datalink-Lastverteiler oder dem DSLB-Modul verwaltet.
Alle Module arbeiten mit dem Farmprofilkonzept. Ein Farmprofil ist eine Gruppe von Parametern, die bereit sind, eine bestimmte Aktion mit dem Netzwerkverkehr durchzuführen. Es ist wichtig zu verstehen, was jedes Farmprofil tun kann, um die besten Ergebnisse von Zevenet zu erzielen ADC.
- LSLB: Dieses Modul kann damit arbeiten http und L4xnat Profilfarmen. Es funktioniert als Web Reverse Proxy oder Router
- GSLB: Dieses Modul kann damit arbeiten gslb Profilfarm. Es funktioniert als Domain Name Server
- DSLB: Dieses Modul kann mit arbeiten Datalink Profilfarm. Es funktioniert als Gateway.
Alle Farmen auflisten
Alle Farmen auflisten
Anforderungsbeispiel:
curl -k -X GET -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
https://<zevenet_server>:444/zapi/v3.1/zapi.cgi/farms
GET /farms
Alle verfügbaren Farmen auflisten
Die Antwort wird ein JSON-Objekt sein, dessen Schlüssel auf gesetzt ist params. Der Wert hierfür ist ein Array von Farm-Resume-Objekten, von denen jedes die folgenden Schlüsselattribute enthält.
Bauernhofobjekt
Feld | Art | Beschreibung |
---|---|---|
Hofname | Schnur | Beschreibender Name der Farm Es wird als eindeutiger Identifikator verwendet. |
profile | Schnur | Profiltyp, die verfügbaren Profilwerte sind: http, https or L4xnat für LSLB-Modul gslb für GLSB-Modul und Datalink für DSLB-Modul |
Status | Schnur | Farmstatus Die verfügbaren Statuswerte sind: nach untendie Farm läuft nicht; Neustart erforderlichDie Farm ist in Betrieb, steht jedoch vor einer Neustartaktion. kritischemDie Farm ist in Betrieb und alle Backends sind nicht erreichbar oder zu warten. Problem, die Farm ist in Betrieb und es gibt einige nicht erreichbare Backends, aber fast ein Backend befindet sich im Aufwärtsstatus. WartungDie Farm ist in Betrieb und es gibt Backends im Up-Status, aber fast ein Backend befindet sich im Wartungsmodus. upDie Farm ist in Betrieb und alle Backends sind erfolgreich. |
vip | Schnur | Virtuelle IP-Adresse, bei der die Farm Datenverkehr empfängt |
vport | Schnur | Virtueller Port, an dem die Farm Datenverkehr empfängt. Die verfügbaren Portwerte sind: eine Portnummer für http [s] -, l4xnat- und gslb-Profile, eine durch "," getrennte Gruppe von Ports oder ein durch ":" getrennter Portbereich für l4xnat-Profile in l4xnat beide Trennzeichenwerte ("," und ":") können im selben Feld verwendet werden. |
Antwortbeispiel:
{
"description" : "List farms",
"params" : [
{
"farmname" : "httpFarm",
"profile" : "http",
"status" : "up",
"vip" : "192.168.101.146",
"vport" : "81"
}
]
}
Löschen Sie eine Farm
Löschen Sie eine Farm
Anforderungsbeispiel:
curl --tlsv1 -k -X DELETE -H 'Content-Type: application/json' -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
https://<zevenet_server>:444/zapi/v3.1/zapi.cgi/farms/FarmHTTP
DELETE /farms/<farmname>
Löschen Sie eine Farm über ihren Farmnamen.
Antwortbeispiel:
{
"description" : "Delete farm FarmHTTP",
"message" : "The Farm FarmHTTP has been deleted.",
"success" : "true"
}
Legen Sie eine Aktion in einer Farm fest
Legen Sie eine Aktion in einer Farm fest
Anforderungsbeispiel:
curl -k -X PUT -H 'Content-Type: application/json' -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
-d '{"action":"stop"}' https://<zevenet_server>:444/zapi/v3.1/zapi.cgi/farms/FarmTCP/actions
PUT /farms/<farmname>/actions
Wenden Sie eine Aktion auf eine Farm an. Informationen zu den Aktionen finden Sie in der Tabelle der Anforderungsparameter.
Parameter anfordern
Feld | Art | Beschreibung |
---|---|---|
Aktion | Schnur | Stellen Sie die gewünschte Aktion ein. Die Aktionen sind: haltDie Farm wird gestoppt. Anfangwird die Farm gestartet und Wiederaufnahmewird die Farm automatisch gestoppt und gestartet. |
Antwortbeispiel:
{
"description" : "Set a new action in FarmHTTP",
"params" : [
{
"action" : "stop"
}
]
}
Antwortparameter
Wenn die Konfiguration keine Probleme aufweist, gibt zapi die angeforderte Aktion zurück.
HTTP-Farmen
Das HTTP-Profil ist ein 7-Lastausgleich (oder Application Delivery Controller) mit erweiterten Proxy-Eigenschaften. Dieses Profil bietet einige Funktionen, wie den Lastausgleich für HTTPS-Layer-7 in Kombination mit einer SSL-Offload-Beschleunigung. Dieses Profil ist für Webdienste (einschließlich Webanwendungsserver) und alle auf HTTP- und HTTPS-Protokollen basierenden Anwendungsprotokolle wie WebDav, RDP über HTTP, ICA über HTTP usw. geeignet. Zur Konfiguration dieses Farmprofils müssen Sie eine virtuelle IP-Adresse und a Ein virtueller TCP-Port ist erforderlich.
Farm anhand des Namens abrufen
Farm anhand des Namens abrufen
Anforderungsbeispiel:
curl -k -X GET -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
https://<zevenet_server>:444/zapi/v3.1/zapi.cgi/farms/httpFarm
GET /farms/<farmname>
Alle Konfigurationen einer bestimmten Farm anzeigen.
Antwortbeispiel:
{
"description" : "List farm httpFarm",
"ipds" : {
"blacklists" : [
"rem"
],
"dos" : [],
"rbl" : [
"protection_ssh"
]
},
"params" : {
"certlist" : [
{
"file" : "zencert.pem",
"id" : 1
}
],
"cipherc" : "ALL",
"ciphers" : "all",
"contimeout" : 20,
"disable_sslv2" : "true",
"disable_sslv3" : "false",
"disable_tlsv1" : "false",
"disable_tlsv1_1" : "true",
"disable_tlsv1_2" : "false",
"error414" : "Request URI is too long.",
"error500" : "An internal server error occurred. Please try again later.",
"error501" : "This method may not be used.",
"error503" : "The service is not available. Please try again later.",
"httpverb" : "MSRPCext",
"ignore_100_continue" : "true",
"listener" : "https",
"reqtimeout" : 30,
"restimeout" : 45,
"resurrectime" : 10,
"rewritelocation" : "enabled",
"status" : "up",
"vip" : "192.168.100.211",
"vport" : 200
},
"services" : [
{
"backends" : [],
"cookiedomain" : "",
"cookieinsert" : "false",
"cookiename" : "",
"cookiepath" : "",
"cookiettl" : 0,
"fgenabled" : "false",
"fglog" : "false",
"fgscript" : "",
"fgtimecheck" : 5,
"httpsb" : "false",
"id" : "service3",
"leastresp" : "false",
"persistence" : "",
"redirect" : "",
"redirecttype" : "",
"sessionid" : "",
"ttl" : 0,
"urlp" : "",
"vhost" : ""
},
{
"backends" : [
{
"id" : 0,
"ip" : "192.168.0.168",
"port" : 80,
"status" : "up",
"timeout" : null,
"weight" : null
}
],
"cookiedomain" : "",
"cookieinsert" : "false",
"cookiename" : "",
"cookiepath" : "",
"cookiettl" : 0,
"fgenabled" : "false",
"fglog" : "false",
"fgscript" : "tcp_check",
"fgtimecheck" : 5,
"httpsb" : "false",
"id" : "srv",
"leastresp" : "false",
"persistence" : "",
"redirect" : "",
"redirecttype" : "",
"sessionid" : "",
"ttl" : 0,
"urlp" : "",
"vhost" : ""
},
]
}
Antwortparameter
Die Antwort wird ein JSON-Objekt mit dem folgenden Format sein.
Bauernhofobjekt:
Feld | Art | Beschreibung |
---|---|---|
ipds | Betreff | Liste der IPDS-Regeln, die auf diese Farm angewendet werden. |
params | Betreff | Parameter der Farmkonfiguration |
DIENSTLEISTUNGEN | Objekt[] | Array mit allen in dieser Farm erstellten Services und ihrer Konfiguration. |
IPDS-Objekt:
Feld | Art | Beschreibung |
---|---|---|
schwarze Listen | Zeichenfolge [] | Blacklist-Regeln für die Farm. |
zwei | Zeichenfolge [] | Für die Farm geltende DoS-Regeln. |
rbl | Zeichenfolge [] | Für die Farm geltende RBL-Regeln. |
Parameterobjekt für HTTP-Farmen:
Feld | Art | Beschreibung |
---|---|---|
certlist | Objekt[] | Nur im https-Profil. In der Farm aktivierte Zertifikatsliste im Pem-Format. Zur SNI-Unterstützung können mehrere Pem-Zertifikate derselben Farm hinzugefügt werden. Listener mit https-Wert ist erforderlich. Jedes Zertifikat im Zertifikatsspeicher kann hier verwendet werden. |
Cipherc | Schnur | Nur im https-Listener. Dies ist die zulässige angepasste Liste von Verschlüsselungen, die von der SSL-Verbindung akzeptiert werden. Hierbei handelt es sich um eine Zeichenfolge im gleichen Format wie in OpenSSL-Verschlüsselungen. Dieses Attribut wird nur verwendet, wenn Chiffren Feld hat den Wert sutomsecurity. |
Chiffren | Schnur | Nur in Listener mit https-Wert. Wird zum Erstellen einer Liste von Verschlüsselungen verwendet, die von SSL-Verbindungen akzeptiert werden, um die SSL-Verbindung zu sichern. Die Optionen sind: alleAlle Chiffren werden akzeptiert. hohe Sicherheitwerden nur Chiffren für hohe Sicherheit akzeptiert; Zollsicherheit, nur Chiffren geladen Cipherc Feld wird akzeptiert; oder ssloffloadingÜberträgt die Verschlüsselung den Prozess, hängt diese Verschlüsselung vom Prozessor ab. |
Dauerhaft | Nummer | Wie lange die Farm in Sekunden auf eine TCP-Verbindung zum Backend wartet. |
disable_sslv2 | Schnur | Nur im https-Listener. Wenn dieses Feld den Wert hat was immer dies auch sein sollte. Verbindungen, die das SSL-Sicherheitsprotokoll mit Version 2 verwenden, sind nicht zulässig. oder falsch wenn das Protokoll SSLv2 erlaubt ist. |
disable_sslv3 | Schnur | Nur im https-Listener. Wenn dieses Feld den Wert hat was immer dies auch sein sollte. Verbindungen, die das SSL-Sicherheitsprotokoll mit Version 3 verwenden, sind nicht zulässig. oder falsch wenn das Protokoll SSLv3 erlaubt ist. |
disable_tlsv1 | Schnur | Nur im https-Listener. Wenn dieses Feld den Wert hat was immer dies auch sein sollte. Verbindungen, die das TLS-Sicherheitsprotokoll mit Version 1 verwenden, sind nicht zulässig. oder falsch wenn das Protokoll TLSv1 erlaubt ist. |
disable_tlsv1_1 | Schnur | Nur im https-Listener. Wenn dieses Feld den Wert hat was immer dies auch sein sollte. Verbindungen, die das TLS-Sicherheitsprotokoll mit Version 1.1 verwenden, sind nicht zulässig. oder falsch wenn das Protokoll TLSv1.1 erlaubt ist. |
disable_tlsv1_2 | Schnur | Nur im https-Listener. Wenn dieses Feld den Wert hat was immer dies auch sein sollte. Verbindungen, die das TLS-Sicherheitsprotokoll mit Version 1.2 verwenden, sind nicht zulässig. oder falsch wenn das Protokoll TLSv1.2 erlaubt ist. |
error414 | Schnur | Personalisierte Nachricht zum Antworten mit dem 414-HTTP-Fehlercode. |
error500 | Schnur | Personalisierte Nachricht zum Antworten mit dem 500-HTTP-Fehlercode. |
error501 | Schnur | Personalisierte Nachricht zum Antworten mit dem 501-HTTP-Fehlercode. |
error503 | Schnur | Personalisierte Nachricht zum Antworten mit dem 503-HTTP-Fehlercode. |
httpverb | Schnur | Dieses Feld gibt die Vorgänge an, die für die HTTP-Clientanforderungen zulässig sind. verfügbare Werte sind: standardHTTP, akzeptierte http-Anforderungen GET, POST, HEAD. extendedHTTP, akzeptierte vorherige http-Anforderungen plus PUT, DELETE. standardWebDAV, akzeptierte vorherige http-Anfragen sowie Sperren, Entriegeln, PROPFIND, PROPPATCH, SUCHEN, MKCOL, BEWEGEN, KOPIEREN, OPTIONEN, TRACE, MKACTIVITY, ÜBERPRÜFEN, MERGE, BERICHT, MSextWebDAV akzeptierte vorherige http-Anforderungen sowie ABONNIEREN, UNSUBSCRIBE, NOTIFY, BPROPFIND, BPROPPATCH, POLL, BMOVE, BCOPY, BDELETE oder CONNECT MSRPCext, akzeptierte vorherige http-Anforderungen sowie RPC_IN_DATA, RPC_OUT_DATA. Beachten Sie, dass diese Werte zwischen Groß- und Kleinschreibung unterscheiden. |
ignore_100_continue | Schnur | Wenn dieses Feld den Wert hat was immer dies auch sein sollte. 100 weiter HTTP wird ignoriert; wenn der Wert ist falsch, der 100 weiter Header wird verarbeitet. |
Hörer | Schnur | Ein Listener definiert, wie die Farm mit den Anforderungen der Clients spielt. Die Optionen sind: http für nicht gesichertes Protokoll oder https für gesichertes Protokoll. |
reqtimeout | Nummer | Wie lange die Farm in Sekunden auf eine Clientanforderung warten wird. |
restimeout | Nummer | Wie lange die Farm in Sekunden auf eine Antwort der Backends warten wird. |
Wiederbelebungszeit | Nummer | Die Zeit, um einen heruntergefallenen realen Server herauszuholen, nach dieser Zeit überprüft der Lastausgleicher in Sekunden, ob der reale Server aktiv ist. |
Umschreibung | Schnur | Wenn diese Option aktiviert ist, muss die Farm die Header von Position: und Content-Location: in Antworten an Clients mit dem virtuellen Host ändern. Die Optionen sind: freigegebenaktiviert behindertinaktiviert oder Aktivierte Backends Nur die Backend-Adresse wird verglichen. |
Status | Schnur | Farmstatus Die verfügbaren Statuswerte sind: nach untendie Farm läuft nicht; Neustart erforderlichDie Farm ist in Betrieb, steht jedoch vor einer Neustartaktion. kritischemDie Farm ist in Betrieb und alle Backends sind nicht erreichbar oder zu warten. Problem, die Farm ist in Betrieb und es gibt einige nicht erreichbare Backends, aber fast ein Backend befindet sich im Aufwärtsstatus. WartungDie Farm ist in Betrieb und es gibt Backends im Up-Status, aber fast ein Backend befindet sich im Wartungsmodus. upDie Farm ist in Betrieb und alle Backends sind erfolgreich. |
vip | Schnur | IP der Farm, in der der virtuelle Dienst empfangsbereit ist. |
vport | Nummer | Port der Farm, von der der virtuelle Dienst abhört. |
Certlist-Objekt:
Feld | Art | Beschreibung |
---|---|---|
Datei | Schnur | Der Zertifikatsname verweist auf das Zertifikat im Zertifikatsspeicher. |
id | Nummer | Zertifikat-ID, Die Reihenfolge in der Liste, die erste wird standardmäßig verwendet, wenn der Header des virtuellen Hosts nicht mit dem CN-Feld im Zertifikat übereinstimmt. Wird für SNI verwendet. |
Dienstobjekt für HTTP-Farmen:
Feld | Art | Beschreibung |
---|---|---|
Backends | Objekt[] | Im Service definierte Backends. |
Cookiedomain | Schnur | Das Einfügen von Cookies wird ausgeführt, wenn die Domain im Cookie-Inhalt übereinstimmt. Aktivieren Cookieeinsatz ist erforderlich. |
Cookieeinsatz | Schnur | Es ermöglicht das Einfügen von Cookies für Backends-Sticky-Sessions. Die Optionen sind was immer dies auch sein sollte.Das Profil durchsucht das angegebene Cookie im Feld cookienameWenn es nicht existiert, wird dieses Cookie hinzugefügt. falschwird keine Aktion ergriffen. |
cookiename | Schnur | Der Cookie-Name (Sitzungs-ID) wird zur Identifizierung des Sticky-Prozesses für Backends verwendet. Aktivieren Cookieeinsatz ist erforderlich. |
Kekspfad | Schnur | Er verwaltet den Cookie-Pfadwert für das angegebene Cookie. Aktivieren Cookieeinsatz ist erforderlich. |
cookiettl | Nummer | Dies ist die maximale Lebensdauer eines Cookies in Sekunden. Aktivieren Cookieeinsatz ist erforderlich. |
aktiviert | Schnur | Aktivieren Sie die Verwendung eines Farmwächters. was immer dies auch sein sollte. Farm Guardian ist aktiviert und prüft den Backends-Status. falsch farm guardian ist deaktiviert und prüft den Backends-Status nicht. In HTTP-Profilen wird standardmäßig check_tcp ausgeführt, auch wenn der Farm-Guardian deaktiviert ist. |
fglog | Schnur | Aktivieren Sie die Verwendung von Protokollen im Farm Guardian. was immer dies auch sein sollte. aktiviert, falsch, deaktiviert. aktiviert erforderlich. |
Fgscript | Schnur | Der Befehl, den der Farmwächter zur Überprüfung der Backends-Gesundheit verwendet. was immer dies auch sein sollte. aktiviert, falsch, deaktiviert. aktiviert erforderlich. |
Fechtecheck | Nummer | Der Farm Guardian überprüft jede 'Timetocheck'-Sekunde den Backend-Gesundheitszustand. aktiviert erforderlich. |
httpsb | Schnur | Dieser Parameter zeigt der Farm an, dass die im aktuellen Service definierten Backends-Server die HTTPS-Sprache verwenden, und die Daten werden dann verschlüsselt, bevor sie gesendet werden. was immer dies auch sein sollte.Das Profil sendet den Verkehr im HTTPS-Protokoll an die Backends. falschsendet das Profil den Verkehr im HTTP-Protokoll an die Backends. |
id | Schnur | Der Name des Dienstes kann nach dem Erstellen des Dienstes nicht mehr geändert werden. |
leastresp | Schnur | Es ermöglicht die Methode des Ausgleichs mit den wenigsten Rückmeldungen. was immer dies auch sein sollte. Das Profil prüft selbständig, welches Backend weniger Zeit zum Antworten braucht, um mehr Verbindungen an dieses zu senden. falsch Das Profil überprüft nicht, welches Backend weniger Zeit benötigt, um zu antworten. |
Beharrlichkeit | Schnur | Dieser Parameter definiert, wie der HTTP-Dienst die Clientsitzung verwaltet. Die Optionen sind: "" leere Zeichenfolge, es wird keine Aktion ausgeführt, IP Die Persistenzsitzung wird auf Basis der Client-IP durchgeführt. BASIC Die Persistenzsitzung wird in BASIC-Kopfzeilen durchgeführt. URL Die Persistenzsitzung wird in der Basis eines Feldes in der URI durchgeführt. PARM Die Persistenzsitzung wird am Ende des URI in Basis eines Werts durchgeführt. COOKIE Die Persistenzsitzung wird auf der Basis eines Cookie-Namens durchgeführt. Dieser Cookie muss von den Backends erstellt werden HEADERwird die Persistenzsitzung auf Basis eines Headernamens durchgeführt. |
umleiten | Schnur | Es verhält sich als spezielles Backend, da die Clientanforderung automatisch durch eine Weiterleitung auf eine neue URL beantwortet wird. Wenn die Umleitung konfiguriert ist, wird die Anforderung nicht an das Backend weitergeleitet. Stattdessen wird eine Umleitung an den Client gesendet. |
Weiterleitungstyp | Schnur | Wie die Umleitung durchgeführt wird, zwei Optionen: StandardDie URL wird als absoluter Host und Pfad zur Weiterleitung verwendet. anhängenDer ursprüngliche Anforderungspfad oder URI wird an den Host und den Pfad angehängt, den Sie mit der Standardoption angegeben haben. Ob umleiten Feld ist nicht konfiguriert, dieses Feld ist eine leere Zeichenfolge. |
Session-ID | Schnur | Es ist verfügbar, wenn Beharrlichkeit Ist das Feld URL, COOKIE oder HEADER, wird der Parameterwert von der Farm im http-Header gesucht und die Clientsitzung verwaltet. |
ttl | Nummer | Nur mit Beharrlichkeit. Dieser Wert gibt die maximale Lebensdauer einer inaktiven Clientsitzung (maximales Sitzungsalter) in Sekunden an. |
urlp | Schnur | Ermöglicht die Ermittlung eines Web-Services bezüglich der URL, die der Client über ein bestimmtes URL-Muster anfordert, das syntaktisch überprüft wird. PCRE-regulärer Ausdruck wird unterstützt. |
vhost | Schnur | Sie gibt die Bedingung an, die durch den Domänennamen über dieselbe virtuelle IP und denselben Port bestimmt wird, die von einer HTTP-Farm definiert werden. PCRE-regulärer Ausdruck wird unterstützt. |
Backend-Objekt für HTTP-Farmen:
Feld | Art | Beschreibung |
---|---|---|
id | Nummer | Backend-Kennung im angegebenen Dienst. |
ip | Schnur | Die IP des Backends, auf der der eigentliche Dienst ausgeführt wird. |
port | Nummer | Backend-Port, an dem der eigentliche Dienst ausgeführt wird. |
Status | Schnur | Backend-Status Die möglichen Werte sind: upDie Farm läuft und das Backend ist bereit, Verbindungen zu empfangen. nach untenDie Farm läuft und der Dienst hat festgestellt, dass das Backend nicht funktioniert. WartungWenn das Backend vom Administrator als nicht bereit zum Empfangen von Verbindungen markiert ist, ist diese Option für die Wartungsaufgaben des Backends nützlich. undefiniert, der Backend-Status wurde nicht geprüft. |
Timeout | Nummer | Es ist das Zeitlimit des Backends, um eine bestimmte Anforderung in Sekunden zu beantworten. Wenn das System null ist, wird der globale Parameter Backends-Timeout verwendet. |
Gewicht | Nummer | Dies ist der Gewichtswert für den aktuellen realen Server. Das Backend mit dem höheren Gewichtswert erhält mehr Verbindungen. Standardwert null, keine spezielle Gewichtung für dieses Backend. |
Erstellen Sie eine neue Farm
Erstellen Sie eine neue Farm
Anforderungsbeispiel:
curl -k -X POST -H 'Content-Type: application/json' -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
-d '{"farmname":"newHTTPfarm", "profile":"http", "vip":"192.168.100.23",
"vport":80}' https://<zevenet_server>:444/zapi/v3.1/zapi.cgi/farms
POST /farms
Erstellen Sie eine neue HTTP-Farm.
Parameter anfordern
Feld | Art | Beschreibung | Erforderlich |
---|---|---|---|
Hofname | Schnur | Beschreibender Name der Farm Es wird als eindeutige Kennung verwendet. | was immer dies auch sein sollte. |
profile | Schnur | Das Profil der erstellten Farm. Für http-Farmen gilt http. | was immer dies auch sein sollte. |
vip | Schnur | IP der Farm, in der der virtuelle Dienst ausgeführt wird. Die angegebene IP muss im System und in UP konfiguriert werden | was immer dies auch sein sollte. |
vport | Nummer | Port der Farm, von dem der virtuelle Dienst abhören soll. Derselbe virtuelle Port und dieselbe virtuelle IP dürfen nicht von einer anderen Farm verwendet werden. | was immer dies auch sein sollte. |
Antwortbeispiel:
{
"description" : "Creating farm 'newHTTPfarm'",
"params" : {
"interface" : "eth0.2",
"farmname" : "newHTTPfarm",
"profile" : "http",
"vip" : "192.168.100.23",
"vport" : 80
}
}
Antwortparameter
Die Antwort wird ein Json sein, bei dem alle angeforderten Werte aktualisiert werden. Weitere Informationen finden Sie im Antwortbeispiel.
Ändern Sie eine Farm
Ändern Sie eine Farm
Anforderungsbeispiel:
curl -k -X PUT -H 'Content-Type: application/json' -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
-d '{"contimeout":22,"newfarmname":"FarmHTTP2","vip":"178.62.126.152","vport":88,"ignore_100_continue":"true",
"restimeout":47,"resurrectime":12,"reqtimeout":32,"rewritelocation":"enabled","httpverb":"standardHTTP",
"error414":"Message error 414","error500":"Message error 500","error501":"Message error 501",
"error503":"Message error 503","listener":"https","ciphers":"customsecurity","disable_sslv2":"true",
"disable_sslv3":"false","disable_tlsv1":"false","disable_tlsv1_1":"true","disable_tlsv1_2":"false",
"cipherc":"TLSv1+SSLv3+HIGH:-MEDIUM:-LOW*:-ADH*"}' https://<zenlb_server>:444/zapi/v3.1/zapi.cgi/farms/FarmHTTP
PUT /farms/<farmname>
Ändern Sie globale Parameter für eine bestimmte HTTP-Farm.
Parameter anfordern
Feld | Art | Beschreibung |
---|---|---|
Dauerhaft | Nummer | Wie lange die Farm in Sekunden auf eine Verbindung zum Backend wartet. |
restimeout | Nummer | Wie lange die Farm in Sekunden auf eine Antwort der Backends warten wird. |
Wiederbelebungszeit | Nummer | Dieser Wert in Sekunden ist die Zeitspanne, in der ein Backend aus der schwarzen Liste herausgeholt und überprüft wird, ob er aktiv ist. |
reqtimeout | Nummer | Wie lange die Farm in Sekunden auf eine Clientanforderung warten wird. |
disable_sslv2 | Schnur | Nur im https-Listener. Wenn dieses Feld den Wert hat was immer dies auch sein sollte. Verbindungen, die das SSL-Sicherheitsprotokoll mit Version 2 verwenden, sind nicht zulässig. oder falsch wenn das Protokoll SSLv2 erlaubt ist. |
disable_sslv3 | Schnur | Nur im https-Listener. Wenn dieses Feld den Wert hat was immer dies auch sein sollte. Verbindungen, die das SSL-Sicherheitsprotokoll mit Version 3 verwenden, sind nicht zulässig. oder falsch wenn das Protokoll SSLv3 erlaubt ist. |
disable_tlsv1 | Schnur | Nur im https-Listener. Wenn dieses Feld den Wert hat was immer dies auch sein sollte. Verbindungen, die das TLS-Sicherheitsprotokoll mit Version 1 verwenden, sind nicht zulässig. oder falsch wenn das Protokoll TLSv1 erlaubt ist. |
disable_tlsv1_1 | Schnur | Nur im https-Listener. Wenn dieses Feld den Wert hat was immer dies auch sein sollte. Verbindungen, die das TLS-Sicherheitsprotokoll mit Version 1.1 verwenden, sind nicht zulässig. oder falsch wenn das Protokoll TLSv1.1 erlaubt ist. |
disable_tlsv1_2 | Schnur | Nur im https-Listener. Wenn dieses Feld den Wert hat was immer dies auch sein sollte. Verbindungen, die das TLS-Sicherheitsprotokoll mit Version 1.2 verwenden, sind nicht zulässig. oder falsch wenn die |
Umschreibung | Schnur | Wenn diese Option aktiviert ist, muss die Farm die Header von Position: und Content-Location: in Antworten an Clients mit dem virtuellen Host ändern. Die Optionen sind: freigegebenaktiviert behindertinaktiviert oder Aktivierte Backends Nur die Backend-Adresse wird verglichen. |
httpverb | Schnur | Dieses Feld gibt die Vorgänge an, die für die HTTP-Clientanforderungen zulässig sind. verfügbare Werte sind: standardHTTP, akzeptierte http-Anforderungen GET, POST, HEAD. extendedHTTP, akzeptierte vorherige http-Anforderungen plus PUT, DELETE. standardWebDAV, akzeptierte vorherige http-Anfragen sowie Sperren, Entriegeln, PROPFIND, PROPPATCH, SUCHEN, MKCOL, BEWEGEN, KOPIEREN, OPTIONEN, TRACE, MKACTIVITY, ÜBERPRÜFEN, MERGE, BERICHT, MSextWebDAV akzeptierte vorherige http-Anforderungen sowie ABONNIEREN, UNSUBSCRIBE, NOTIFY, BPROPFIND, BPROPPATCH, POLL, BMOVE, BCOPY, BDELETE oder CONNECT MSRPCext, akzeptierte vorherige http-Anforderungen sowie RPC_IN_DATA, RPC_OUT_DATA. Beachten Sie, dass diese Werte zwischen Groß- und Kleinschreibung unterscheiden. |
ignore_100_continue | Schnur | Wenn dieses Feld den Wert hat was immer dies auch sein sollte. 100 weiter HTTP wird ignoriert; wenn der Wert ist falsch, der 100 weiter Header wird verarbeitet. |
error414 | Schnur | Personalisierter Nachrichtenfehler 414. |
error500 | Schnur | Personalisierter Nachrichtenfehler 500. |
error501 | Schnur | Personalisierter Nachrichtenfehler 501. |
error503 | Schnur | Personalisierter Nachrichtenfehler 503. |
Hörer | Schnur | Ein Listener definiert, wie die Farm mit den Anforderungen der Clients spielt. Die Optionen sind: http für nicht gesichertes Protokoll oder https für gesichertes Protokoll. |
Chiffren | Schnur | Nur in Listener mit https-Wert. Wird zum Erstellen einer Liste von Verschlüsselungen verwendet, die von SSL-Verbindungen akzeptiert werden, um die SSL-Verbindung zu sichern. Die Optionen sind: alleAlle Chiffren werden akzeptiert. hohe Sicherheitwerden nur Chiffren für hohe Sicherheit akzeptiert; Zollsicherheit, nur Chiffren geladen Cipherc Feld wird akzeptiert; oder ssloffloadingÜberträgt die Verschlüsselung den Prozess, hängt diese Verschlüsselung vom Prozessor ab. |
Cipherc | Schnur | Nur im https-Listener. Dies ist die zulässige angepasste Liste von Verschlüsselungen, die von der SSL-Verbindung akzeptiert werden. Hierbei handelt es sich um eine Zeichenfolge im gleichen Format wie in OpenSSL-Verschlüsselungen. Dieses Attribut wird nur verwendet, wenn Chiffren Feld hat den Wert sutomsecurity. |
newfarmname | Schnur | Der Name der neuen Farm. Die Farm muss gestoppt werden. |
vport | Nummer | Port der Farm, von der der virtuelle Dienst abhört. |
vip | Schnur | IP der Farm, in der der virtuelle Dienst empfangsbereit ist, muss diese IP im System konfiguriert und eingerichtet sein. |
Antwortbeispiel:
{
"description" : "Modify farm FarmHTTP",
"params" : {
"cipherc" : "TLSv1+SSLv3+HIGH:-MEDIUM:-LOW*:-ADH*",
"ciphers" : "customsecurity",
"contimeout" : 22,
"disable_sslv2" : "true",
"disable_sslv3" : "false",
"disable_tlsv1" : "false",
"disable_tlsv1_1" : "true",
"disable_tlsv1_2" : "false",
"error414" : "Message error 414",
"error500" : "Message error 500",
"error501" : "Message error 501",
"error503" : "Message error 503",
"httpverb" : "standardHTTP",
"ignore_100_continue" : "true",
"listener" : "https",
"newfarmname" : "FarmHTTP",
"reqtimeout" : 32,
"restimeout" : 47,
"resurrectime" : 12,
"rewritelocation" : "enabled",
"vip" : "178.62.126.152",
"vport" : 88
}
}
Antwortparameter
Die Antwort wird ein Json sein, bei dem alle angeforderten Werte aktualisiert werden. Weitere Informationen finden Sie im Antwortbeispiel.
Fügen Sie ein Zertifikat hinzu
Fügen Sie ein Zertifikat hinzu
Anforderungsbeispiel:
curl -k -X POST -H 'Content-Type: application/json' -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
-d '{"file":"example.pem"}' https://<zevenet_server>:444/zapi/v3.1/zapi.cgi/farms/httpFarm/certificates
POST /farms/<farmname>/certificates
Fügen Sie der SNI-Liste ein verfügbares PEM-Zertifikat hinzu oder certlist
Array einer HTTP-Farm mit einem HTTPS-Listener. Das verwendete Zertifikat muss bereits im System hochgeladen sein, siehe Zertifikate> Alle Zertifikate auflisten für die Liste der verfügbaren Zertifikate.
Parameter anfordern
Feld | Art | Beschreibung | Erforderlich |
---|---|---|---|
Datei | Schnur | Name der Zertifikatsdatei, zuvor muss das Zertifikat in das System hochgeladen werden. | was immer dies auch sein sollte. |
Antwortbeispiel:
{
"description" : "Add certificate",
"message" : "The certificate example.pem has been added to the SNI list of farm httpFarm, you need restart the farm to apply",
"success" : "true",
"status": "needed restart"
}
Löschen Sie ein Zertifikat
Löschen Sie ein Zertifikat
Anforderungsbeispiel:
curl -k -X DELETE -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
https://<zevenet_server>:444/zapi/v3.1/zapi.cgi/farms/MyHttpFarm/certificates/example.pem
DELETE /farms/<farmname>/certificates/<file>
Löschen Sie das Zertifikat mit dem ausgewählten Dateinamen aus der Zertifizierungsliste in der HTTP-Farm mit HTTPS-Listener. Das Zertifikat wird nicht aus dem Zertifikatsspeicher gelöscht.
Antwortbeispiel:
{
"description" : "Delete farm certificate",
"message" : "The Certificate example.pem has been deleted.",
"success" : "true",
"status": "needed restart"
}
Fügen Sie eine IPDS-Regel hinzu
Fügen Sie eine IPDS-Regel hinzu
Anforderungsbeispiel:
curl -k -X POST -H 'Content-Type: application/json' -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
-d '{"name":"china"}' https://<zevenet_server>:444/zapi/v3.1/zapi.cgi/farms/httpFarm/ipds/blacklists
POST /farms/<farmname>/ipds/<dos|blacklists|rbl>
Wenden Sie eine Blacklist-, DoS- oder RBL-Regel auf die Farm an.
Parameter anfordern
Feld | Art | Beschreibung |
---|---|---|
Name | Schnur | IPDS-Regelname, der als eindeutiger Bezeichner verwendet wird. |
Antwortbeispiel:
{
"description" : "Apply a rule to a farm",
"message" : "Blacklist rule china was applied successful to the farm httpFarm.",
"success" : "true"
}
Entfernen Sie eine IPDS-Regel
Entfernen Sie eine IPDS-Regel
Anforderungsbeispiel:
curl -k -X DELETE -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
https://<zevenet_server>:444/zapi/v3.1/zapi.cgi/farms/httpFarm/ipds/blacklists/china
DELETE /farms/<farmname>/ipds/<dos|blacklists|rbl>/<name>
Entfernen Sie eine Blacklist-, DoS- oder RBL-Regel aus einer bestimmten Farm, indem Sie deren Kennung verwenden Name.
Antwortbeispiel:
{
"description" : "Delete a rule form a farm",
"message" : "Blacklist rule china was removed successful from the farm httpFarm.",
"success" : "true"
}
HTTP - Dienste
Die Dienste in einer HTTP-Profilfarm bieten eine Methode zum Wechseln von Inhalten, um mehrere Webdienste mit unterschiedlichen Eigenschaften, Backends oder sogar Persistenzmethoden bereitzustellen. Dazu werden bestimmte deterministische Bedingungen verwendet, die vom Farmkern verwendet werden, um für jede Clientanforderung den richtigen Dienst zu finden. Diese Service-Definition wird von der Farm verwendet, um die Backends-Server zu ermitteln, die die Antwort an den Client liefern könnten.
Innerhalb eines Serviceobjekts gibt es zwei Arten von Werten: dienstbezogene und farmguardian-bezogene Werte.
Farmguardian wird für den erweiterten Überwachungsstatus von Backends verwendet und ist für Ihre eigenen Skripts für den aktuellen Service vollständig personalisiert. Wenn ein Problem von farmguardian erkannt wird, wird der echte Server automatisch deaktiviert und als schwarze Liste markiert.
Dienst nach ID abrufen
Dienst nach ID abrufen
Anforderungsbeispiel:
curl -k -X GET -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
https://<zevenet_server>:444/zapi/v3.1/zapi.cgi/farms/cookiefarm/services/serv
GET /farms/<farmname>/services/<id>
Alle Konfiguration eines bestimmten Dienstes anzeigen.
Antwortbeispiel:
{
"description" : "Get services of a farm",
"services" : {
"backends" : [
{
"id" : 0,
"ip" : "192.168.100.254",
"port" : 80,
"status" : "up",
"timeout" : 20,
"weight" : null
},
{
"id" : 0,
"ip" : "192.168.100.254",
"port" : 80,
"status" : "up",
"timeout" : null,
"weight" : null
}
],
"cookiedomain" : "zevenet.cpm",
"cookieinsert" : "true",
"cookiename" : "peasocookie",
"cookiepath" : "/patfh",
"cookiettl" : 20,
"fgenabled" : "false",
"fglog" : "false",
"fgscript" : "check_tcp -H HOST -p PORT",
"fgtimecheck" : 5,
"httpsb" : "false",
"id" : "serv",
"leastresp" : "false",
"persistence" : "COOKIE",
"redirect" : "",
"redirecttype" : "",
"sessionid" : "JSESSIONID",
"ttl" : 18,
"urlp" : "(?i)^/music$",
"vhost" : ""
}
}
Antwortparameter
Die Antwort wird ein JSON-Objekt mit dem folgenden Format sein.
Dienstobjekt für HTTP-Farmen:
Feld | Art | Beschreibung |
---|---|---|
Backends | Objekt[] | Im Service definierte Backends. |
Cookiedomain | Schnur | Das Einfügen von Cookies wird ausgeführt, wenn die Domain im Cookie-Inhalt übereinstimmt. Aktivieren Cookieeinsatz ist erforderlich. |
Cookieeinsatz | Schnur | Es ermöglicht das Einfügen von Cookies für Backends-Sticky-Sessions. Die Optionen sind was immer dies auch sein sollte.Das Profil durchsucht das angegebene Cookie im Feld cookienameWenn es nicht existiert, wird dieses Cookie hinzugefügt. falschwird keine Aktion ergriffen. |
cookiename | Schnur | Der Cookie-Name (Sitzungs-ID) wird zur Identifizierung des Sticky-Prozesses für Backends verwendet. Aktivieren Cookieeinsatz ist erforderlich. |
Kekspfad | Schnur | Er verwaltet den Cookie-Pfadwert für das angegebene Cookie. Aktivieren Cookieeinsatz ist erforderlich. |
cookiettl | Nummer | Dies ist die maximale Lebensdauer eines Cookies in Sekunden. Aktivieren Cookieeinsatz ist erforderlich. |
aktiviert | Schnur | Aktivieren Sie die Verwendung eines Farmwächters. was immer dies auch sein sollte. Farm Guardian ist aktiviert und prüft den Backends-Status. falsch farm guardian ist deaktiviert und prüft den Backends-Status nicht. In HTTP-Profilen wird standardmäßig check_tcp ausgeführt, auch wenn der Farm-Guardian deaktiviert ist. |
fglog | Schnur | Aktivieren Sie die Verwendung von Protokollen im Farm Guardian. was immer dies auch sein sollte. aktiviert, falsch, deaktiviert. aktiviert erforderlich. |
Fgscript | Schnur | Der Befehl, den der Farmwächter zur Überprüfung der Backends-Gesundheit verwendet. was immer dies auch sein sollte. aktiviert, falsch, deaktiviert. aktiviert erforderlich. |
Fechtecheck | Nummer | Der Farm Guardian überprüft jede 'Timetocheck'-Sekunde den Backend-Gesundheitszustand. aktiviert erforderlich. |
httpsb | Schnur | Dieser Parameter zeigt der Farm an, dass die im aktuellen Service definierten Backends-Server die HTTPS-Sprache verwenden, und die Daten werden dann verschlüsselt, bevor sie gesendet werden. was immer dies auch sein sollte.Das Profil sendet den Verkehr im HTTPS-Protokoll an die Backends. falschsendet das Profil den Verkehr im HTTP-Protokoll an die Backends. |
id | Schnur | Der Name des Dienstes kann nach dem Erstellen des Dienstes nicht mehr geändert werden. |
leastresp | Schnur | Es ermöglicht die Methode des Ausgleichs mit den wenigsten Rückmeldungen. was immer dies auch sein sollte. Das Profil prüft selbständig, welches Backend weniger Zeit zum Antworten braucht, um mehr Verbindungen an dieses zu senden. falsch Das Profil überprüft nicht, welches Backend weniger Zeit benötigt, um zu antworten. |
Beharrlichkeit | Schnur | Dieser Parameter definiert, wie der HTTP-Dienst die Clientsitzung verwaltet. Die Optionen sind: "" leere Zeichenfolge, es wird keine Aktion ausgeführt, IP Die Persistenzsitzung wird auf Basis der Client-IP durchgeführt. BASIC Die Persistenzsitzung wird in BASIC-Kopfzeilen durchgeführt. URL Die Persistenzsitzung wird in der Basis eines Feldes in der URI durchgeführt. PARM Die Persistenzsitzung wird am Ende des URI in Basis eines Werts durchgeführt. COOKIE Die Persistenzsitzung wird auf der Basis eines Cookie-Namens durchgeführt. Dieser Cookie muss von den Backends erstellt werden HEADERwird die Persistenzsitzung auf Basis eines Headernamens durchgeführt. |
umleiten | Schnur | Es verhält sich als spezielles Backend, da die Clientanforderung automatisch durch eine Weiterleitung auf eine neue URL beantwortet wird. Wenn die Umleitung konfiguriert ist, wird die Anforderung nicht an das Backend weitergeleitet. Stattdessen wird eine Umleitung an den Client gesendet. |
Weiterleitungstyp | Schnur | Wie die Umleitung durchgeführt wird, zwei Optionen: StandardDie URL wird als absoluter Host und Pfad zur Weiterleitung verwendet. anhängenDer ursprüngliche Anforderungspfad oder URI wird an den Host und den Pfad angehängt, den Sie mit der Standardoption angegeben haben. Ob umleiten Feld ist nicht konfiguriert, dieses Feld ist eine leere Zeichenfolge. |
Session-ID | Schnur | Es ist verfügbar, wenn Beharrlichkeit Ist das Feld URL, COOKIE oder HEADER, wird der Parameterwert von der Farm im http-Header gesucht und die Clientsitzung verwaltet. |
ttl | Nummer | Nur mit Beharrlichkeit. Dieser Wert gibt die maximale Lebensdauer einer inaktiven Clientsitzung (maximales Sitzungsalter) in Sekunden an. |
urlp | Schnur | Ermöglicht die Ermittlung eines Web-Services bezüglich der URL, die der Client über ein bestimmtes URL-Muster anfordert, das syntaktisch überprüft wird. PCRE-regulärer Ausdruck wird unterstützt. |
vhost | Schnur | Sie gibt die Bedingung an, die durch den Domänennamen über dieselbe virtuelle IP und denselben Port bestimmt wird, die von einer HTTP-Farm definiert werden. PCRE-regulärer Ausdruck wird unterstützt. |
Backend-Objekt für HTTP-Farmen:
Feld | Art | Beschreibung |
---|---|---|
id | Nummer | Backend-Kennung im angegebenen Dienst. |
ip | Schnur | Die IP des Backends, auf der der eigentliche Dienst ausgeführt wird. |
port | Nummer | Backend-Port, an dem der eigentliche Dienst ausgeführt wird. |
Status | Schnur | Backend-Status Die möglichen Werte sind: upDie Farm läuft und das Backend ist bereit, Verbindungen zu empfangen. nach untenDie Farm läuft und der Dienst hat festgestellt, dass das Backend nicht funktioniert. WartungWenn das Backend vom Administrator als nicht bereit zum Empfangen von Verbindungen markiert ist, ist diese Option für die Wartungsaufgaben des Backends nützlich. undefiniert, der Backend-Status wurde nicht geprüft. |
Timeout | Nummer | Es ist das Zeitlimit des Backends, um eine bestimmte Anforderung in Sekunden zu beantworten. Wenn das System null ist, wird der globale Parameter Backends-Timeout verwendet. |
Gewicht | Nummer | Dies ist der Gewichtswert für den aktuellen realen Server. Das Backend mit dem höheren Gewichtswert erhält mehr Verbindungen. Standardwert null, keine spezielle Gewichtung für dieses Backend. |
Erstellen Sie einen neuen Service
Erstellen Sie einen neuen Service
Anforderungsbeispiel:
curl -k -X POST -H 'Content-Type: application/json' -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
-d '{"id":"newserv"}' https://<zenlb_server>:444/zapi/v3.1/zapi.cgi/farms/FarmHTTP/services
POST /farms/<farmname>/services
Erstellen Sie einen Dienst in einer bestimmten HTTP-Profilfarm. Die Farm benötigt eine Neustartaktion, um diese Änderung anzuwenden.
Parameter anfordern
Feld | Art | Beschreibung | Erforderlich |
---|---|---|---|
id | Schnur | Dienstname, der als eindeutige Kennung verwendet wird. Es sind nur alphanumerische Werte zulässig. | was immer dies auch sein sollte. |
Antwortbeispiel:
{
"description" : "New service newserv",
"params" : {
"id" : "newserv"
},
"status" : "needed restart"
}
Ändern Sie einen Service
Ändern Sie einen Service
Anforderungsbeispiel:
curl -k -X PUT -H 'Content-Type: application/json' -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
-d '{"vhost":"www.mywebserver.com","urlp":"^/myapp1$","persistence":"URL",
"redirect":"http://zenloadbalancer.com","ttl":125,"sessionid":"sid","leastresp":"true",
"httpsb":"true"}' https://<zenlb_server>:444/zapi/v3.1/zapi.cgi/farms/FarmHTTP/services/sev2
PUT /farms/<farmname>/services/<id>
Ändern Sie die Parameter eines Dienstes in einem HTTP-Profil. id ist die eindeutige Kennung des Dienstes, die geändert wird.
Parameter anfordern
Feld | Art | Beschreibung |
---|---|---|
vhost | Schnur | Gibt die Bedingung an, die vom Domänennamen über dieselbe virtuelle IP und denselben Port bestimmt wird, die von einer HTTP-Profilfarm definiert werden. PCRE-regulärer Ausdruck wird unterstützt. |
urlp | Schnur | Ermöglicht die Ermittlung eines Web-Services bezüglich der URL, die der Client über ein bestimmtes URL-Muster anfordert, das syntaktisch überprüft wird. PCRE-regulärer Ausdruck wird unterstützt. |
umleiten | Schnur | Es funktioniert als spezielles Backend, die Clientanforderung wird automatisch durch eine Umleitung auf eine neue URL beantwortet. |
Weiterleitungstyp | Schnur | Wie die Weiterleitung durchgeführt wird, zwei Optionen: StandardDie URL wird als absoluter Host und Pfad zur Weiterleitung verwendet. anhängenDer ursprüngliche Anforderungspfad oder URI wird an den Host und den Pfad angehängt, den Sie angegeben haben umleiten Feld. Dieses Verhalten gilt nur, wenn umleiten ist kein leerer Wert. |
Cookieeinsatz | Schnur | Es ermöglicht das Einfügen von Cookies für Backends-Sticky-Sessions. Die Optionen sind was immer dies auch sein sollte.Das Profil durchsucht das angegebene Cookie im Feld cookienameWenn es nicht existiert, wird dieses Cookie hinzugefügt. falschDas Einfügungs-Cookie ist deaktiviert. |
cookiename | Schnur | Der Cookie-Name (Sitzungs-ID) wird zur Identifizierung des Sticky-Prozesses für Backends verwendet. Aktivieren Cookieeinsatz ist erforderlich. |
Cookiedomain | Schnur | Das Einfügen von Cookies wird ausgeführt, wenn die Domain im Cookie-Inhalt übereinstimmt. Aktivieren Cookieeinsatz ist erforderlich. |
Kekspfad | Schnur | Es verwaltet den Cookie-Pfadwert für das angegebene Cookie. Wenn der URI in der Clientanforderung oder der Backend-Antwort nicht mit dem Cookiepath übereinstimmt, wird die Persistenzmethode zum Einfügen von Cookies nicht angewendet. Aktivieren Cookieeinsatz ist erforderlich. |
cookiettl | Nummer | Dies ist die maximale Lebensdauer eines Cookies in Sekunden. Aktivieren Cookieeinsatz ist erforderlich. |
Beharrlichkeit | Schnur | Dieser Parameter definiert, wie der HTTP-Dienst die Clientsitzung verwaltet. Die Optionen sind: "" leere Zeichenfolge, es wird keine Aktion ausgeführt, IP Die Persistenzsitzung wird auf Basis der Client-IP durchgeführt. BASIC Die Persistenzsitzung wird in BASIC-Kopfzeilen durchgeführt. URL Die Persistenzsitzung wird in der Basis eines Feldes in der URI durchgeführt. PARM Die Persistenzsitzung wird auf der Grundlage eines durch ";" getrennten Werts durchgeführt. am Ende der URI, COOKIE Die Persistenzsitzung wird auf der Basis eines Cookie-Namens durchgeführt. Dieser Cookie muss von den Backends erstellt werden HEADERwird die Persistenzsitzung auf Basis eines Headernamens durchgeführt. |
ttl | Nummer | Nur mit Beharrlichkeit. Die maximale Lebensdauer einer inaktiven Clientsitzung (maximales Sitzungsalter) in Sekunden. |
Session-ID | Schnur | Es ist verfügbar, wenn Beharrlichkeit Feld ist URL, COOKIE or HEADERDer Parameterwert wird vom Profil im http-Header gesucht und verwaltet die Clientsitzung. |
leastresp | Schnur | Es ermöglicht die Methode des Ausgleichs mit den wenigsten Rückmeldungen. was immer dies auch sein sollte., das Profil prüft selbständig, welches Backend weniger Zeit zum Antworten braucht, um mehr Verbindungen zu diesem Server zu senden. falschDas Profil überprüft nicht, welches Backend weniger Zeit benötigt, um zu antworten. |
httpsb | Schnur | Sie zeigt der Farm an, dass die im aktuellen Service definierten Backends-Server die HTTPS-Sprache verwenden, und die Daten werden dann verschlüsselt, bevor sie gesendet werden. was immer dies auch sein sollte.Das Profil sendet den Verkehr im HTTPS-Protokoll an die Backends. falschsendet das Profil den Verkehr im HTTP-Protokoll an die Backends. |
Antwortbeispiel:
{
"description" : "Modify service newsrv in farm newHTTPfarm",
"info" : "There're changes that need to be applied, stop and start farm to apply them!",
"params" : {
"backends" : [],
"cookiedomain" : "",
"cookieinsert" : "false",
"cookiename" : "",
"cookiepath" : "",
"cookiettl" : 0,
"fgenabled" : "false",
"fglog" : "false",
"fgscript" : "",
"fgtimecheck" : 5,
"httpsb" : "true",
"id" : "newsrv",
"leastresp" : "true",
"persistence" : "",
"redirect" : "http://zenloadbalancer.com",
"redirecttype" : "default",
"sessionid" : "sid",
"ttl" : 125,
"urlp" : "^/myapp1$",
"vhost" : "www.mywebserver.com"
},
"status" : "needed restart"
}
Antwortparameter
Die Antwort wird ein Json sein, bei dem die angeforderten Parameter aktualisiert wurden und Status Feld mit Neustart erforderlich Wert. Um die Änderungen zu übernehmen, muss ein Neustart durchgeführt werden.
Ändern Sie den Farmwächter
Ändern Sie den Farmwächter
Anforderungsbeispiel:
curl -k -X PUT -H 'Content-Type: application/json' -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
-d '{"fgtimecheck":5,"fgscript":"check_tcp","fgenabled":"true",
"fglog":"true","service":"service1"}' https://<zevenet_server>:444/zapi/v3.1/zapi.cgi/farms/FarmHTTP/fg
Farmguardian wird für den erweiterten Überwachungsstatus von Backends verwendet und ist für Ihre eigenen Skripts für den aktuellen Service vollständig personalisiert. Wenn ein Problem von farmguardian erkannt wird, wird der echte Server automatisch deaktiviert und als schwarze Liste markiert.
PUT /farms/<farmname>/fg
Ändern Sie die Parameter von Farm Guardian im angegebenen HTTP-Profil.
Parameter anfordern
Feld | Art | Beschreibung | Erforderlich |
---|---|---|---|
Fechtecheck | Nummer | Der Farm Guardian überprüft den Gesundheitszustand des Backends alle 'Timetocheck'-Sekunden. | |
Fgscript | Schnur | Der Befehl, den der Farmwächter ausführen soll, um den Status des Backends zu überprüfen | |
aktiviert | Schnur | Es ermöglicht Farm Guardian im angegebenen Dienst. was immer dies auch sein sollte. Farm Guardian wird für die Überprüfung des Backends-Status verwendet, falsch Farm Guardian wird deaktiviert | |
fglog | Schnur | Aktivieren Sie die Verwendung von Protokollen im Farm Guardian. was immer dies auch sein sollte. Farm Guardian protokolliert jede Aktion, falsch Der Farmwächter protokolliert keine Aktion. Es wird empfohlen zu aktivieren fglog Nur zur Fehlersuche. | |
serviceorientiert | Schnur | Dienstname, der als eindeutige Kennung verwendet wird. | was immer dies auch sein sollte. |
Antwortbeispiel:
{
"description" : "Modify farm FarmHTTP",
"params" : {
"fgenabled" : "true",
"fglog" : "true",
"fgscript" : "checktcp",
"fgtimecheck" : 5,
"service" : "service1"
}
}
Dienstleistungen verschieben
Dienstleistungen verschieben
Anforderungsbeispiel:
curl -k -X POST -H 'Content-Type: application/json' -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
-d '{"position":0}' https://<zevenet_server>:444/zapi/v3.1/zapi.cgi/farms/FarmHTTP/services/service1/actions
POST /farms/<farmname>/services/<id>/actions
Diese Aktionen verschieben einen bestimmten Dienst nach oben oder unten in der Dienstliste. Diese Option ist nützlich, wenn die Prioritätsreihenfolge geändert werden muss. Beachten Sie, dass Dienste in der gleichen Reihenfolge ausgewertet werden, die angezeigt wird. Diese Aktion startet die Farm automatisch neu.
id ist die eindeutige Kennung des Dienstes, die geändert wird.
Anforderungsparameter
Feld | Art | Beschreibung | Erforderlich |
---|---|---|---|
Position | Nummer | Position, wo der Dienst sein wird. Die erste Position hat den Index 0. | was immer dies auch sein sollte. |
Antwortbeispiel:
{
"description" : "Move service",
"message" : "service1 was moved successful.",
"params" : {
"position" : 0
}
}
Einen Dienst löschen
Einen Dienst löschen
Anforderungsbeispiel:
curl -k -X DELETE -H 'Content-Type: application/json' -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
https://<zenlb_server>:444/zapi/v3.1/zapi.cgi/farms/FarmHTTP/services/service1
DELETE /farms/<farmname>/services/<id>
Einen bestimmten Dienst eines http-Profils löschen. id ist die eindeutige Kennung des Dienstes, die gelöscht wird.
Antwortbeispiel:
{
"description" : "Delete service service1 in farm FarmHTTP",
"message" : "The service service1 in farm FarmHTTP has been deleted.",
"success" : "true",
"status": "needed restart"
}
HTTP-Dienste - Backends
Listen Sie die Backends auf
Listen Sie die Backends auf
Anforderungsbeispiel:
curl -k -X GET -H 'Content-Type: application/json' -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
https://<zenlb_server>:444/zapi/v3.1/zapi.cgi/farms/httpfarm/services/service1/backends
GET /farms/<farmname>/services/<id>/backends
Rufen Sie die Liste der Backends in einem Dienst ab. id ist die eindeutige Kennung des Dienstes.
Antwortbeispiel:
{
"description" : "List service backends",
"params" : [
{
"id" : 0,
"ip" : "192.168.0.10",
"port" : 88,
"status" : "up",
"timeout" : 12,
"weight" : 1
},
{
"id" : 1,
"ip" : "192.168.102.245",
"port" : 80,
"status" : "up",
"timeout" : 22,
"weight" : 2
}
]
}
Antwortparameter
Dieser Aufruf gibt ein Backend-Objektarray mit den unten angegebenen Parametern zurück.
Feld | Art | Beschreibung |
---|---|---|
id | Nummer | eindeutige Kennung für das Backend im Dienst. Diese Kennung wird vom System generiert. |
ip | Schnur | Die IP des Backends, in der der eigentliche Dienst zuhört. |
port | Nummer | Backends Port, an dem der eigentliche Dienst lauscht. |
Timeout | Nummer | Es ist das Zeitlimit des Backends, um eine bestimmte Anforderung in Sekunden zu beantworten. |
Gewicht | Nummer | Dies ist der Gewichtswert für das aktuelle Backend. |
Status | Schnur | Backend-Status Die möglichen Werte sind: upDie Farm läuft und das Backend ist bereit, Verbindungen zu empfangen. nach untenDie Farm läuft und der Dienst hat festgestellt, dass das Backend nicht funktioniert. WartungWenn das Backend vom Administrator als nicht bereit zum Empfangen von Verbindungen markiert ist, ist diese Option für die Wartungsaufgaben des Backends nützlich. undefiniert, der Backend-Status wurde nicht geprüft. |
Erstellen Sie ein neues Backend
Erstellen Sie ein neues Backend
Anforderungsbeispiel:
curl -k -X POST -H 'Content-Type: application/json' -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
-d '{"ip":"192.168.102.244","port":80, "weight":2,"timeout":2}'
https://<zenlb_server>:444/zapi/v3.1/zapi.cgi/farms/httpfarm/services/newsrv/backends
POST /farms/<farmname>/services/<id>/backends
Erstellen Sie ein neues Backend in einem bestimmten HTTP-Profil. id ist die eindeutige Kennung des Dienstes.
Parameter anfordern
Feld | Art | Beschreibung | Erforderlich |
---|---|---|---|
ip | Schnur | Die IP des Backends, in der der eigentliche Dienst zuhört. | was immer dies auch sein sollte. |
port | Nummer | Backends Port, an dem der eigentliche Dienst lauscht. | was immer dies auch sein sollte. |
Timeout | Nummer | Es ist das Zeitlimit des Backends, um eine bestimmte Anfrage zu beantworten. | |
Gewicht | Nummer | Dies ist der Gewichtswert für das aktuelle Backend. |
Antwortbeispiel:
{
"description" : "New service backend",
"message" : "Added backend to service succesfully",
"params" : {
"id" : 0,
"ip" : "192.168.102.244",
"port" : 80,
"timeout" : 2,
"weight" : 2
},
"status" : "needed restart"
}
Antwortparameter
Die Antwort wird ein Json sein, bei dem die angeforderten Parameter aktualisiert wurden und Status Feld mit Neustart erforderlich value, wenn die Farm neu gestartet werden muss. Um die Änderungen zu übernehmen, muss ein Neustart durchgeführt werden.
Backend ändern
Backend ändern
Anforderungsbeispiel:
curl -k -X PUT -H 'Content-Type: application/json' -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
-d '{"ip":"192.168.0.10","port":88,"timeout":12,"service":"sev2", "weight":1}'
https://<zenlb_server>:444/zapi/v3.1/zapi.cgi/farms/FarmHTTP/service/service1/backends/1
PUT /farms/<farmname>/services/<id>/backends/<id>
Ändern Sie die Parameter eines Backends in einem Dienst eines HTTP-Profils.
Vorname id Als nächstes ist die eindeutige Kennung des Dienstes id ist die eindeutige Kennung des Backends.
Parameter anfordern
Feld | Art | Beschreibung |
---|---|---|
ip | Schnur | Die IP des Backends, in der der eigentliche Dienst zuhört. |
port | Nummer | Backends Port, an dem der eigentliche Dienst lauscht. |
Timeout | Nummer | Es ist das Zeitlimit des Backends, um eine bestimmte Anforderung in Sekunden zu beantworten. |
Gewicht | Nummer | Dies ist der Gewichtswert für das aktuelle Backend. |
Antwortbeispiel:
{
"description" : "Modify service backend",
"info" : "There're changes that need to be applied, stop and start farm to apply them!",
"message" : "Backend modified",
"params" : {
"ip" : "192.168.0.10",
"port" : 88,
"timeout" : 12,
"weight" : 1
},
"status" : "needed restart"
}
Antwortparameter
Die Antwort wird ein Json sein, bei dem die angeforderten Parameter aktualisiert wurden und Status Feld mit Neustart erforderlich value, wenn die Farm neu gestartet werden muss. Um die Änderungen zu übernehmen, muss ein Neustart durchgeführt werden.
Backend in der Wartung
Backend in der Wartung
Anforderungsbeispiel:
curl -k -X PUT -H 'Content-Type: application/json' -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
-d '{"action":"maintenance","mode":"cut"}'
https://<zenlb_server>:444/zapi/v3.1/zapi.cgi/farms/httpfarm/services/newsrv/backends/0/maintenance
PUT /farms/<farmname>/services/<id>/backends/<id>/maintenance
Legen Sie eine bestimmte Aktion in einem Backend einer HTTP-Farm fest. Die verfügbaren Aktionen werden unten beschrieben.
Vorname id Als nächstes ist die eindeutige Kennung des Dienstes id ist die eindeutige Kennung des Backends.
Parameter anfordern
Feld | Art | Beschreibung | Erforderlich |
---|---|---|---|
Aktion | Schnur | Stellen Sie die gewünschte Aktion ein. Die Aktionen sind: up das Backend ist bereit, Kundenanfragen zu empfangen, Wartung Backend ist nicht bereit, Clientanforderungen zu empfangen. Diese Aktion ist nützlich, um den Backend-Server ohne Auswirkungen auf die Clients zu stoppen. | |
Modus | Schnur | Wählen Sie einen Wartungsmodus. Die verfügbaren Optionen sind: abtropfenDas Backend akzeptiert keine neuen Verbindungen, verarbeitet jedoch weiterhin die aktuellen Verbindungen. oder AusschneidenDie aktuellen Verbindungen werden geschlossen. | Wenn dieses Feld nicht angegeben ist, wird der Standardmodus verwendet abtropfen. |
Antwortbeispiel:
{
"description" : "Set service backend status",
"params" : {
"action" : "maintenance",
"mode" : "cut"
}
}
Löschen Sie ein Backend
Löschen Sie ein Backend
Anforderungsbeispiel:
curl -k -X DELETE -H 'Content-Type: application/json' -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
https://<zenlb_server>:444/zapi/v3.1/zapi.cgi/farms/newfarmHTTP/services/service1/backends/4
DELETE /farms/<farmname>/services/<id>/backends/<id>
Löschen Sie ein bestimmtes Backend in einem Dienst eines HTTP-Profils.
Vorname id Als nächstes ist die eindeutige Kennung des Dienstes id ist die eindeutige Kennung des Backends.
Antwortbeispiel:
{
"description" : "Delete service backend",
"message" : "Backend removed",
"success" : "true"
}
L4xNAT Farms
Die L4xNAT-Profilfarm ermöglicht das Erstellen einer L4-Farm mit sehr hoher Leistung und wesentlich mehr gleichzeitigen Verbindungen als Lastverteilungskerne in der Ebene 7 wie HTTP-Farmprofilen. Diese 4-Leistungsverbesserung auf Layer wirkt der erweiterten Verarbeitung von Inhalten entgegen, die die 7-Layer-Profile verwalten könnten.
Darüber hinaus können L4xNAT-Farmen eine Reihe von Ports binden, nicht nur einen virtuellen Port, wie er bei anderen Layer 7-Profilen verwendet wird. Um einen Bereich von virtuellen Ports oder einen bestimmten virtuellen Port in L4xNAT-Farmen auswählen zu können, muss ein Protokolltyp ausgewählt werden. In einem anderen Fall überwacht die Farm alle Ports von der virtuellen IP (angezeigt mit einem Zeichen '*'). Sobald ein TCP- oder UDP-Protokoll ausgewählt ist, können ein Port, mehrere Ports zwischen ',', Ports zwischen ':' oder alle Ports mit '*' angegeben werden. Eine Kombination von allen ist ebenfalls gültig.
Farm anhand des Namens abrufen
Farm anhand des Namens abrufen
Anforderungsbeispiel:
curl -k -X GET -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
https://<zevenet_server>:444/zapi/v3.1/zapi.cgi/farms/l4farm
GET /farms/<farmname>
Alle Konfigurationen einer bestimmten Farm anzeigen.
Antwort KÖRPER:
{
"backends" : [
{
"id" : 0,
"ip" : "192.168.55.40",
"port" : "88",
"priority" : 2,
"status" : "undefined",
"weight" : 1
},
{
"id" : 1,
"ip" : "192.168.55.41",
"port" : "88",
"priority" : 3,
"status" : "undefined",
"weight" : 2
}
],
"description" : "List farm l4farm",
"ipds" : {
"blacklists" : [],
"dos" : [],
"rbl" : [
"protection_ssh"
]
},
"params" : {
"algorithm" : "weight",
"fgenabled" : "false",
"fglog" : "false",
"fgscript" : "",
"fgtimecheck" : 5,
"listener" : "l4xnat",
"nattype" : "nat",
"persistence" : "",
"protocol" : "tcp",
"status" : "down",
"ttl" : 120,
"vip" : "192.168.100.241",
"vport" : "88"
}
}
Antwortparameter
Die Antwort wird ein JSON-Objekt mit dem folgenden Format sein.
Bauernhofobjekt:
Feld | Art | Beschreibung |
---|---|---|
ipds | Betreff | Liste der IPDS-Regeln, die auf diese Farm angewendet werden. |
params | Betreff | Parameter der Farmkonfiguration |
Backends | Objekt[] | Alle in dieser Farm erstellten realen Server und ihre Konfiguration. |
IPDS-Objekt:
Feld | Art | Beschreibung |
---|---|---|
schwarze Listen | Zeichenfolge [] | Auf die Farm angewendete Blacklist-Regeln. |
zwei | Zeichenfolge [] | Für die Farm geltende DoS-Regeln. |
rbl | Zeichenfolge [] | Für die Farm geltende RBL-Regeln. |
Parameterobjekt für L4xNAT-Farmen:
Feld | Art | Beschreibung |
---|---|---|
Algorithmus | Schnur | Typ des Lastausgleichsalgorithmus, der in der Farm verwendet wird. Die Optionen sind: leastconn Verbindung immer zum kleinsten Verbindungsserver, Gewicht Verbindung linearer Versand nach Gewicht prio Verbindungen immer zu den meisten verfügbaren Preisen. |
Hörer | Schnur | Ein Listener definiert, wie die Farm mit den Anforderungen der Clients spielt. Informationsfeld, es kann nicht geändert werden. |
nattype | Schnur | Funktionsweise des 4-Kerns der Load-Balancer-Schicht Die Optionen sind: nat auch als sNAT-Modus bezeichnet, antwortet das Backend auf den Load Balancer, um die Antwort an den Client zu senden. dnat Das Backend reagiert direkt auf den Client. Load Balancer muss im Backend-Server als Gateway konfiguriert werden. |
Beharrlichkeit | Schnur | Die gleiche IP-Adresse wird mit demselben Server verbunden. Die Optionen sind: "" leerer Wert, Persistenz ist deaktiviert, ip Persistenz wird durch aktiviert, Ursprungs-IP wird wie eine eindeutige ID in Sitzung verwendet. |
Protokoll | Schnur | Protokoll, das auf der Ebene 4 abgeglichen werden soll. Die Optionen sind: alle Das Profil lädt ein beliebiges L4-Protokoll, TCP der Load Balancer balanciert nur das TCP L4-Protokoll UDP der Load Balancer balanciert nur das UDP-L4-Protokoll, Schluck der Load Balancer balanciert nur das SIP- oder VoIP-L7-Protokoll aus, ftp der Load Balancer balanciert nur das FTP-Protokoll L7 aus, tftp Nur der Lastenausgleich wird das TFTP L7-Protokoll ausgleichen. |
Status | Schnur | Farmstatus Die verfügbaren Statuswerte sind: nach untendie Farm läuft nicht; Neustart erforderlichDie Farm ist in Betrieb, steht jedoch vor einer Neustartaktion. kritischemDie Farm ist in Betrieb und alle Backends sind nicht erreichbar oder zu warten. Problem, die Farm ist in Betrieb und es gibt einige nicht erreichbare Backends, aber fast ein Backend befindet sich im Aufwärtsstatus. WartungDie Farm ist in Betrieb und es gibt Backends im Up-Status, aber fast ein Backend befindet sich im Wartungsmodus. upDie Farm ist in Betrieb und alle Backends sind erfolgreich. |
ttl | Nummer | Dieser Feldwert gibt die Anzahl der Sekunden an, für die die Persistenz zwischen der Clientquelle und dem Backend in Sekunden zugewiesen wird. Persistenz muss konfiguriert sein. |
vip | Schnur | IP der Farm, in der der virtuelle Dienst empfangsbereit ist. |
vport | Schnur | Port der Farm, an dem der virtuelle Dienst empfangsbereit ist. Ein eindeutiger Port kann spezifiziert werden, ein Bereichsport kann mit einem Trennzeichen angegeben werden : und mehrere Ports können mit Trennzeichen spezifiziert werden ,. |
aktiviert | Schnur | Ermöglicht die Verwendung eines Farmwächters. was immer dies auch sein sollte. Farm Guardian ist aktiviert, falsch Farm Guardian ist deaktiviert. |
fglog | Schnur | Ermöglicht die Verwendung von Protokollen im Farm Guardian. aktiviert muss aktiviert sein. |
Fgscript | Schnur | Der Befehl, den der Farm Guardian überprüft. Diese verfügbaren Befehle befinden sich im libexec-Pfad. aktiviert muss aktiviert sein. |
Fechtecheck | Nummer | Der Erziehungsberechtigte überprüft jede Sekunde des Zeitplans. aktiviert muss aktiviert sein. |
Backend-Objekt für L4xNAT-Farmen:
Feld | Art | Beschreibung |
---|---|---|
id | Nummer | ID, um das Backend in der Farm zu identifizieren. |
ip | Schnur | Die IP des Backends, in der der eigentliche Dienst zuhört. |
port | Nummer | Backends Port, an dem der eigentliche Dienst lauscht. Der leere Wert wird akzeptiert und verwendet dieselbe Konfiguration wie die virtuellen Ports. |
Status | Schnur | Backend-Status Die möglichen Werte sind: upDie Farm läuft und das Backend ist bereit, Verbindungen zu empfangen. nach untenDie Farm läuft und der Dienst hat festgestellt, dass das Backend nicht funktioniert. WartungWenn das Backend vom Administrator als nicht bereit zum Empfangen von Verbindungen markiert ist, ist diese Option für die Wartungsaufgaben des Backends nützlich. undefiniert, der Backend-Status wurde nicht geprüft. |
Prioritätsliste | Nummer | Dies ist der Prioritätswert für den aktuellen realen Server. Verbindungen immer zu den meisten verfügbaren Optionen, bei denen 1 die höchste Priorität hat. |
Gewicht | Nummer | Dies ist der Gewichtswert für den aktuellen realen Server. Backends mit mehr Gewicht erhalten mehr Verbindungen. |
Erstellen Sie eine neue Farm
Erstellen Sie eine neue Farm
Anforderungsbeispiel:
curl -k -X POST -H 'Content-Type: application/json' -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
-d '{"profile":"l4xnat", "vip":"192.168.100.241", "vport":"88","farmname":"newl4farm"}'
https://<zevenet_server>:444/zapi/v3.1/zapi.cgi/farms
POST /farms
Erstellen Sie eine neue L4xNAT-Farm.
Parameter anfordern
Feld | Art | Beschreibung | Erforderlich |
---|---|---|---|
Hofname | Schnur | Name der Farm, eindeutige Kennung | was immer dies auch sein sollte. |
profile | Schnur | Das Profil der erstellten Farm. Für L4xNAT-Farmen gilt L4xnat, Informationsnachricht, dieser Wert kann nicht geändert werden | was immer dies auch sein sollte. |
vip | Schnur | IP der Farm, in der der virtuelle Dienst empfangsbereit ist. | was immer dies auch sein sollte. |
vport | Schnur | Port der Farm, an dem der virtuelle Dienst empfangsbereit ist. L4xNAT-Farmen ermöglichen einen durch getrennten Multiport , oder Bereichsport getrennt durch :. | was immer dies auch sein sollte. |
Antwortbeispiel:
{
"description" : "Creating farm 'newl4farm'",
"params" : {
"farmname" : "newl4farm",
"interface" : "eth0",
"profile" : "l4xnat",
"vip" : "192.168.100.241",
"vport" : "88"
}
}
Antwortparameter
Die Antwort wird ein Json sein, bei dem alle angeforderten Werte aktualisiert werden. Weitere Informationen finden Sie im Antwortbeispiel.
Ändern Sie eine Farm
Ändern Sie eine Farm
Anforderungsbeispiel:
curl -k -X PUT -H 'Content-Type: application/json' -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
-d '{"algorithm":"weight","persistence":"","newfarmname":"l4farm", "protocol":"tcp",
"nattype":"nat","ttl":125,"vip":"178.62.126.152","vport":"81"}'
https://<zenlb_server>:444/zapi/v3.1/zapi.cgi/farms/newfarml4
PUT /farms/<farmname>
Ändern Sie die Konfiguration einer L4xNAT-Farm.
Parameter anfordern
Feld | Art | Beschreibung |
---|---|---|
newfarmname | Schnur | Der Name der neuen Farm. Die Farm muss gestoppt werden. |
Algorithmus | Schnur | Typ des Lastausgleichsalgorithmus, der in der Farm verwendet wird. Die Optionen sind: leastconn Verbindung immer zum kleinsten Verbindungsserver, Gewicht Verbindung linearer Versand nach Gewicht prio Verbindungen immer zu den meisten verfügbaren Preisen. |
Hörer | Schnur | Ein Listener definiert, wie die Farm mit den Anforderungen der Clients spielt. Informationsfeld, es kann nicht geändert werden. |
nattype | Schnur | Funktionsweise des 4-Kerns der Load-Balancer-Schicht Die Optionen sind: nat auch als sNAT-Modus bezeichnet, antwortet das Backend auf den Load Balancer, um die Antwort an den Client zu senden. dnat Das Backend reagiert direkt auf den Client. Load Balancer muss im Backend-Server als Gateway konfiguriert werden. |
Beharrlichkeit | Schnur | Die gleiche IP-Adresse wird mit demselben Server verbunden. Die Optionen sind: "" leerer Wert, Persistenz ist deaktiviert, ip Persistenz wird durch aktiviert, Ursprungs-IP wird wie eine eindeutige ID in Sitzung verwendet. |
Protokoll | Schnur | Protokoll, das auf der Ebene 4 abgeglichen werden soll. Die Optionen sind: alle Das Profil lädt ein beliebiges L4-Protokoll, TCP der Load Balancer balanciert nur das TCP L4-Protokoll UDP der Load Balancer balanciert nur das UDP-L4-Protokoll, Schluck der Load Balancer balanciert nur das SIP- oder VoIP-L7-Protokoll aus, ftp der Load Balancer balanciert nur das FTP-Protokoll L7 aus, tftp Nur der Lastenausgleich wird das TFTP L7-Protokoll ausgleichen. |
ttl | Nummer | Dieser Feldwert gibt die Anzahl der Sekunden an, für die die Persistenz zwischen der Clientquelle und dem Backend in Sekunden zugewiesen wird. Persistenz muss konfiguriert sein. |
vip | Schnur | IP der Farm, in der der virtuelle Dienst empfangsbereit ist. |
vport | Schnur | Port der Farm, an dem der virtuelle Dienst empfangsbereit ist. Ein eindeutiger Port kann spezifiziert werden, ein Bereichsport kann mit einem Trennzeichen angegeben werden : und mehrere Ports können mit Trennzeichen spezifiziert werden ,. |
Antwortbeispiel:
{
"description" : "Modify farm l4farm",
"params" : {
"algorithm" : "weight",
"nattype" : "nat",
"newfarmname" : "l4farm",
"persistence" : "",
"protocol" : "tcp",
"ttl" : 125,
"vip" : "178.62.126.152",
"vport" : "81"
}
}
Antwortparameter
Die Antwort wird ein Json sein, bei dem alle angeforderten Werte aktualisiert werden. Weitere Informationen finden Sie im Antwortbeispiel.
Ändern Sie den Farmwächter
Ändern Sie den Farmwächter
Anforderungsbeispiel:
curl -k -X PUT -H 'Content-Type: application/json' -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
-d '{"fgtimecheck":5,"fgscript":"Command of Farm Guardian","fgenabled":"true",
"fglog":"true","service":"service1"}' https://<zevenet_server>:444/zapi/v3.1/zapi.cgi/farms/l4farm/fg
Farmguardian wird für den erweiterten Überwachungsstatus von Backends verwendet und ist für Ihre eigenen Skripts für den aktuellen Service vollständig personalisiert. Wenn ein Problem von farmguardian erkannt wird, wird der echte Server automatisch deaktiviert und als schwarze Liste markiert.
PUT /farms/<farmname>/fg
Ändern Sie die Parameter des Farmwächters in einem L4xNAT-Service.
Parameter anfordern
Feld | Art | Beschreibung |
---|---|---|
aktiviert | Schnur | Ermöglicht die Verwendung eines Farmwächters. was immer dies auch sein sollte. Farm Guardian ist aktiviert, falsch Farm Guardian ist deaktiviert. |
fglog | Schnur | Ermöglicht die Verwendung von Protokollen im Farm Guardian. aktiviert muss aktiviert sein. |
Fgscript | Schnur | Der Befehl, den der Farm Guardian überprüft. Diese verfügbaren Befehle befinden sich im libexec-Pfad. aktiviert muss aktiviert sein. |
Fechtecheck | Nummer | Der Erziehungsberechtigte überprüft jede Sekunde des Zeitplans. aktiviert muss aktiviert sein. |
Antwortbeispiel:
{
"description" : "Modify farm guardian",
"message" : "Success, some parameters have been changed in farm guardian in farm l4farm.",
"params" : {
"fgenabled" : "true",
"fglog" : "true",
"fgscript" : "check_tcp",
"fgtimecheck" : 5
}
}
Antwortparameter
Die Antwort wird ein Json sein, bei dem alle angeforderten Werte aktualisiert werden. Weitere Informationen finden Sie im Antwortbeispiel.
Fügen Sie eine IPDS-Regel hinzu
Fügen Sie eine IPDS-Regel hinzu
Anforderungsbeispiel:
curl -k -X POST -H 'Content-Type: application/json' -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
-d '{"name":"china"}' https://<zevenet_server>:444/zapi/v3.1/zapi.cgi/farms/l4Farm/ipds/blacklists
POST /farms/<farmname>/ipds/<dos|blacklists|rbl>
Wenden Sie eine Blacklist, DoS oder RBL-Regel auf eine Farm an.
Parameter anfordern
Feld | Art | Beschreibung |
---|---|---|
Name | Schnur | IPDS-Regelname, der als eindeutiger Bezeichner verwendet wird. |
Antwortbeispiel:
{
"description" : "Apply a rule to a farm",
"message" : "Blacklist rule china was applied successful to the farm l4Farm.",
"success" : "true"
}
Entfernen Sie eine IPDS-Regel
Entfernen Sie eine IPDS-Regel
Anforderungsbeispiel:
curl -k -X DELETE -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
https://<zevenet_server>:444/zapi/v3.1/zapi.cgi/farms/l4Farm/ipds/blacklists/china
DELETE /farms/<farmname>/ipds/<dos|blacklists|rbl>/<name>
Entfernen Sie eine Blacklist-, DoS- oder RBL-Regel des IPDS-Moduls aus einer bestimmten Farm mithilfe der ID-Nummer Name.
Antwortbeispiel:
{
"description" : "Delete a rule from a farm",
"message" : "Blacklist rule china was removed successful from the farm l4Farm.",
"success" : "true"
}
L4xNAT - Backends
Listen Sie die Backends auf
Listen Sie die Backends auf
Anforderungsbeispiel:
curl -k -X GET -H 'Content-Type: application/json' -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
https://<zenlb_server>:444/zapi/v3.1/zapi.cgi/farms/l4farm/backends
GET /farms/<farmname>/backends
Rufen Sie die Liste der Backends in einem Dienst ab.
Antwortbeispiel:
{
"description" : "List backends",
"params" : [
{
"id" : 0,
"ip" : "192.5.1.1",
"max_conns" : 400,
"port" : 787,
"priority" : 1,
"status" : "up",
"weight" : 1
},
{
"id" : 1,
"ip" : "192.5.1.3",
"max_conns" : 200,
"port" : 787,
"priority" : 2,
"status" : "up",
"weight" : 1
},
]
}
Antwortparameter
Dieser Aufruf gibt ein Backend-Objektarray mit den unten angegebenen Parametern zurück.
Feld | Art | Beschreibung |
---|---|---|
id | Nummer | ID, um das Backend in der Farm zu identifizieren. |
ip | Schnur | Die IP des Backends, in der der eigentliche Dienst zuhört. |
port | Nummer | Backends Port, an dem der eigentliche Dienst lauscht. Der leere Wert wird akzeptiert und verwendet dieselbe Konfiguration wie die virtuellen Ports. |
Status | Schnur | Backend-Status Die möglichen Werte sind: upDie Farm läuft und das Backend ist bereit, Verbindungen zu empfangen. nach untenDie Farm läuft und der Dienst hat festgestellt, dass das Backend nicht funktioniert. WartungWenn das Backend vom Administrator als nicht bereit zum Empfangen von Verbindungen markiert ist, ist diese Option für die Wartungsaufgaben des Backends nützlich. undefiniert, der Backend-Status wurde nicht geprüft. |
max_conns | Nummer | Dies ist die maximale Anzahl gleichzeitiger Verbindungen für das Backend. Wenn dieses Feld den Wert 0 hat, hat das Backend kein Verbindungslimit konfiguriert. |
Prioritätsliste | Nummer | Dies ist der Prioritätswert für den aktuellen realen Server. Verbindungen immer zu den meisten verfügbaren Optionen, bei denen 1 die höchste Priorität hat. |
Gewicht | Nummer | Dies ist der Gewichtswert für den aktuellen realen Server. Backends mit mehr Gewicht erhalten mehr Verbindungen. |
Erstellen Sie ein neues Backend
Erstellen Sie ein neues Backend
Anforderungsbeispiel:
curl -k -X POST -H 'Content-Type: application/json' -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
-d '{"ip":"192.168.5.100","port":8080,"max_conns":400}'
https://<zenlb_server>:444/zapi/v3.1/zapi.cgi/farms/l4farm/backends
POST /farms/<farmname>/backends
Erstellen Sie ein neues Backend in einer bestimmten L4xNAT-Farm.
Parameter anfordern
Feld | Art | Beschreibung | Erforderlich |
---|---|---|---|
ip | Schnur | Die IP des Backends, in der der eigentliche Dienst zuhört. | was immer dies auch sein sollte. |
port | Nummer | Backends Port, an dem der eigentliche Dienst lauscht. Der leere Wert wird akzeptiert und verwendet dieselbe Konfiguration wie die virtuellen Ports. | |
max_conns | Nummer | Dies ist die maximale Anzahl gleichzeitiger Verbindungen für das Backend. Wenn dieses Feld den Wert 0 hat, hat das Backend kein Verbindungslimit konfiguriert. | |
Prioritätsliste | Nummer | Dies ist der Prioritätswert für den aktuellen realen Server. Verbindungen immer zu den meisten verfügbaren Optionen, bei denen 1 die höchste Priorität hat. Der Standardwert ist 1. | |
Gewicht | Nummer | Dies ist der Gewichtswert für den aktuellen realen Server. Backends mit mehr Gewicht erhalten mehr Verbindungen. Der Standardwert ist 1. |
Antwortbeispiel:
{
"description" : "New farm backend",
"message" : "Backend added",
"params" : {
"id" : 5,
"ip" : "192.168.5.100",
"port" : 8080,
"max_conns" : 400,
"priority" : null,
"weight" : null
}
}
Antwortparameter
Die Antwort wird ein Json sein, bei dem alle angeforderten Werte aktualisiert werden. Weitere Informationen finden Sie im Antwortbeispiel.
Backend ändern
Backend ändern
Anforderungsbeispiel:
curl -k -X PUT -H 'Content-Type: application/json' -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
-d '{"ip":"192.168.5.40","port":8080,"max_conns":220,"priority":4,"weight":7}'
https://<zenlb_server>:444/zapi/v3.1/zapi.cgi/farms/l4farm/backends/2
PUT /farms/<farmname>/backends/<id>
Ändern Sie die Parameter eines Backends in einem Service einer L4xNAT-Farm. id ist die eindeutige Kennung des Backends.
Parameter anfordern
Feld | Art | Beschreibung |
---|---|---|
ip | Schnur | Die IP des Backends, in der der eigentliche Dienst zuhört. |
port | Nummer | Backends Port, an dem der eigentliche Dienst lauscht. Der leere Wert wird akzeptiert und verwendet dieselbe Konfiguration wie die virtuellen Ports. |
max_conns | Nummer | Dies ist die maximale Anzahl gleichzeitiger Verbindungen für das Backend. Wenn dieses Feld den Wert 0 hat, hat das Backend kein Verbindungslimit konfiguriert. |
Prioritätsliste | Nummer | Dies ist der Prioritätswert für den aktuellen realen Server. Verbindungen immer zu den meisten verfügbaren Optionen, bei denen 1 die höchste Priorität hat. |
Gewicht | Nummer | Dies ist der Gewichtswert für den aktuellen realen Server. Backends mit mehr Gewicht erhalten mehr Verbindungen. |
Antwortbeispiel:
{
"description" : "Modify backend",
"message" : "Backend modified",
"params" : {
"ip" : "192.168.5.40",
"port" : 8080,
"max_conns" : 220,
"priority" : 4,
"weight" : 7
}
}
Antwortparameter
Die Antwort wird ein Json sein, bei dem alle angeforderten Werte aktualisiert werden. Weitere Informationen finden Sie im Antwortbeispiel.
Backend in der Wartung
Backend in der Wartung
Anforderungsbeispiel:
curl -k -X PUT -H 'Content-Type: application/json' -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
-d '{"action":"maintenance","mode":"cut"}'
https://<zenlb_server>:444/zapi/v3.1/zapi.cgi/farms/l4farm/backends/1/maintenance
PUT /farms/<farmname>/backends/<id>/maintenance
Legen Sie eine bestimmte Aktion in einem Backend einer L4xNAT-Farm fest. id ist die eindeutige Kennung des Backends.
Parameter anfordern
Feld | Art | Beschreibung |
---|---|---|
Aktion | Schnur | Stellen Sie die gewünschte Aktion ein. Die Aktionen sind: up das Backend ist bereit, Kundenanfragen zu empfangen, Wartung Backend ist nicht bereit, Clientanforderungen zu empfangen. Diese Aktion ist nützlich, um den Backend-Server ohne Auswirkungen auf die Clients zu stoppen. |
Modus | Schnur | Wählen Sie einen Wartungsmodus. Die verfügbaren Optionen sind: abtropfenDas Backend akzeptiert keine neuen Verbindungen, verarbeitet jedoch weiterhin die aktuellen Verbindungen. oder AusschneidenDie aktuellen Verbindungen werden geschlossen. |
Antwortbeispiel:
{
"description" : "Set backend status",
"params" : {
"action" : "maintenance",
"mode" : "cut"
}
}
Antwortparameter
Die Antwort wird ein Json sein, bei dem alle angeforderten Werte aktualisiert werden. Weitere Informationen finden Sie im Antwortbeispiel.
Löschen Sie ein Backend
Löschen Sie ein Backend
Anforderungsbeispiel:
curl -k -X DELETE -H 'Content-Type: application/json' -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
https://<zenlb_server>:444/zapi/v3.1/zapi.cgi/farms/l4farm/backends/4
DELETE /farms/<farmname>/backends/<id>
Löschen Sie ein bestimmtes Backend in einem Service einer L4xNAT-Farm.
id ist die eindeutige Kennung des Backends.
Antwortbeispiel:
{
"description" : "Delete backend",
"message" : "Backend removed",
"success" : "true"
}
GSLB-Farmen
Der Globale Dienstlastenausgleich, allgemein als GSLB bezeichnet, ermöglicht das Erstellen eines Lastausgleichsdiensts auf der Grundlage der hierarchischen DNS-Dienstarchitektur. Diese Art von Farm stellt ein ausschließlich autorisierendes DNS mit Lastausgleichsalgorithmen und Erkennung des Dienststatus auf der DNS-Anwendungsebene bereit.
Farm anhand des Namens abrufen
Farm anhand des Namens abrufen
Anforderungsbeispiel:
curl -k -X GET -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
https://<zevenet_server>:444/zapi/v3.1/zapi.cgi/farms/gslbfarm
GET /farms/<farmname>
Alle Konfigurationen einer bestimmten Farm anzeigen.
Antwortbeispiel:
{
"description" : "List farm gslbfarm",
"ipds" : {
"blacklists" : [],
"dos" : [],
"rbl" : [
"protection_ssh"
]
},
"params" : {
"status" : "needed restart",
"vip" : "192.168.100.155",
"vport" : 60
},
"services" : [
{
"algorithm" : "roundrobin",
"backends" : [
{
"id" : 1,
"ip" : "127.0.0.1",
"port" : 53,
"status" : "up"
},
{
"id" : 2,
"ip" : "192.168.55.40",
"port" : 53,
"status" : "up"
},
{
"id" : 4,
"ip" : "192.135.10.2",
"port" : 53,
"status" : "up"
}
],
"deftcpport" : 53,
"fgenabled" : "true",
"fgscript" : "check_tcp",
"fgtimecheck" : 5,
"id" : "service1"
},
{
"algorithm" : "prio",
"backends" : [
{
"id" : 1,
"ip" : "127.0.0.1",
"port" : 80,
"status" : "up"
},
{
"id" : 2,
"ip" : "127.0.0.1",
"port" : 80,
"status" : "up"
}
],
"deftcpport" : 80,
"fgenabled" : "false",
"fgscript" : "",
"fgtimecheck" : 5,
"id" : "prioServ"
}
],
"zones" : [
{
"defnamesv" : "ns3",
"id" : "global.com",
"resources" : [
{
"id" : 0,
"rdata" : "ns3",
"rname" : "@",
"ttl" : null,
"type" : "NS"
},
{
"id" : 1,
"rdata" : "192.168.100.155",
"rname" : "ns3",
"ttl" : null,
"type" : "A"
},
{
"id" : 3,
"rdata" : "resource2",
"rname" : "ns2",
"ttl" : null,
"type" : "NS"
},
{
"id" : 4,
"rdata" : "192.168.200.30",
"rname" : "resource2",
"ttl" : null,
"type" : "A"
}
]
},
{
"defnamesv" : "ns1",
"id" : "DOM.com",
"resources" : [
{
"id" : 0,
"rdata" : "ns1",
"rname" : "@",
"ttl" : null,
"type" : "NS"
},
{
"id" : 1,
"rdata" : "192.168.100.155",
"rname" : "ns1",
"ttl" : null,
"type" : "A"
}
]
}
]
}
Antwortparameter
Die Antwort wird ein JSON-Objekt mit dem folgenden Format sein.
Bauernhofobjekt:
Feld | Art | Beschreibung |
---|---|---|
ipds | Betreff | Liste der IPDS-Regeln, die auf diese Farm angewendet werden. |
params | Betreff | Parameter der Farmkonfiguration |
DIENSTLEISTUNGEN | Objekt[] | Array mit allen in dieser Farm erstellten Services und ihrer Konfiguration. |
Zonen | Objekt[] | Array mit allen in dieser Farm erstellten Zonen und ihrer Konfiguration. |
IPDS-Objekt:
Feld | Art | Beschreibung |
---|---|---|
schwarze Listen | Zeichenfolge [] | Schwarze Listen wurden auf die Farm angewendet. |
zwei | Zeichenfolge [] | Für die Farm geltende DoS-Regeln. |
rbl | Zeichenfolge [] | Für die Farm geltende RBL-Regeln. |
Parameterobjekt für GSLB-Farmen:
Feld | Art | Beschreibung |
---|---|---|
vip | Schnur | IP der Farm, in der der virtuelle Dienst empfangsbereit ist. |
vport | Nummer | Port der Farm, von der der virtuelle Dienst abhört. |
Status | Schnur | Farmstatus Die verfügbaren Statuswerte sind: nach untendie Farm läuft nicht; Neustart erforderlichDie Farm ist in Betrieb, steht jedoch vor einer Neustartaktion. kritischemDie Farm ist in Betrieb und alle Backends sind nicht erreichbar. Problem, die Farm ist in Betrieb und es gibt einige nicht erreichbare Backends, aber fast ein Backend befindet sich im Aufwärtsstatus. upDie Farm ist in Betrieb und alle Backends sind erfolgreich. |
Serviceobjekt für GSLB-Farmen:
Feld | Art | Beschreibung |
---|---|---|
Backends | Objekt[] | Im Service definierte Backends. |
aktiviert | Schnur | Aktivieren Sie die Verwendung eines Farmwächters. was immer dies auch sein sollte. Farm Guardian ist aktiviert und prüft den Backends-Status. falsch farm guardian ist deaktiviert und prüft den Backends-Status nicht. In GSLB-Profilen wird standardmäßig eine TCP-Prüfung ausgeführt, auch wenn der Farm-Guardian deaktiviert ist. |
Fgscript | Schnur | Der Befehl, den der Farmwächter zur Überprüfung der Backends-Gesundheit verwendet. was immer dies auch sein sollte. aktiviert, falsch, deaktiviert. aktiviert erforderlich. |
Fechtecheck | Nummer | Der Farm Guardian überprüft jede 'Timetocheck'-Sekunde den Backend-Gesundheitszustand. aktiviert erforderlich. |
id | Schnur | Dienstname, der als eindeutige Kennung verwendet wird. |
Algorithmus | Schnur | Typ des im Service verwendeten Lastausgleichsalgorithmus. Die Optionen sind: Roundrobin, die Verbindungen zwischen allen Backends ausgleichen oder prio Dadurch werden alle Verbindungen an das erste verfügbare Backend gesendet. |
entpacken | Nummer | Standard-TCP-Port-Integritätsprüfung Dies ist der TCP-Port für die Integritätsprüfung, den der Dienst prüfen soll, um festzustellen, ob der Backend-Dienst aktiv ist. Ein leerer Wert ist deaktiviert. |
Backend-Objekt für GSLB-Farmen:
Feld | Art | Beschreibung |
---|---|---|
id | Nummer | Eindeutiger Bezeichner für das Backend im Service. Diese Kennung wird vom System generiert. |
ip | Schnur | Die IP des Backends, in der der eigentliche Dienst zuhört. |
port | Nummer | Backends Port, an dem der eigentliche Dienst lauscht. |
Status | Schnur | Backend-Status Die möglichen Werte sind: upDie Farm läuft und das Backend ist bereit, Verbindungen zu empfangen. nach untenDie Farm läuft und der Dienst hat festgestellt, dass das Backend nicht funktioniert. undefiniert, der Backend-Status wurde nicht geprüft. |
Zonenobjekt:
Feld | Art | Beschreibung |
---|---|---|
id | Nummer | Der Name der Zone wird wie ein eindeutiger Indikator verwendet. |
defnamesv | Schnur | Dies ist der Root-Name-Server des Einstiegspunkts, der als DNS-Eintrag für Start of Authority (SOA) verfügbar ist. |
RESSOURCEN | Objekt[] | Broschüren in der Zone definiert. |
Ressourcenobjekt:
Feld | Art | Beschreibung |
---|---|---|
id | Nummer | Eindeutige Kennung für die Ressource in der Zone. |
rname | Schnur | Der Ressourcenname ist der Name, den der DNS-Dienst für die wirklich erforderlichen Daten in dem Feld übersetzt rdata. |
ttl | Nummer | Der Time-to-Live-Wert (optional) für den aktuellen Datensatz, der zum Bestimmen der Zeitdauer benötigt wird, für die der aktuelle Name zwischengespeichert wird. |
tippe | Schnur | DNS-Datensatztyp Die Optionen sind: NS, A, AAAA, CNAME, DYNA, MX, SRV, TXT, PTR or NAPTR). Weitere Informationen finden Sie in GSLB - Zonen - Ressourcen . |
rdata | Schnur | Es handelt sich um die echten Daten, die der Datensatztyp benötigt. Der Eingabewert hängt von der Art des Ressourcennamens ab. rname und der Ressourcentyp, tippe. |
Erstellen Sie eine neue Farm
Erstellen Sie eine neue Farm
Anforderungsbeispiel:
curl -k -X POST -H 'Content-Type: application/json' -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
-d '{"farmname":"gslbfarm","profile":"gslb","vip":"192.168.100.241","vport":53}'
https://<zevenet_server>:444/zapi/v3.1/zapi.cgi/farms
POST /farms
Erstellen Sie eine neue GSLB-Farm.
Parameter anfordern
Feld | Art | Beschreibung | Erforderlich |
---|---|---|---|
Hofname | Schnur | Name der Farm, eindeutige Kennung für die Farm. | was immer dies auch sein sollte. |
profile | Schnur | Das Profil der erstellten Farm. Für GSLB-Farmen gilt gslb. | was immer dies auch sein sollte. |
vip | Schnur | IP der Farm, in der der virtuelle Dienst empfangsbereit ist. | was immer dies auch sein sollte. |
vport | Nummer | Port der Farm, von der der virtuelle Dienst abhört. | was immer dies auch sein sollte. |
Antwortbeispiel:
{
"description" : "Creating farm 'gslbfarm'",
"params" : {
"farmname" : "gslbfarm",
"interface" : "eth0",
"profile" : "gslb",
"vip" : "192.168.100.241",
"vport" : 53
}
}
Antwortparameter
Die Antwort wird ein Json sein, bei dem alle angeforderten Werte aktualisiert werden. Weitere Informationen finden Sie im Antwortbeispiel.
Ändern Sie eine Farm
Ändern Sie eine Farm
Anforderungsbeispiel:
curl -k -X PUT -H 'Content-Type: application/json' -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
-d '{"newfarmname":"gslbnewname","vip":"192.168.100.155","vport":60}'
https://<zenlb_server>:444/zapi/v3.1/zapi.cgi/farms/gslbfarm
PUT /farms/<farmname>
Ändern Sie die Konfiguration einer GSLB-Farm.
Parameter anfordern
Feld | Art | Beschreibung |
---|---|---|
newfarmname | Schnur | Der Name der neuen Farm. Die Farm muss gestoppt werden, um diese Änderung vorzunehmen. |
vport | Nummer | Port der Farm, von der der virtuelle Dienst abhört. |
vip | Schnur | IP der Farm, in der der virtuelle Dienst empfangsbereit ist. |
Antwortbeispiel:
{
"description" : "Modify farm gslbnewname",
"params" : {
"newfarmname" : "gslbnewname",
"vip" : "192.168.100.155",
"vport" : 60
}
}
Antwortparameter
Die Antwort wird ein Json sein, bei dem alle angeforderten Werte aktualisiert werden. Weitere Informationen finden Sie im Antwortbeispiel.
Fügen Sie eine IPDS-Regel hinzu
Fügen Sie eine IPDS-Regel hinzu
Anforderungsbeispiel:
curl -k -X POST -H 'Content-Type: application/json' -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
-d '{"name":"china"}' https://<zevenet_server>:444/zapi/v3.1/zapi.cgi/farms/gslbFarm/ipds/blacklists
POST /farms/<farmname>/ipds/<dos|blacklists|rbl>
Wenden Sie eine Blacklist-, DoS- oder RBL-Regel auf die Farm an.
Parameter anfordern
Feld | Art | Beschreibung |
---|---|---|
Name | Schnur | IPDS-Regelname, der als eindeutiger Bezeichner verwendet wird. |
Antwortbeispiel:
{
"description" : "Apply a rule to a farm",
"message" : "Blacklist rule china was applied successful to the farm gslbFarm.",
"success" : "true"
}
Entfernen Sie eine IPDS-Regel
Entfernen Sie eine IPDS-Regel
Anforderungsbeispiel:
curl -k -X DELETE -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
https://<zevenet_server>:444/zapi/v3.1/zapi.cgi/farms/gslbFarm/ipds/blacklists/china
DELETE /farms/<farmname>/ipds/<dos|blacklists|rbl>/<name>
Entfernen Sie eine Blacklist-, DoS- oder RBL-Regel aus einer bestimmten Farm, indem Sie deren Kennung verwenden Name.
Antwortbeispiel:
{
"description" : "Delete a rule form a farm",
"message" : "Blacklist rule china was removed successful from the farm gslbFarm.",
"success" : "true"
}
GSLB - Dienstleistungen
Ein GSLB-Dienst stellt eine Gruppe realer Server und einen zugehörigen Algorithmus dar, der für sie verwendet werden soll. Um einen neuen Dienst zu erstellen, müssen Sie einen gültigen Identifikationsnamen und den gewünschten Algorithmus festlegen.
Die verfügbaren Dienstleistungen sind:
Round Robin: gleiches Teilen. Gleichmäßige Verteilung des Datenverkehrs auf alle aktiven realen Server. Für jede eingehende Verbindung weist der Balancer den nächsten Round-Robin-Real-Server zur Lieferung der Anforderung zu.
Priorität: Verbindungen immer zu den meisten verfügbaren Preisen. Verteilen Sie alle Verbindungen zu demselben Server mit der höchsten Priorität. Wenn dieser Server inaktiv ist, wechseln die Verbindungen zum nächsthöheren Server. Mit diesem Algorithmus können Sie einen Active-Pasive-Clusterdienst mit mehreren realen Servern erstellen.
Dienstobjekt für GSLB-Farmen
Feld | Art | Beschreibung |
---|---|---|
Backends | Objekt[] | Im Service definierte Backends. |
aktiviert | Schnur | Aktivieren Sie die Verwendung eines Farmwächters. was immer dies auch sein sollte. Farm Guardian ist aktiviert und prüft den Backends-Status. falsch farm guardian ist deaktiviert und prüft den Backends-Status nicht. In GSLB-Profilen wird standardmäßig eine TCP-Prüfung ausgeführt, auch wenn der Farm-Guardian deaktiviert ist. |
Fgscript | Schnur | Der Befehl, den der Farmwächter zur Überprüfung der Backends-Gesundheit verwendet. was immer dies auch sein sollte. aktiviert, falsch, deaktiviert. aktiviert erforderlich. |
Fechtecheck | Nummer | Der Farm Guardian überprüft jede 'Timetocheck'-Sekunde den Backend-Gesundheitszustand. aktiviert erforderlich. |
id | Schnur | Dienstname, der als eindeutige Kennung verwendet wird. |
Algorithmus | Schnur | Typ des im Service verwendeten Lastausgleichsalgorithmus. Die Optionen sind: Roundrobin, die Verbindungen zwischen allen Backends ausgleichen oder prio Dadurch werden alle Verbindungen an das erste verfügbare Backend gesendet. |
entpacken | Schnur | Standard-TCP-Port-Integritätsprüfung Dies ist der TCP-Port für die Integritätsprüfung, den der Dienst prüfen soll, um festzustellen, ob der Backend-Dienst aktiv ist. Ein leerer Wert ist deaktiviert. |
Erstellen Sie einen neuen Service
Erstellen Sie einen neuen Service
Anforderungsbeispiel:
curl -k -X POST -H 'Content-Type: application/json' -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
-d '{"id":"service1","algorithm":"roundrobin"}' https://<zenlb_server>:444/zapi/v3.1/zapi.cgi/farms/gslbfarm/services
POST /farms/<farmname>/services
Erstellen Sie einen Service in einer bestimmten GSLB-Farm. Die Farm muss neu gestartet werden, um diese Änderung anzuwenden.
Parameter anfordern
Feld | Art | Beschreibung | Erforderlich |
---|---|---|---|
id | Schnur | Dienstname, der als eindeutige Kennung verwendet wird. | was immer dies auch sein sollte. |
Algorithmus | Schnur | Typ des im Service verwendeten Lastausgleichsalgorithmus. Die Optionen sind: Roundrobin, die Verbindungen zwischen allen Backends ausgleichen oder prio Dadurch werden alle Verbindungen an das erste verfügbare Backend gesendet. | was immer dies auch sein sollte. |
Antwortbeispiel:
{
"description" : "New service service1",
"params" : {
"algorithm" : "roundrobin",
"id" : "service1"
},
"status" : "needed restart"
}
Antwortparameter
Die Antwort wird ein Json sein, bei dem alle angeforderten Werte aktualisiert werden. Weitere Informationen finden Sie im Antwortbeispiel.
Ändern Sie einen Service
Ändern Sie einen Service
Anforderungsbeispiel:
curl -k -X PUT -H 'Content-Type: application/json' -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
-d '{"deftcpport":53}' https://<zenlb_server>:444/zapi/v3.1/zapi.cgi/farms/gslbfarm/services/service1
PUT /farms/<farmname>/services/<id>
Ändern Sie die Parameter eines Dienstes in einer GSLB-Farm. id ist die eindeutige Kennung des Dienstes, die geändert wird.
Parameter anfordern
Feld | Art | Beschreibung |
---|---|---|
entpacken | Nummer | Dies ist der TCP-Port für die Integritätsprüfung, den der Dienst prüfen soll, um festzustellen, ob der Backend-Dienst aktiv ist. |
Antwortbeispiel:
{
"description" : "Modify service service1 in farm gslbfarm",
"info" : "There're changes that need to be applied, stop and start farm to apply them!",
"params" : {
"deftcpport" : 53
},
"status" : "needed restart"
}
Antwortparameter
Die Antwort wird ein Json sein, bei dem alle angeforderten Werte aktualisiert werden. Weitere Informationen finden Sie im Antwortbeispiel.
Ändern Sie den Farmwächter
Ändern Sie den Farmwächter
Anforderungsbeispiel:
curl -k -X PUT -H 'Content-Type: application/json' -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
-d '{"fgtimecheck":"5","fgscript":"check_tcp","fgenabled":"true",
"service":"service1"}' https://<zevenet_server>:444/zapi/v3.1/zapi.cgi/farms/gslbfarm/fg
Farmguardian wird für den erweiterten Überwachungsstatus von Backends verwendet und ist für Ihre eigenen Skripts für den aktuellen Service vollständig personalisiert. Wenn ein Problem von farmguardian erkannt wird, wird der echte Server automatisch deaktiviert und als schwarze Liste markiert.
PUT /farms/<farmname>/fg
Ändern Sie die Parameter des Farmwächters in einem GSLB-Service.
Parameter anfordern
Feld | Art | Beschreibung | Erforderlich |
---|---|---|---|
aktiviert | Schnur | Aktivieren Sie die Verwendung eines Farmwächters. was immer dies auch sein sollte. Farm Guardian ist aktiviert und prüft den Backends-Status. falsch farm guardian ist deaktiviert und prüft den Backends-Status nicht. In GSLB-Profilen wird standardmäßig eine TCP-Prüfung ausgeführt, auch wenn fgenabled deaktiviert ist. | |
Fgscript | Schnur | Der Befehl, den der Farmwächter zur Überprüfung der Backends-Gesundheit verwendet. was immer dies auch sein sollte. aktiviert, falsch, deaktiviert. | wahr wenn aktiviert aktiviert. |
Fechtecheck | Nummer | Der Farm Guardian überprüft jede 'Timetocheck'-Sekunde den Backend-Gesundheitszustand. aktiviert erforderlich. | |
serviceorientiert | Schnur | Die Dienstkennung, id, welcher Farmwächter ändert. | was immer dies auch sein sollte. |
Antwortbeispiel:
{
"description" : "Modify farm guardian",
"message" : "Success, some parameters have been changed in farm guardian in farm gslbfarm.",
"params" : {
"fgenabled" : "true",
"fgscript" : "check_tcp",
"fgtimecheck" : 5
},
"status" : "needed restart"
}
Antwortparameter
Die Antwort wird ein Json sein, bei dem alle angeforderten Werte aktualisiert werden. Weitere Informationen finden Sie im Antwortbeispiel.
Einen Dienst löschen
Einen Dienst löschen
Anforderungsbeispiel:
curl -k -X DELETE -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
https://<zenlb_server>:444/zapi/v3.1/zapi.cgi/farms/gslbfarm/services/service1
DELETE /farms/<farmname>/services/<id>
Löschen Sie einen bestimmten Service einer GSLB-Farm. id ist die eindeutige Kennung des Dienstes, die gelöscht wird.
Antwortbeispiel:
{
"description" : "Delete service service1 in farm gslbfarm",
"message" : "The service service1 in farm gslbfarm has been deleted.",
"success" : "true",
"status": "needed restart"
}
GSLB - Services - Backends
In diesem Abschnitt wird die echte Dienstliste verwaltet, die einem Dienst zugeordnet ist.
Listen Sie die Backends auf
Listen Sie die Backends auf
Anforderungsbeispiel:
curl -k -X GET -H 'Content-Type: application/json' -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
https://<zenlb_server>:444/zapi/v3.1/zapi.cgi/farms/gslbfarm/services/service1/backends
GET /farms/<farmname>/services/<id>/backends
Rufen Sie die Liste der Backends in einem Dienst ab. id ist die eindeutige Kennung des Dienstes.
Antwortbeispiel:
{
"description" : "List service backends",
"params" : [
{
"id" : 1,
"ip" : "127.0.0.1",
"port":53,
"status":"up"
},
{
"id" : 2,
"ip" : "192.168.55.40",
"port":53,
"status":"up"
}
]
}
Antwortparameter
Dieser Aufruf gibt ein Backend-Objektarray mit den unten angegebenen Parametern zurück.
Feld | Art | Beschreibung |
---|---|---|
id | Nummer | Eindeutiger Bezeichner für das Backend im Service. Diese Kennung wird vom System generiert. |
ip | Schnur | IP des Backends, wo der echte Dienst lauscht. |
port | Nummer | Backends Port, an dem der eigentliche Dienst lauscht. |
Status | Schnur | Backend-Status Die möglichen Werte sind: upDie Farm läuft und das Backend ist bereit, Verbindungen zu empfangen. nach untenDie Farm läuft und der Dienst hat festgestellt, dass das Backend nicht funktioniert. undefiniert, der Backend-Status wurde nicht geprüft. |
Erstellen Sie ein neues Backend
Erstellen Sie ein neues Backend
Anforderungsbeispiel:
curl -k -X POST -H 'Content-Type: application/json' -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
-d '{"ip":"192.135.10.2"}'
https://<zenlb_server>:444/zapi/v3.1/zapi.cgi/farms/gslbfarm/services/service1/backends
POST /farms/<farmname>/services/<id>/backends
Erstellen Sie ein neues Backend in einem bestimmten Service in einer GSLB-Farm. id ist die eindeutige Kennung des Dienstes, an der das Backend hinzugefügt wird.
Die Prioritätsdienste verfügen über 2-Backends als maximun, den aktiven Host und den passiven Host.
Parameter anfordern
Feld | Art | Beschreibung | Erforderlich |
---|---|---|---|
ip | Schnur | IP des Backends, wo der echte Dienst lauscht. | was immer dies auch sein sollte. |
Antwortbeispiel:
{
"description" : "New service backend",
"message" : "Added backend to service succesfully",
"params" : {
"id" : 4,
"ip" : "192.135.10.2"
},
"status" : "needed restart"
}
Antwortparameter
Die Antwort wird ein Json sein, bei dem alle angeforderten Werte aktualisiert werden. Weitere Informationen finden Sie im Antwortbeispiel.
Backend ändern
Backend ändern
Anforderungsbeispiel:
curl -k -X PUT -H 'Content-Type: application/json' -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
-d '{"ip":"192.168.2.30"}'
https://<zenlb_server>:444/zapi/v3.1/zapi.cgi/farms/gslbfarm/services/service1/backends/1
PUT /farms/<farmname>/services/<id>/backends/<id>
Ändern Sie die Parameter eines Backends in einem Service einer GSLB-Farm.
Beachten Sie in der PUT
darüber das erste id ist die eindeutige Kennung des Dienstes und next id ist die eindeutige Kennung des Backends.
Parameter anfordern
Feld | Art | Beschreibung |
---|---|---|
ip | Schnur | IP des Backends, wo der echte Dienst lauscht. |
Antwortbeispiel:
{
"description" : "Modify service backend",
"info" : "There're changes that need to be applied, stop and start farm to apply them!",
"message" : "Backend modified",
"params" : {
"ip" : "192.168.2.30"
},
"status" : "needed restart"
}
Antwortparameter
Die Antwort wird ein Json sein, bei dem alle angeforderten Werte aktualisiert werden. Weitere Informationen finden Sie im Antwortbeispiel.
Löschen Sie ein Backend
Löschen Sie ein Backend
Anforderungsbeispiel:
curl -k -X DELETE -H 'Content-Type: application/json' -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
https://<zenlb_server>:444/zapi/v3.1/zapi.cgi/farms/gslbfarm/services/service1/backends/3
DELETE /farms/<farmname>/services/<servicename>/backends/<id>
Löschen Sie ein bestimmtes Backend in einem Service einer GSLB-Farm
Antwortbeispiel:
{
"description" : "Delete service backend",
"message" : "Backend removed",
"success" : "true"
}
GSLB - Zonen
Im Abschnitt GSLB-Zone werden der DNS-Domänenname, Subdomains, Aliasnamen usw. beschrieben, die zum Generieren einer vollständigen DNS-Zone mit zusätzlichen Lastausgleichsdatensätzen unter Verwendung der definierten Dienste erforderlich sind.
Zone erstellen
Zone erstellen
Anforderungsbeispiel:
curl -k -X POST -H 'Content-Type: application/json' -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
-d '{"id":"global.conf"}'
https://<zenlb_server>:444/zapi/v3.1/zapi.cgi/farms/gslbfarm/zones
POST /farms/<farmname>/zones
Erstellen Sie eine DNS-Zone.
Anforderungsparameter
Dieser Aufruf gibt ein Backend-Objektarray mit den unten angegebenen Parametern zurück.
Feld | Art | Beschreibung | Erforderlich |
---|---|---|---|
id | Nummer | Der Name der Zone wird wie ein eindeutiger Indikator verwendet. | was immer dies auch sein sollte. |
Antwortbeispiel:
{
"description" : "New zone global.com",
"params" : {
"id" : "global.com"
}
}
Antwortparameter
Die Antwort wird ein Json sein, bei dem alle angeforderten Werte aktualisiert werden. Weitere Informationen finden Sie im Antwortbeispiel.
Ändern Sie eine Zone
Ändern Sie eine Zone
Anforderungsbeispiel:
curl -k -X PUT -H 'Content-Type: application/json' -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
-d '{"defnamesv":"ns3"}'
https://<zenlb_server>:444/zapi/v3.1/zapi.cgi/farms/gslbfarm/zones/global.com
PUT /farms/<farmname>/zones/<id>
Ändern Sie die Parameter einer Zone. id ist die eindeutige Kennung der Zone, die geändert wird.
Anforderungsparameter
Dieser Aufruf gibt ein Backend-Objektarray mit den unten angegebenen Parametern zurück.
Feld | Art | Beschreibung |
---|---|---|
defnamesv | Schnur | Dies ist der Root-Name-Server des Einstiegspunkts, der als DNS-Eintrag für Start of Authority (SOA) verfügbar ist. |
Antwortbeispiel:
{
"description" : "Modify zone global.com in farm gslbfarm",
"params" : {
"defnamesv" : "ns3"
}
}
Antwortparameter
Die Antwort wird ein Json sein, bei dem alle angeforderten Werte aktualisiert werden. Weitere Informationen finden Sie im Antwortbeispiel.
Löschen Sie eine Zone
Löschen Sie eine Zone
Anforderungsbeispiel:
curl -k -X DELETE -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
https://<zenlb_server>:444/zapi/v3.1/zapi.cgi/farms/gslbfarm/zones/dom.com
DELETE /farms/<farmname>/zones/<id>
Löschen Sie eine bestimmte Zone einer GSLB-Farm.
Antwortbeispiel:
{
"description" : "Delete zone dom.com in farm gslbfarm.",
"message" : "The zone dom.com in farm gslbfarm has been deleted.",
"success" : "true"
}
GSLB - Zonen - Ressourcen
Als DNS-Dienst definierte Ressourcen lösen Anforderungen auf. Die möglichen DNS-Ressourcen in Zevenet-Lastverteilung sind:
- NS. Name Server Type Record, delegiert eine DNS-Zone zur Verwendung der angegebenen autorisierenden Nameserver.
- A. Adresstyp-Datensatz, gibt eine IPv4-Adresse eines Hosts zurück.
- CNAME. Canonical Name Type Record, repräsentiert einen Alias eines Vornamens.
- DYNA. Datensatz des dynamischen Adresstyps. Er gibt eine dynamische Adresse zurück, die von einem GSLB-Service angegeben wurde, der bereits in der Farmkonfiguration gemäß dem für diesen Service ausgewählten Algorithmus erstellt wurde.
- AAAA. Adresstyp-Datensatz, gibt eine IPv6-Adresse eines Hosts zurück.
- MX. Mail Exchange-Typdatensatz ordnet einen Domänennamen einer Liste von Nachrichtenübertragungsagenten für diese Domäne zu.
- SRV. Datensatz des Service Locator-Typs, Generalized Service Location-Datensatz, der für neuere Protokolle verwendet wird, anstatt protokollspezifische Datensätze wie MX zu erstellen.
- TXT. Textartdatensatz wird zum Speichern von textbasierten Informationen verwendet, die bei Bedarf abgerufen werden können. Am häufigsten werden TXT-Einträge angezeigt, die zum Speichern von SPF-Daten und zum Überprüfen des Domänenbesitzes dienen.
- PTR. Zeigersatz, Zeiger auf einen kanonischen Namen. Im Gegensatz zu einem CNAME wird die DNS-Verarbeitung angehalten und es wird nur der Name zurückgegeben. Die häufigste Verwendung ist die Implementierung von Reverse-DNS-Lookups.
- NAPTR. Autorisierungszeiger benennen, Ermöglicht das regelbasierte Umschreiben von Domänennamen, die dann als URIs, weitere Domänennamen für Suchvorgänge usw. verwendet werden können.
Listen Sie die Ressourcen auf
Listen Sie die Ressourcen auf
Anforderungsbeispiel:
curl -k -X GET -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
https://<zenlb_server>:444/zapi/v3.1/zapi.cgi/farms/gslbfarm/zones/global.com/resources
GET /farms/<farmname>/zones/<id>/resources
Rufen Sie die Liste der Ressourcen in einer Zone ab. id ist die eindeutige Kennung der Zone.
Antwortbeispiel:
{
"description" : "List zone resources",
"params" : [
{
"id" : 0,
"rdata" : "ns3",
"rname" : "@",
"ttl" : null,
"type" : "NS"
},
{
"id" : 1,
"rdata" : "192.168.100.155",
"rname" : "ns3",
"ttl" : null,
"type" : "A"
},
{
"id" : 2,
"rdata" : "192.168.0.9",
"rname" : "resource2",
"ttl" : 10,
"type" : "A"
},
{
"id" : 3,
"rdata" : "resource2",
"rname" : "ns2",
"ttl" : null,
"type" : "NS"
}
]
}
Antwortparameter
Dieser Aufruf gibt ein Ressourcenobjektarray mit den unten angegebenen Parametern zurück.
Feld | Art | Beschreibung |
---|---|---|
id | Nummer | Eindeutige Kennung für die Ressource in der Zone. |
rname | Schnur | Der Ressourcenname ist der Name, den der DNS-Dienst für die wirklich erforderlichen Daten in dem Feld übersetzt rdata. |
ttl | Nummer | Der Time-to-Live-Wert (optional) für den aktuellen Datensatz, der zum Bestimmen der Zeitdauer benötigt wird, für die der aktuelle Name zwischengespeichert wird. |
tippe | Schnur | DNS-Datensatztyp Die Optionen sind: NS, A, AAAA, CNAME, DYNA, MX, SRV, TXT, PTR or NAPTR). Weitere Informationen finden Sie in GSLB - Zonen - Ressourcen . |
rdata | Schnur | Es handelt sich um die echten Daten, die der Datensatztyp benötigt. Der Eingabewert hängt von der Art des Ressourcennamens ab. rname und der Ressourcentyp, tippe. |
Erstellen Sie eine neue Ressource
Erstellen Sie eine neue Ressource
Anforderungsbeispiel:
curl -k -X POST -H 'Content-Type: application/json' -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
-d '{"rname":"resource2", "rdata":"192.168.0.9", "ttl":10, "type":"A" }'
https://<zenlb_server>:444/zapi/v3.1/zapi.cgi/farms/gslbfarm/zones/global.com/resources
POST /farms/<farmname>/zones/<id>/resources
Erstellen Sie eine neue Ressource in einer bestimmten Zone in einer GSLB-Farm. id ist die eindeutige Kennung der Zone, an der die Ressource hinzugefügt wird.
Parameter anfordern
Feld | Art | Beschreibung | Erforderlich |
---|---|---|---|
rname | Schnur | Der Ressourcenname ist der Name, den der DNS-Dienst für die wirklich erforderlichen Daten in dem Feld übersetzt rdata. | was immer dies auch sein sollte. |
ttl | Nummer | Der Time to Live-Wert für den aktuellen Datensatz. Es ist die maximale Anzahl von Router-Geräten, die die Anfrage durchlaufen kann. Es ist nützlich, dass das Paket nicht in eine Netzschleife eingegeben wird. | |
tippe | Schnur | DNS-Datensatztyp Die Optionen sind: NS, A, AAAA, CNAME, DYNA, MX, SRV, TXT, PTR or NAPTR). Weitere Informationen finden Sie in GSLB - Zonen - Ressourcen . | was immer dies auch sein sollte. |
rdata | Schnur | Es handelt sich um die echten Daten, die der Datensatztyp benötigt. Der Eingabewert hängt von der Art des Ressourcennamens ab. rname und der Ressourcentyp, tippe. Wenn DYNA ist ausgewählt in tippe dann muss der rdata-Wert einer der konfigurierten sein DIENSTLEISTUNGEN in dieser Zone. | was immer dies auch sein sollte. |
Antwortbeispiel:
{
"description" : "New zone resource",
"message" : "Resource added",
"params" : {
"rdata" : "192.168.0.9",
"rname" : "resource2",
"ttl" : 10,
"type" : "A",
"zone" : "global.com"
}
}
Antwortparameter
Die Antwort wird ein Json sein, bei dem alle angeforderten Werte aktualisiert werden. Weitere Informationen finden Sie im Antwortbeispiel.
Ändern Sie eine Ressource
Ändern Sie eine Ressource
Anforderungsbeispiel:
curl -k -X PUT -H 'Content-Type: application/json' -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
-d '{"rname":"resource2", "rdata":"192.168.200.30","ttl":null, "type":"A" }'
https://<zenlb_server>:444/zapi/v3.1/zapi.cgi/farms/gslbfarm/zones/global.com/resources/1
PUT /farms/<farmname>/zones/<id>/resources/<id>
Ändern Sie die Parameter einer Ressource in einer Zone einer GSLB-Farm.
Vorname id Als nächstes ist die eindeutige Kennung der Zone id ist die eindeutige Ressourcenkennung.
Parameter anfordern
Feld | Art | Beschreibung |
---|---|---|
rname | Schnur | Der Ressourcenname ist der Name, den der DNS-Dienst für die wirklich erforderlichen Daten in dem Feld übersetzt rdata. |
ttl | Nummer | Der Time-to-Live-Wert (optional) für den aktuellen Datensatz, der zum Bestimmen der Zeitdauer benötigt wird, für die der aktuelle Name zwischengespeichert wird. |
tippe | Schnur | DNS-Datensatztyp Die Optionen sind: NS, A, AAAA, CNAME, DYNA, MX, SRV, TXT, PTR or NAPTR). Weitere Informationen finden Sie in GSLB - Zonen - Ressourcen . |
rdata | Schnur | Es handelt sich um die echten Daten, die der Datensatztyp benötigt. Der Eingabewert hängt von der Art des Ressourcennamens ab. rname und der Ressourcentyp, tippe. Wenn tippe wird mit Wert geladen DYNA dann rdata muss mit einem verfügbaren geladen werden serviceorientiert Name |
Antwortbeispiel:
{
"description" : "Modify zone resource",
"message" : "Resource modified",
"params" : {
"rdata" : "192.168.200.30",
"rname" : "resource2",
"ttl" : null,
"type" : "A"
},
"success" : "true"
}
Antwortparameter
Die Antwort wird ein Json sein, bei dem alle angeforderten Werte aktualisiert werden. Weitere Informationen finden Sie im Antwortbeispiel.
Eine Ressource löschen
Eine Ressource löschen
Anforderungsbeispiel:
curl -k -X DELETE -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
https://<zenlb_server>:444/zapi/v3.1/zapi.cgi/farms/gslbfarm/zones/global.com/resources/3
DELETE /farms/<farmname>/zones/<id>/resources/<id>
Löschen Sie eine gegebene Ressource in einer Zone einer GSLB-Farm
Beachten Sie, dass in DELETE
URI über dem ersten id ist die eindeutige Kennung der Zone und next id ist die eindeutige Ressourcenkennung.
Antwortbeispiel:
{
"description" : "Delete zone resource",
"message" : "Resource removed",
"success" : "true"
}
Datalink-Farmen
Das datalink-Farmprofil ermöglicht das Erstellen einer routenbasierten Farm, bei der die Backends Router oder Gateways sind. Dieses Farmprofil ist bereit, mehrere Uplink-WAN-Router-Zugriffe über den Load Balancer als Uplink-Channel-Multiplexer (1-Eingang und mehrere Router-Line-Ausgänge) gemeinsam zu nutzen. Daher können die Datenverbindungsfarmen als Kommunikationsverbindungen mit hoher Verfügbarkeit verwendet werden und zusätzlich als Bandbreitenerhöhung verwendet werden, die sich dem Umfang der Bandbreite zwischen den Backends-Verbindungen des Routers anschließen.
Farm anhand des Namens abrufen
Farm anhand des Namens abrufen
Anforderungsbeispiel:
curl -k -X GET -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
https://<zevenet_server>:444/zapi/v3.1/zapi.cgi/farms/dlink
GET /farms/<farmname>
Zeigt alle Konfigurationen einer Farm an.
Antwortbeispiel:
{
"backends" : [
{
"id" : 0,
"interface" : "eth0",
"ip" : "192.168.100.10",
"priority" : 2,
"status" : "undefined",
"weight" : 2
},
{
"id" : 1,
"interface" : "eth0",
"ip" : "192.168.100.11",
"priority" : 2,
"status" : "undefined",
"weight" : 1
}
],
"description" : "List farm dlink",
"params" : {
"algorithm" : "weight",
"status" : "down",
"vip" : "192.168.100.199"
}
}
Antwortparameter
Die Antwort wird ein JSON-Objekt mit dem folgenden Format sein.
Bauernhofobjekt:
Feld | Art | Beschreibung |
---|---|---|
params | Betreff | Parameter der Farmkonfiguration |
Backends | Objekt[] | In dieser Farm erstellte echte Server und ihre Konfiguration. |
Parameterobjekt für Datenlinkfarmen:
Feld | Art | Beschreibung |
---|---|---|
Algorithmus | Schnur | Typ des Lastausgleichsalgorithmus, der in der Farm verwendet wird. Die Optionen sind: Gewichtverteilt der Balancer unter allen verfügbaren Backends mehrere Ladedackends mit höherem Gewicht oder prio, der alle Verbindungen mit dem untergeordneten Wert von an das Backend sendet Prioritätsliste. |
Status | Schnur | Farmstatus Die verfügbaren Statuswerte sind: nach untendie Farm läuft nicht; Neustart erforderlichDie Farm ist in Betrieb, steht jedoch vor einer Neustartaktion. kritischemDie Farm ist in Betrieb und alle Backends sind nicht erreichbar. Problem, die Farm ist in Betrieb und es gibt einige nicht erreichbare Backends, aber fast ein Backend befindet sich im Aufwärtsstatus. upDie Farm ist in Betrieb und alle Backends sind erfolgreich. |
vip | Schnur | IP der Farm, in der der virtuelle Dienst empfangsbereit ist. |
Backend-Objekt für DataLink-Farmen:
Feld | Art | Beschreibung |
---|---|---|
id | Nummer | Eindeutige Kennung für das Backend in der Farm. |
ip | Schnur | IP des Backends, wo der echte Dienst lauscht. |
Schnittstelle | Schnur | Es ist die lokale Netzwerkschnittstelle, mit der das Backend verbunden ist. |
Prioritätsliste | Nummer | Dies ist der Prioritätswert für den aktuellen realen Server. Es wird verwendet, wenn Algorithmus Feld ist Konfiguration als Prio und niedrigere Priorität wird Vorrang haben |
Status | Schnur | Backend-Status Die möglichen Werte sind: upDie Farm läuft und das Backend ist bereit, Verbindungen zu empfangen. nach untenDie Farm läuft und der Dienst hat festgestellt, dass das Backend nicht funktioniert. undefiniert, der Backend-Status wurde nicht geprüft. |
Gewicht | Nummer | Dies ist der Gewichtswert für den aktuellen realen Server. Es wird verwendet, wenn Algorithmus Feld ist Konfiguration als Gewicht. |
Erstellen Sie eine neue Farm
Erstellen Sie eine neue Farm
Anforderungsbeispiel:
curl -k -X POST -H 'Content-Type: application/json' -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
-d '{"farmname":"dlink", "vip":"192.168.100.241", "profile":"datalink" }'
https://<zevenet_server>:444/zapi/v3.1/zapi.cgi/farms
POST /farms
Erstellen Sie eine neue Datenlinkfarm.
Parameter anfordern
Feld | Art | Beschreibung | Erforderlich |
---|---|---|---|
Hofname | Schnur | Name der Farm, eindeutige Kennung | was immer dies auch sein sollte. |
profile | Schnur | Das Profil der erstellten Farm. Für Datalink-Farmen gilt Datalink | was immer dies auch sein sollte. |
vip | Schnur | IP der Farm, in der der virtuelle Dienst empfangsbereit ist. | was immer dies auch sein sollte. |
Antwortbeispiel:
{
"description" : "Creating farm 'dlink'",
"params" : {
"farmname" : "dlink",
"interface" : "eth0",
"profile" : "datalink",
"vip" : "192.168.100.241"
}
}
Antwortparameter
Die Antwort wird ein Json sein, bei dem alle angeforderten Werte aktualisiert werden. Weitere Informationen finden Sie im Antwortbeispiel.
Ändern Sie eine Farm
Ändern Sie eine Farm
Anforderungsbeispiel:
curl -k -X PUT -H 'Content-Type: application/json' -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
-d '{"newfarmname":"dlink2", "vip":"192.168.100.199","algorithm":"weight"}'
https://<zenlb_server>:444/zapi/v3.1/zapi.cgi/farms/dlink
PUT /farms/<farmname>
Ändern Sie die Konfiguration einer Datenlinkfarm.
Parameter anfordern
Feld | Art | Beschreibung |
---|---|---|
newfarmname | Schnur | Der neue Hofname Farm muss gestoppt werden. |
Algorithmus | Schnur | Typ des Lastausgleichsalgorithmus, der in der Farm verwendet wird. Die Optionen sind: Gewichtverteilt der Balancer unter allen verfügbaren Backends mehrere Ladedackends mit höherem Gewicht oder prio, der alle Verbindungen mit dem untergeordneten Wert von an das Backend sendet Prioritätsliste. |
vip | Schnur | IP der Farm, in der der virtuelle Dienst empfangsbereit ist. |
Antwortbeispiel:
{
"description" : "Modify farm dlink",
"params" : {
"algorithm" : "weight",
"vip" : "192.168.100.199",
"newfarmname" : "dlink2"
}
}
Antwortparameter
Die Antwort wird ein Json sein, bei dem alle angeforderten Werte aktualisiert werden. Weitere Informationen finden Sie im Antwortbeispiel.
Datenlink - Backends
Backends in DataLink-Farmen sind die Gateways für das Routing des Dienstes. Der Dienst wird zwischen diesen Gateways multiplexen, und einige davon sind nicht verfügbar. Der Dienst verwendet die anderen.
Listen Sie die Backends auf
Listen Sie die Backends auf
Anforderungsbeispiel:
curl -k -X GET -H 'Content-Type: application/json' -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
https://<zenlb_server>:444/zapi/v3.1/zapi.cgi/farms/dlink/backends
GET /farms/<farmname>/backends
Rufen Sie die Liste der Backends in einem Dienst ab.
Antwortbeispiel:
[
{
"id" : 6,
"interface" : "eth0",
"ip" : "192.168.100.10",
"priority" : 2,
"status" : "undefined",
"weight" : 2
},
{
"id" : 7,
"interface" : "eth0",
"ip" : "192.168.100.11",
"priority" : 2,
"status" : "undefined",
"weight" : 1
}
]
Antwortparameter
Dieser Aufruf gibt ein Backend-Objektarray mit den unten angegebenen Parametern zurück.
Feld | Art | Beschreibung |
---|---|---|
id | Nummer | Eindeutige Kennung für das Backend in der Farm. Diese Kennung wird vom System generiert. |
Schnittstelle | Schnur | Es ist die lokale Netzwerkschnittstelle, mit der das Backend verbunden ist. |
ip | Schnur | IP des Backends, wo der echte Dienst lauscht. |
Prioritätsliste | Nummer | Dies ist der Prioritätswert für das aktuelle Backend. Es wird verwendet, wenn Algorithmus Feld ist Konfiguration als Prio und niedrigere Priorität wird Vorrang haben. |
Status | Schnur | Backend-Status Die möglichen Werte sind: upDie Farm läuft und das Backend ist bereit, Verbindungen zu empfangen. nach untenDie Farm läuft und der Dienst hat festgestellt, dass das Backend nicht funktioniert. undefiniert, der Backend-Status wurde nicht geprüft. |
Gewicht | Nummer | Dies ist der Gewichtswert für das aktuelle Backend. Es wird verwendet, wenn Algorithmus Feld ist Konfiguration als Gewicht. |
Erstellen Sie ein neues Backend
Erstellen Sie ein neues Backend
Anforderungsbeispiel:
curl -k -X POST -H 'Content-Type: application/json' -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
-d '{"ip":"192.168.100.10","interface":"eth0","priority":2,"weight":2}'
https://<zenlb_server>:444/zapi/v3.1/zapi.cgi/farms/dlink/backends
POST /farms/<farmname>/backends
Erstellen Sie ein neues Backend in einer bestimmten Datenlinkfarm.
Parameter anfordern
Feld | Art | Beschreibung | Erforderlich |
---|---|---|---|
ip | Schnur | IP des Backends, wo der echte Dienst lauscht. | was immer dies auch sein sollte. |
Schnittstelle | Schnur | Es ist die lokale Netzwerkschnittstelle, mit der das Backend verbunden ist. | was immer dies auch sein sollte. |
Prioritätsliste | Nummer | Dies ist der Prioritätswert für den aktuellen Server. Er wird verwendet, wenn Algorithmus Feld ist Konfiguration als Prio und niedrigere Priorität wird Vorrang haben. Der Standardwert ist 1. | |
Gewicht | Nummer | Dies ist der Gewichtswert für das aktuelle Backend. Es wird verwendet, wenn Algorithmus Feld ist Konfiguration als Gewicht. Der Standardwert ist 1. |
Antwortbeispiel:
{
"description" : "New farm backend",
"message" : "Backend added",
"params" : {
"id" : 6,
"interface" : "eth0",
"ip" : "192.168.100.10",
"priority" : 2,
"weight" : 2
}
}
Antwortparameter
Die Antwort wird ein Json sein, bei dem alle angeforderten Werte aktualisiert werden. Weitere Informationen finden Sie im Antwortbeispiel.
Backend ändern
Backend ändern
Anforderungsbeispiel:
curl -k -X PUT -H 'Content-Type: application/json' -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
-d '{"ip":"192.168.102.50","interface":"eth0", "weight":1,"timeout":1}'
https://<zenlb_server>:444/zapi/v3.1/zapi.cgi/farms/datalink/backends/2
PUT /farms/<farmname>/backends/<id>
Ändern Sie die Parameter eines Backends in einem Service einer Datenlink-Farm. id ist die eindeutige Kennung des Backends.
Parameter anfordern
Feld | Art | Beschreibung |
---|---|---|
ip | Schnur | IP des Backends, wo der echte Dienst lauscht. |
Schnittstelle | Schnur | Es ist die lokale Netzwerkschnittstelle, mit der das Backend verbunden ist. |
Prioritätsliste | Nummer | Dies ist der Prioritätswert für den aktuellen Server. Er wird verwendet, wenn Algorithmus Feld ist Konfiguration als Prio und niedrigere Priorität wird Vorrang haben. Der Standardwert ist 1. |
Gewicht | Nummer | Dies ist der Gewichtswert für das aktuelle Backend. |
Antwortbeispiel:
{
"description" : "Modify backend",
"message" : "Backend modified",
"params" : {
"interface" : "eth0",
"ip" : "192.168.102.50",
"timeout" : 1,
"weight" : 1
}
}
Antwortparameter
Die Antwort wird ein Json sein, bei dem alle angeforderten Werte aktualisiert werden. Weitere Informationen finden Sie im Antwortbeispiel.
Löschen Sie ein Backend
Löschen Sie ein Backend
Anforderungsbeispiel:
curl -k -X DELETE -H 'Content-Type: application/json' -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
https://<zenlb_server>:444/zapi/v3.1/zapi.cgi/farms/dlink/backends/4
DELETE /farms/<farmname>/backends/<id>
Löschen Sie ein bestimmtes Backend in einem Service einer Datenlink-Farm. id ist die eindeutige Kennung des Backends.
Antwortbeispiel:
{
"description" : "Delete backend",
"message" : "Backend removed",
"success" : "true"
}
Netzwerken
Zevenet kann mit verschiedenen Arten von Netzwerkschnittstellen arbeiten.
In diesem Abschnitt können Sie eine Aktion in NIC-, VLAN-, virtuellen und Bonding-Schnittstellen auflisten, erstellen, konfigurieren, löschen und festlegen.
nic: oder Netzwerkschnittstellenkarte ist eine Computerhardwarekomponente. Diese Art von Schnittstelle ist die Basis für die folgenden Arten von Schnittstellen, die in Zevenet definiert und verwaltet werden können.
vlan: oder eine virtuelle LAN-Karte ist eine Art oder Netzwerkschnittstelle, die Netzwerksegmentierungsdienste bereitstellt. Es können mehrere VLANs über eine nette Schnittstelle erstellt werden.
Kleben: Diese Art von nic kann auch von anderen Anbietern als Trunk-Schnittstellen bezeichnet werden und kann mit mehr als einer nic-Schnittstelle erstellt werden. Zevenet unterstützt verschiedene Arten von Bonding-Schnittstellen für 7.
virtuell: Diese Art von Schnittstelle kann über jede oben beschriebene Art von Schnittstelle erstellt werden. Diese Art von Schnittstelle sollte für Farmen verwendet werden und es ist erforderlich, dass die virtuelle Schnittstelle in demselben Subnetz wie das übergeordnete Netzwerk definiert ist.
Alle Schnittstellen auflisten
Alle Schnittstellen auflisten
Anforderungsbeispiel:
curl -k -X GET -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
https://<zenlb_server>:444/zapi/v3.1/zapi.cgi/interfaces/nic
GET /interfaces
Rufen Sie eine Liste der Schnittstellen im System mit ihrer Konfiguration ab.
Antwortbeispiel:
{
"description" : "List interfaces",
"interfaces" : [
{
"gateway" : "",
"ip" : "",
"mac" : "66:eb:31:0e:07:71",
"name" : "bond2",
"netmask" : "",
"status" : "down",
"type" : "bond"
},
{
"gateway" : "192.168.100.1",
"ip" : "192.168.100.121",
"mac" : "a2:6d:80:29:87:c6",
"name" : "bondiface",
"netmask" : "255.255.255.0",
"status" : "up",
"type" : "bond"
},
{
"gateway" : "192.168.100.5",
"ip" : "192.168.100.241",
"mac" : "c2:56:f6:54:ff:a0",
"name" : "eth0",
"netmask" : "255.255.255.0",
"status" : "up",
"type" : "nic",
"is_slave" : "false"
},
{
"gateway" : "192.168.120.1",
"ip" : "192.168.120.120",
"mac" : "c2:56:f6:54:ff:a0",
"name" : "eth0.1",
"netmask" : "255.255.255.0",
"status" : "down",
"type" : "vlan"
},
{
"gateway" : "",
"ip" : "192.168.100.155",
"mac" : "c2:56:f6:54:ff:a0",
"name" : "eth0:virt",
"netmask" : "255.255.255.0",
"status" : "up",
"type" : "virtual"
},
{
"gateway" : "192.168.100.5",
"ip" : "192.168.100.41",
"mac" : "c2:56:f6:54:ff:a0",
"name" : "eth0:virtiface",
"netmask" : "255.255.255.0",
"status" : "down",
"type" : "virtual"
},
{
"gateway" : "192.168.100.5",
"ip" : "192.168.100.102",
"mac" : "62:30:43:36:29:ac",
"name" : "eth1",
"netmask" : "255.255.255.0",
"status" : "up",
"type" : "nic",
"is_slave" : "false"
},
{
"gateway" : "",
"ip" : "",
"mac" : "66:eb:31:0e:07:71",
"name" : "eth2",
"netmask" : "",
"status" : "up",
"type" : "nic",
"is_slave" : "true"
},
{
"gateway" : "",
"ip" : "",
"mac" : "a2:6d:80:29:87:c6",
"name" : "eth3",
"netmask" : "",
"status" : "up",
"type" : "nic",
"is_slave" : "true"
}
]
}
Antwortparameter
Die Antwort wird ein JSON-Objekt mit einem Schnittstellenobjekt-Array sein.
Schnittstellenobjekt:
Feld | Art | Beschreibung |
---|---|---|
ip | Schnur | IP der Schnittstelle. IP muss sich in demselben Netzwerksegment befinden wie die übergeordnete Schnittstelle in der virtuellen Schnittstelle. |
Netzmaske | Schnur | Netzmaske der Schnittstelle. Dieser Wert konnte in virtuellen Schnittstellen nicht geändert werden, er wird von der übergeordneten Schnittstelle geerbt. |
Tor | Schnur | Gateway der Schnittstelle. Dieser Wert konnte in virtuellen Schnittstellen nicht geändert werden, er wird von der übergeordneten Schnittstelle geerbt. |
mac | Schnur | MAC der Schnittstelle. Dieser Wert wird beim Bonding-Interface vom ersten NIC-Slave übernommen. In virtuellen und VLAN-Schnittstellen wird es von der übergeordneten Schnittstelle geerbt. |
Name | Schnur | Name der Schnittstelle. Es wird als eindeutige Kennung verwendet. |
Status | Schnur | Die Werte können sein upkann die Schnittstelle Pakete empfangen; nach untenkann die Schnittstelle keine Pakete empfangen. |
tippe | Schnur | Die verschiedenen Arten von Schnittstellen sind: nic, vlan, virtuell or Anleihe. |
is_slave | Schnur | Nur in NIC-Schnittstellen verfügbar, was immer dies auch sein sollte.ist die Schnittstelle Teil einer Bonding-Schnittstelle, falsch Die Schnittstelle ist nicht Teil einer Bonding-Schnittstelle. |
Standardgateway abrufen
Standardgateway abrufen
Anforderungsbeispiel:
curl -k -X GET -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
https://<zevenet_server>:444/zapi/v3.1/zapi.cgi/interfaces/gateway
GET /interfaces/gateway
Das Standardgateway ist der Knoten, über den der gesamte Zielverkehr gesendet werden soll, der von keiner Schnittstelle im Load Balancer lokal erreichbar ist.
Rufen Sie die Parameter der Standard-Gateway-Schnittstelle ab.
Antwortbeispiel:
{
"description" : "Default gateway",
"params" : {
"address" : "192.168.100.5",
"interface" : "eth0"
}
}
Antwortparameter
Feld | Art | Beschreibung |
---|---|---|
Adresse | Schnur | Es ist die IP des Gateways. |
Schnittstelle | Schnur | Schnittstellenname für das Gateway. |
Ändern Sie das Standardgateway
Ändern Sie das Standardgateway
Anforderungsbeispiel:
curl -k -X PUT -H 'Content-Type: application/json' -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
-d '{"interface":"eth0","address":"192.168.100.5"}'
https://<zenlb_server>:444/zapi/v3.1/zapi.cgi/interfaces
PUT /interfaces/gateway
Ändern Sie die Konfiguration der Gateway-Schnittstelle.
Antwortbeispiel:
{
"description" : "Modify default gateway",
"message" : "The default gateway has been changed successfully",
"success" : "true"
}
Parameter anfordern
Feld | Art | Beschreibung |
---|---|---|
Adresse | Schnur | Es ist die IP des Gateways. |
Schnittstelle | Schnur | Schnittstellenname für das Gateway. |
Löschen Sie die Gateway-Konfiguration
DELETE /interfaces/gateway
Löschen Sie die Konfiguration der Standard-Gateway-Konfiguration.
Warnung: Wenn das Gateway nicht konfiguriert ist, kann Zevenet nicht von einem externen Netzwerksegment aus erreicht werden.
Löschen Sie die Gateway-Konfiguration
Anforderungsbeispiel:
curl -k -X DELETE -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
https://<zenlb_server>:444/zapi/v3.1/zapi.cgi/interfaces/gateway
Antwortnachricht
Wenn sich das Gateway nicht im selben Netzwerksegment befindet, wird diese Meldung angezeigt, andernfalls geht die Verbindung verloren.
Antwortbeispiel:
{
"description" : "Remove default gateway",
"message" : "The default gateway has been deleted successfully",
"params" : {
"address" : null,
"interface" : null
}
}
Netzwerk - NIC-Schnittstellen
NIC-Schnittstellen sind die physischen Schnittstellen, die mit Ihrem Zevenet Load Balancer verbunden sind.
Das System erkennt neue Schnittstellen automatisch, sobald sie verbunden sind.
Wenn NIC-Schnittstellen als übergeordnete Elemente verwendet werden, können andere Arten von Schnittstellen mit unterschiedlichen Eigenschaften erstellt werden. Verfügbare Schnittstellen sind: VLAN,virtuell und Kleben.
NIC-Schnittstellen auflisten
GET /interfaces/nic
Rufen Sie alle Parameter der NIC-Schnittstellen ab.
NIC-Schnittstellen auflisten
Anforderungsbeispiel:
curl -k -X GET -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
https://<zenlb_server>:444/zapi/v3.1/zapi.cgi/interfaces/nic
Antwortbeispiel:
{
"description" : "List NIC interfaces",
"interfaces" : [
{
"gateway" : "192.168.100.5",
"ip" : "192.168.100.241",
"is_slave" : "false",
"mac" : "c2:56:f6:54:ff:a0",
"name" : "eth0",
"netmask" : "255.255.255.0",
"status" : "up"
},
{
"gateway" : "192.168.100.5",
"ip" : "192.168.100.102",
"is_slave" : "false",
"mac" : "62:30:43:36:29:ac",
"name" : "eth1",
"netmask" : "255.255.255.0",
"status" : "up"
},
{
"gateway" : "",
"ip" : "",
"is_slave" : "false",
"mac" : "a2:6d:80:29:87:c6",
"name" : "eth3",
"netmask" : "",
"status" : "down"
}
]
}
Antwortparameter
Die Antwort ist ein JSON-Objekt mit einem Array von NIC-Schnittstellenobjekten.
NIC-Schnittstellenobjekt:
Feld | Art | Beschreibung |
---|---|---|
ip | Schnur | IP der Schnittstelle. |
Netzmaske | Schnur | Definieren Sie das Netzwerksegment, in dem die Schnittstelle arbeitet. |
Tor | Schnur | IP zum Senden von Paketen an ein anderes Netzwerksegment. |
mac | Schnur | Eindeutiger Link-Layer-Identifikator. Es ist unveränderlich. |
Name | Schnur | Name der Schnittstelle. Es wird als eindeutige Schnittstellenkennung verwendet. |
Status | Schnur | Die Werte können sein upkann die Schnittstelle Pakete empfangen; nach untenkann die Schnittstelle keine Pakete empfangen. |
is_slave | Schnur | was immer dies auch sein sollte. die Schnittstelle ist Teil einer Bonding-Schnittstelle, falsch Die Schnittstelle ist nicht Teil einer Bonding-Schnittstelle. |
NIC-Schnittstelle abrufen
NIC-Schnittstelle abrufen
Anforderungsbeispiel:
curl -k -X GET -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
https://<zenlb_server>:444/zapi/v3.1/zapi.cgi/interfaces/nic/eth1
GET /interfaces/nic/<name>
Rufen Sie alle Parameter einer NIC-Schnittstelle ab. Name ist die eindeutige Kennung der Schnittstelle.
Antwortbeispiel:
{
"description" : "Show NIC interface",
"interface" : {
"gateway" : "192.168.100.5",
"ip" : "192.168.100.102",
"is_slave" : "false",
"mac" : "62:30:43:36:29:ac",
"name" : "eth1",
"netmask" : "255.255.255.0",
"status" : "up"
}
}
Antwortparameter
Feld | Art | Beschreibung |
---|---|---|
ip | Schnur | IP der Schnittstelle. |
Netzmaske | Schnur | Definieren Sie das Netzwerksegment, in dem die Schnittstelle arbeitet. |
Tor | Schnur | IP zum Senden von Paketen an ein anderes Netzwerksegment. |
mac | Schnur | Eindeutiger Link-Layer-Identifikator. Es ist unveränderlich. |
Name | Schnur | Name der Schnittstelle. Es wird als eindeutige Schnittstellenkennung verwendet. |
Status | Schnur | Die Werte können sein upkann die Schnittstelle Pakete empfangen; nach untenkann die Schnittstelle keine Pakete empfangen. |
tippe | Schnur | Die verschiedenen Arten von Schnittstellen sind: nic, vlan, virtuell or Anleihe. Jeder ist in seinem Netzwerk-Untermenü definiert. |
is_slave | Schnur | was immer dies auch sein sollte. die Schnittstelle ist Teil einer Bonding-Schnittstelle, falsch Die Schnittstelle ist nicht Teil einer Bonding-Schnittstelle. |
Ändern Sie die NIC-Schnittstelle
Ändern Sie die NIC-Schnittstelle
Anforderungsbeispiel:
curl -k -X PUT -H 'Content-Type: application/json' -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
-d '{"ip":"192.168.100.102","netmask":"255.255.255.0","gateway":"192.168.100.5"}'
https://<zenlb_server>:444/zapi/v3.1/zapi.cgi/interfaces/nic/eth1
PUT /interfaces/nic/<name>
Ändern Sie die Parameter einer NIC-Schnittstelle. Name ist die eindeutige Kennung der Schnittstelle.
Parameter anfordern
Feld | Art | Beschreibung |
---|---|---|
ip | Schnur | IP der Schnittstelle. |
Netzmaske | Schnur | Definieren Sie das Netzwerksegment, in dem die Schnittstelle arbeitet. |
Tor | Schnur | IP zum Senden von Paketen eines anderen Netzwerksegments. |
Antwortbeispiel:
{
"description" : "Configure nic interface",
"params" : {
"gateway" : "192.168.100.5",
"ip" : "192.168.100.102",
"netmask" : "255.255.255.0"
}
}
Antwortparameter
Die Antwort wird ein Json sein, bei dem alle angeforderten Werte aktualisiert werden. Weitere Informationen finden Sie im Antwortbeispiel.
Löschen Sie die NIC-Konfiguration
Löschen Sie die NIC-Konfiguration
Anforderungsbeispiel:
curl -k -X DELETE -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
https://<zenlb_server>:444/zapi/v3.1/zapi.cgi/interfaces/nic/eth3
DELETE /interfaces/nic/<name>
Löschen Sie die Konfiguration für eine NIC-Schnittstelle. Nach dieser Aktion ist die Schnittstelle unbrauchbar und kann erneut konfiguriert werden. Name ist die eindeutige Kennung der Schnittstelle.
Antwortbeispiel:
{
"description" : "Delete nic interface",
"message" : "The configuration for the network interface eth3 has been deleted.",
"success" : "true"
}
Festlegen der NIC-Schnittstellenaktion
Festlegen der NIC-Schnittstellenaktion
Anforderungsbeispiel:
curl -k -X POST -H 'Content-Type: application/json' -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
-d '{"action":"down"}'
https://<zenlb_server>:444/zapi/v3.1/zapi.cgi/interfaces/nic/eth1/actions
POST /interfaces/nic/<name>/actions
Wenden Sie eine Aktion auf eine NIC-Schnittstelle an. Mit diesem Aufruf kann eine Netzwerkschnittstelle aktiviert oder deaktiviert werden.
Name ist die eindeutige Kennung der Schnittstelle.
Parameter anfordern
Feld | Art | Beschreibung | Erforderlich |
---|---|---|---|
Aktion | Schnur | Aktion, die auf die Schnittstelle angewendet werden soll. Die verfügbaren Werte sind: upAktivieren Sie die Schnittstelle und bereiten Sie sie für die Verwendung vor. nach untenDeaktivieren Sie die Schnittstelle, um keine Pakete zu empfangen oder zu senden. | was immer dies auch sein sollte. |
Antwortbeispiel:
{
"description" : "Action on nic interface",
"params" : {
"action" : "up"
}
}
Antwortparameter
Die Antwort wird ein Json sein, bei dem alle angeforderten Werte aktualisiert werden. Weitere Informationen finden Sie im Antwortbeispiel.
Netzwerk-Bonding-Schnittstellen
Die Linux-Bonding-Schnittstelle oder auch von anderen Anbietern als Trunk bezeichnet, bietet eine Methode zum Zusammenfassen mehrerer Netzwerkschnittstellen in einer einzigen logischen „Bonded“ -Schnittstelle. Das Verhalten der verbundenen Schnittstellen hängt vom Modus ab. Zevenet Load Balancer unterstützt die folgenden Methoden:
Round-Robin-Politik: Überträgt Pakete in sequenzieller Reihenfolge vom ersten verfügbaren Slave bis zum letzten. Dieser Modus bietet Lastausgleich und Fehlertoleranz.
Active-Backup-Richtlinie: Nur ein Slave in der Bindung ist aktiv. Ein anderer Slave wird aktiv, wenn der aktive Slave ausfällt. Die MAC-Adresse der Bond-Verbindung ist nur an einem Port (Netzwerkadapter) extern sichtbar, um eine Verwechslung des Switches zu vermeiden. Dieser Modus bietet Fehlertoleranz. Die primäre Option beeinflusst das Verhalten dieses Modus.
XOR-Richtlinie: Übertragen basierend auf der Quell-MAC-Adresse XOR mit Ziel-MAC-Adresse. Dadurch wird für jede Ziel-MAC-Adresse derselbe Slave ausgewählt. Dieser Modus bietet Lastausgleich und Fehlertoleranz.
Broadcast-Richtlinie: Überträgt alles auf allen Slave-Schnittstellen. Dieser Modus bietet Fehlertoleranz.
IEEE 802.3ad LACP: Erzeugt Aggregationsgruppen mit denselben Einstellungen für Geschwindigkeit und Duplex. Verwendet alle Slaves im aktiven Aggregator gemäß der 802.3ad-Spezifikation.
Voraussetzungen:
Netzwerkschnittstellenunterstützung in den Basistreibern zum Abrufen der Geschwindigkeit und des Duplex aller Slaves.
Ein Switch, der die dynamische Aggregation von IEEE 802.3ad Dynamic Links unterstützt. Die meisten Switches erfordern eine Konfiguration, um den 802.3ad-Modus zu aktivieren.
Adaptive Sendelastverteilung: Channel Bonding, für das keine spezielle Switch-Unterstützung erforderlich ist. Der ausgehende Verkehr wird entsprechend der aktuellen Last (berechnet relativ zur Geschwindigkeit) auf jedem Slave verteilt. Eingehender Verkehr wird vom aktuellen Slave empfangen. Fällt der empfangende Slave aus, übernimmt ein anderer Slave die MAC-Adresse des ausgefallenen empfangenden Slaves.
Voraussetzung:
Basistreiber-Unterstützung zum Abrufen der Geschwindigkeit jedes Slaves.
Adaptive Lastverteilung: Enthält den adaptiven Sendelastenausgleich sowie den Empfangslastausgleich für IPV4-Datenverkehr und erfordert keine spezielle Switch-Unterstützung. Der Lastausgleich wird durch ARP-Verhandlung erreicht. Der Bonding-Treiber fängt die vom lokalen System gesendeten ARP-Antworten ab und überschreibt die Quellhardwareadresse mit der eindeutigen Hardwareadresse eines der Slaves im Bonding, sodass verschiedene Peers unterschiedliche Hardwareadressen für den Server verwenden.
List Bonding-Schnittstellen
List Bonding-Schnittstellen
Anforderungsbeispiel:
curl -k -X GET -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
https://<zenlb_server>:444/zapi/v3.1/zapi.cgi/interfaces/bonding
GET /interfaces/bonding
Konfiguration aller Bonding-Schnittstellen im System.
Antwortbeispiel:
{
"description" : "List bonding interfaces",
"interfaces" : [
{
"gateway" : "",
"ip" : "",
"mac" : "66:eb:31:0e:07:71",
"mode" : "broadcast",
"name" : "bond2",
"netmask" : "",
"slaves" : [
{
"name" : "eth2"
}
],
"status" : "down"
},
{
"gateway" : "192.168.100.1",
"ip" : "192.168.100.121",
"mac" : "a2:6d:80:29:87:c6",
"mode" : "balance-rr",
"name" : "bondiface",
"netmask" : "255.255.255.0",
"slaves" : [
{
"name" : "eth3"
},
{
"name" : "eth4"
}
],
"status" : "up"
}
]
}
Antwortparameter
Die Antwort ist ein JSON-Objekt mit einem Bonding-Interface-Objektarray.
Die Verbindungsparameter sind:
Feld | Art | Beschreibung |
---|---|---|
ip | Schnur | IP der Schnittstelle. |
Netzmaske | Schnur | Definieren Sie das Netzwerksegment, in dem die Schnittstelle arbeitet. |
Tor | Schnur | IP zum Senden von Paketen eines anderen Netzwerksegments. |
mac | Schnur | Eindeutiger Link-Layer-Identifikator. Es ist der mac des ersten NIC-Interface-Slaves. |
Name | Schnur | Name der Schnittstelle. Es wird als eindeutige Schnittstellenkennung verwendet. |
Status | Schnur | Die Werte können sein upkann die Schnittstelle Pakete empfangen; nach untenkann die Schnittstelle keine Pakete empfangen. |
Sklaven | Objekt[] | NIC-Schnittstellenmitglieder der Bonding-Schnittstelle. |
Modus | Schnur | Es ist der Arbeitsmodus für die Bonding-Schnittstelle. Die Optionen sind: balance-rrRound-Robin-Politik; Active-BackupActive-Backup-Richtlinie; Balance-xor, XOR-Richtlinie; Sendung, Rundfunkpolitik; 802.3ad, IEEE 802.3ad LACP; balance-tlb, Adaptive Sendelastverteilung; balance-albAdaptive Lastverteilung. Diese Werte sind in Abschnitt definiert Netzwerk-Bonding-Schnittstellen. |
Sklavenobjekt:
Feld | Art | Beschreibung |
---|---|---|
Name | Schnur | Name ist die eindeutige Schnittstellenkennung des NIC-Slaves. |
Bonding-Schnittstelle abrufen
Bonding-Schnittstelle abrufen
Anforderungsbeispiel:
curl -k -X GET -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
https://<zenlb_server>:444/zapi/v3.1/zapi.cgi/interfaces/bonding/bondiface
GET /interfaces/bonding/<name>
Liefert alle Parameter der Schnittstelle. Name ist die eindeutige Kennung der Schnittstelle.
Antwortbeispiel:
{
"description" : "Show bonding interface",
"interface" : {
"gateway" : "192.168.100.1",
"ip" : "192.168.100.121",
"mac" : "a2:6d:80:29:87:c6",
"mode" : "balance-rr",
"name" : "bondiface",
"netmask" : "255.255.255.0",
"slaves" : [
{
"name" : "eth3"
},
{
"name" : "eth2"
}
],
"status" : "up"
}
}
Antwortparameter
Die Antwort wird ein JSON-Objekt mit einem Bonding-Interface-Objekt sein.
Die Verbindungsparameter sind:
Feld | Art | Beschreibung |
---|---|---|
ip | Schnur | IP der Schnittstelle. |
Netzmaske | Schnur | Definieren Sie das Netzwerksegment, in dem die Schnittstelle arbeitet. |
Tor | Schnur | IP zum Senden von Paketen eines anderen Netzwerksegments. |
mac | Schnur | Eindeutiger Link-Layer-Identifikator. Es ist der mac des ersten NIC-Interface-Slaves. |
Name | Schnur | Name der Schnittstelle. Es wird als eindeutige Schnittstellenkennung verwendet. |
Status | Schnur | Die Werte können sein upkann die Schnittstelle Pakete empfangen; nach untenkann die Schnittstelle keine Pakete empfangen. |
Sklaven | Objekt[] | NIC-Schnittstellenmitglieder der Bonding-Schnittstelle. |
Modus | Schnur | Es ist der Arbeitsmodus für die Bonding-Schnittstelle. Die Optionen sind: balance-rrRound-Robin-Politik; Active-BackupActive-Backup-Richtlinie; Balance-xor, XOR-Richtlinie; Sendung, Rundfunkpolitik; 802.3ad, IEEE 802.3ad LACP; balance-tlb, Adaptive Sendelastverteilung; balance-albAdaptive Lastverteilung. Diese Werte sind in definiert Netzwerk> Bonding-Schnittstellen. |
Sklave Objekt:
Feld | Art | Beschreibung |
---|---|---|
Name | Schnur | Name ist die eindeutige Schnittstellenkennung des NIC-Slaves. |
Erstellen Sie eine Bonding-Schnittstelle
Erstellen Sie eine Bonding-Schnittstelle
Anforderungsbeispiel:
curl -k -X POST -H 'Content-Type: application/json' -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
-d '{"slaves":["eth3","eth2"],"name":"bondiface","mode":"balance-rr"}'
https://<zenlb_server>:444/zapi/v3.1/zapi.cgi/interfaces/bonding
POST /interfaces/bonding
Erstellen Sie eine Bonding-Schnittstelle, die NIC-Schnittstellen verbindet.
Die Bonding-MAC-Adresse wird von der ersten NIC-Schnittstelle übernommen. Der Bonding-Modus kann nicht geändert werden, sobald die Bonding-Schnittstelle erstellt wurde. Mitglieder-Schnittstellen können jedoch nach Bedarf in der Bonding-Schnittstelle hinzugefügt oder gelöscht werden. Eine NIC-Schnittstelle wird gesperrt, wenn sie Teil einer Bonding-Schnittstelle ist.
Parameter anfordern
Feld | Art | Beschreibung | Erforderlich |
---|---|---|---|
Name | Schnur | Name der Schnittstelle. Es wird als eindeutige Schnittstellenkennung verwendet. | was immer dies auch sein sollte. |
Sklaven | Zeichenfolge [] | Alle NIC-Schnittstellen, die das Bonding aufbauen. Es ist der NIC-Parameter erforderlich Name. | was immer dies auch sein sollte. |
Modus | Schnur | Es ist der Arbeitsmodus für die Bonding-Schnittstelle. Die Optionen sind: balance-rrRound-Robin-Politik; Active-BackupActive-Backup-Richtlinie; Balance-xor, XOR-Richtlinie; Sendung, Rundfunkpolitik; 802.3ad, IEEE 802.3ad LACP; balance-tlb, Adaptive Sendelastverteilung; balance-albAdaptive Lastverteilung. Diese Werte sind in definiert Netzwerk> Bonding-Schnittstellen. | was immer dies auch sein sollte. |
Antwortbeispiel:
{
"description" : "Add a bond interface",
"params" : {
"mac" : "a2:6d:80:29:87:c6",
"mode" : "balance-rr",
"name" : "bondiface",
"slaves" : [
{
"name" : "eth3"
},
{
"name" : "eth2"
}
],
"status" : "down"
}
}
Antwortparameter
Die Antwort wird ein JSON-Objekt mit den von Bonding konfigurierten Parametern sein.
Feld | Art | Beschreibung |
---|---|---|
mac | Schnur | Eindeutiger Link-Layer-Identifikator. Es ist der mac des ersten NIC-Interface-Slaves. |
Name | Schnur | Name der Schnittstelle. Es wird als eindeutige Schnittstellenkennung verwendet. |
Status | Schnur | Die Werte können sein upkann die Schnittstelle Pakete empfangen; nach untenkann die Schnittstelle keine Pakete empfangen. |
Sklaven | Objekt[] | NIC-Schnittstellen, die die Bonding-Schnittstelle bilden. |
Modus | Schnur | Es ist der Arbeitsmodus für die Bonding-Schnittstelle. Die Optionen sind: balance-rrRound-Robin-Politik; Active-BackupActive-Backup-Richtlinie; Balance-xor, XOR-Richtlinie; Sendung, Rundfunkpolitik; 802.3ad, IEEE 802.3ad LACP; balance-tlb, Adaptive Sendelastverteilung; balance-albAdaptive Lastverteilung. Diese Werte sind in definiert Netzwerk> Bonding-Schnittstellen. |
Sklave Objekt:
Feld | Art | Beschreibung |
---|---|---|
Name | Schnur | Name ist die eindeutige Schnittstellenkennung des NIC-Slaves. |
Ändern Sie die Bonding-Schnittstelle
Ändern Sie die Bonding-Schnittstelle
Anforderungsbeispiel:
curl -k -X PUT -H 'Content-Type: application/json' -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
-d '{"ip":"192.168.100.121","netmask":"255.255.255.0","gateway":"192.168.100.1"}'
https://<zenlb_server>:444/zapi/v3.1/zapi.cgi/interfaces/bonding/bondiface
PUT /interfaces/bonding/<name>
Ändern Sie die Parameter einer Bonding-Schnittstelle. Name ist die eindeutige Kennung der Schnittstelle.
Parameter anfordern
Feld | Art | Beschreibung |
---|---|---|
ip | Schnur | IP der Schnittstelle. |
Netzmaske | Schnur | Definieren Sie das Netzwerksegment, in dem die Schnittstelle arbeitet. |
Tor | Schnur | IP zum Senden von Paketen eines anderen Netzwerksegments. |
Antwortbeispiel:
{
"description" : "Modify bond address",
"params" : {
"gateway" : "192.168.100.1",
"ip" : "192.168.100.121",
"netmask" : "255.255.255.0"
}
}
Antwortparameter
Die Antwort wird ein Json sein, bei dem alle angeforderten Werte aktualisiert werden. Weitere Informationen finden Sie im Antwortbeispiel.
Löschen Sie die Bonding-Konfiguration
Löschen Sie die Bonding-Konfiguration
Anforderungsbeispiel:
curl -k -X DELETE -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
https://<zenlb_server>:444/zapi/v3.1/zapi.cgi/interfaces/bonding/bondiface
DELETE /interfaces/bonding/<name>
Löschen Sie die Bonding-Schnittstellenkonfiguration. Die Konfigurationsparameter sind: Tor, ip und Netzmaske.
Name ist die eindeutige Kennung der Schnittstelle.
Antwortbeispiel:
{
"description" : "Delete bonding network configuration",
"message" : "The configuration for the bonding interface bondiface has been deleted.",
"success" : "true"
}
Legen Sie die Bonding-Schnittstellenaktion fest
Legen Sie die Bonding-Schnittstellenaktion fest
Anforderungsbeispiel:
curl -k -X POST -H 'Content-Type: application/json' -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
-d '{"action":"up"}'
https://<zenlb_server>:444/zapi/v3.1/zapi.cgi/interfaces/bonding/bondiface/actions
POST /interfaces/bonding/<name>/actions
Wenden Sie eine Aktion auf eine Bonding-Schnittstelle an. Mit diesem Aufruf können Sie die Bonding-Schnittstelle löschen und aktivieren oder deaktivieren.
Es ist erforderlich, die Bonding-Schnittstelle mit zu löschen zerstören Aktion, wenn Sie die verwendeten NIC-Schnittstellen im Bonding entsperren möchten Der Bonding-Treiber stellt dann die MAC-Adressen wieder her, die die Member-Interfaces hatten, bevor sie der Bonding-Schnittstelle hinzugefügt wurden.
Name ist die eindeutige Kennung der Schnittstelle.
Parameter anfordern
Feld | Art | Beschreibung | Erforderlich |
---|---|---|---|
Aktion | Schnur | Aktion, die auf die Schnittstelle angewendet werden soll. Die verfügbaren Werte sind: up Aktivieren Sie die Schnittstelle und bereiten Sie sie für die Verwendung vor. nach unten Deaktivieren Sie die Schnittstelle, um keine Pakete zu empfangen oder zu senden. zerstören Löschen Sie das Bonding und stellen Sie die Schnittstellen der NIC-Slaves wieder her. | was immer dies auch sein sollte. |
Antwortbeispiel:
{
"description" : "Action on bond interface",
"params" : {
"action" : "up"
}
}
Antwortparameter
Die Antwort wird ein Json sein, bei dem alle angeforderten Werte aktualisiert werden. Weitere Informationen finden Sie im Antwortbeispiel.
Fügen Sie eine Bonding-Slave-Schnittstelle hinzu
Fügen Sie eine Bonding-Slave-Schnittstelle hinzu
Anforderungsbeispiel:
curl -k -X POST -H 'Content-Type: application/json' -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
-d '{"name":"eth4"}'
https://<zenlb_server>:444/zapi/v3.1/zapi.cgi/interfaces/bonding/bondiface/slaves
POST /interfaces/bonding/<name>/slaves
Fügen Sie einer vorhandenen Bonding-Schnittstelle eine NIC-Schnittstelle als Slave hinzu.
Name ist die eindeutige Kennung der Schnittstelle.
Parameter anfordern
Feld | Art | Beschreibung | Erforderlich |
---|---|---|---|
Name | Schnur | NIC-Schnittstelle Name zur Bonding-Schnittstelle hinzufügen. | was immer dies auch sein sollte. |
Antwortbeispiel:
{
"description" : "Add a slave to a bond interface",
"params" : {
"mac" : "a2:6d:80:29:87:c6",
"mode" : "balance-rr",
"name" : "bondiface",
"slaves" : [
{
"name" : "eth3"
},
{
"name" : "eth2"
},
{
"name" : "eth4"
}
],
"status" : "up"
}
}
Antwortparameter
Die Antwort wird ein Json mit aktualisierten konfigurierten Werten sein. Weitere Informationen finden Sie im Antwortbeispiel.
Entfernen Sie eine Bonding-Slave-Schnittstelle
Entfernen Sie eine Bonding-Slave-Schnittstelle
Anforderungsbeispiel:
curl -k -X DELETE -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
https://<zenlb_server>:444/zapi/v3.1/zapi.cgi/interfaces/bonding/bondiface/slaves/eth2
DELETE /interfaces/bonding/<name>/slaves/<name>
Löschen Sie eine NIC-Slave-Schnittstelle von einer Bonding-Schnittstelle. Die Bonding-Schnittstelle muss fast eine NIC-Slave-Schnittstelle haben.
Vorname Name lernen muss die DELETE
Als nächstes rufen Sie die eindeutige Kennung des Bonding-Namens auf Name der DELETE
call ist die eindeutige Kennung des Schnittstellennamens der Netzwerkkarte.
Antwortbeispiel:
{
"description" : "Remove bonding slave interface",
"message" : "The bonding slave interface eth2 has been removed.",
"success" : "true"
}
Netzwerk - VLAN-Schnittstellen
Mit der VLAN-Schnittstelle kann eine NIC- oder Bonding-Schnittstelle in einem anderen Netzwerk arbeiten IP, Tor und Netzmaske Felder können sich von der übergeordneten Schnittstelle unterscheiden. Die VLAN-Schnittstelle erbt die MAC-Adresse von ihrer übergeordneten Schnittstelle.
Das Feld für die VLAN-Schnittstellen Name erscheint mit einem Punkt ".", der zum Festlegen eines Bezeichners für die vlan-Schnittstelle verwendet wird.
Listet VLAN-Schnittstellen auf
Listet VLAN-Schnittstellen auf
Anforderungsbeispiel:
curl -k -X GET -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
https://<zenlb_server>:444/zapi/v3.1/zapi.cgi/interfaces/vlan
GET /interfaces/vlan
Rufen Sie alle Parameter der VLAN-Schnittstellen ab.
Antwortbeispiel:
{
"description" : "List VLAN interfaces",
"interfaces" : [
{
"gateway" : "192.168.120.1",
"ip" : "192.168.120.120",
"mac" : "c2:56:f6:54:ff:a0",
"name" : "eth0.1",
"netmask" : "255.255.255.0",
"parent" : "eth0",
"status" : "down"
}
]
}
Antwortparameter
Die Antwort ist ein JSON-Objekt mit einem VLAN-Schnittstellenobjektarray.
Die VLAN-Parameter sind:
Feld | Art | Beschreibung |
---|---|---|
ip | Schnur | IP der Schnittstelle. Sie kann sich von der übergeordneten Inteface-IP unterscheiden. |
Netzmaske | Schnur | Definieren Sie das Netzwerksegment, in dem die Schnittstelle arbeitet. |
Tor | Schnur | IP zum Senden von Paketen eines anderen Netzwerksegments. |
mac | Schnur | MAC der Schnittstelle. Dieser Wert wird von der übergeordneten Schnittstelle geerbt. |
Name | Schnur | Name der Schnittstelle. Es wird als eindeutige Kennung verwendet. Dieser Name ist eine Kette, die durch einen übergeordneten Schnittstellennamen, ein Punktzeichen "." und eine Nummer für die vlan-Netzwerkschnittstelle oder das vlan-Tag. |
Elternteil | Schnur | Es ist die Schnittstelle, mit der diese erstellt wurde. |
Status | Schnur | Die Werte können sein up die Schnittstelle kann Pakete empfangen, nach unten Die Schnittstelle kann keine Pakete empfangen. |
Rufen Sie die VLAN-Schnittstelle ab
Rufen Sie die VLAN-Schnittstelle ab
Anforderungsbeispiel:
curl -k -X GET -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
https://<zenlb_server>:444/zapi/v3.1/zapi.cgi/interfaces/vlan/eth0.1
GET /interfaces/vlan/<name>
Rufen Sie alle Parameter der VLAN-Schnittstelle ab. Name ist die eindeutige Kennung der Schnittstelle.
Antwortbeispiel:
{
"description" : "Show VLAN interface",
"interface" : {
"gateway" : "192.168.131.1",
"ip" : "192.168.131.155",
"mac" : "c2:56:f6:54:ff:a0",
"name" : "eth0.1",
"netmask" : "255.255.255.0",
"status" : "up"
}
}
Antwortparameter
Feld | Art | Beschreibung |
---|---|---|
ip | Schnur | IP der Schnittstelle. |
Netzmaske | Schnur | Definieren Sie das Netzwerksegment, in dem die Schnittstelle arbeitet. |
Tor | Schnur | IP zum Senden von Paketen eines anderen Netzwerksegments. |
mac | Schnur | MAC der Schnittstelle. Dieser Wert wird von der übergeordneten Schnittstelle geerbt. |
Name | Schnur | Name der Schnittstelle. Es wird als eindeutige Kennung verwendet. Dieser Name ist eine Kette, die durch einen übergeordneten Schnittstellennamen, ein Punktzeichen "." und eine Nummer für die vlan-Netzwerkschnittstelle. |
Status | Schnur | Die Werte können sein up die Schnittstelle kann Pakete empfangen, nach unten Die Schnittstelle kann keine Pakete empfangen. |
Erstellen Sie eine VLAN-Schnittstelle
Erstellen Sie eine VLAN-Schnittstelle
Anforderungsbeispiel:
curl -k -X POST -H 'Content-Type: application/json' -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
-d '{"ip":"192.168.120.120","netmask":"255.255.255.0","gateway":"192.168.120.1", "name":"eth0.1"}'
https://<zenlb_server>:444/zapi/v3.1/zapi.cgi/interfaces/vlan
POST /interfaces/vlan
Erstellen Sie eine VLAN-Schnittstelle über eine NIC oder Bonding-Schnittstelle. Die neue VLAN-Schnittstelle teilt sich den MAC, obwohl die folgenden Netzwerkparameter unterschiedlich sein müssen: ipund Folgendes kann sich ändern: Tor, Netzmaske.
Parameter anfordern
Feld | Art | Beschreibung | Erforderlich |
---|---|---|---|
ip | Schnur | IP der Schnittstelle. Sie muss sich von der übergeordneten Inteface-IP unterscheiden. | was immer dies auch sein sollte. |
Netzmaske | Schnur | Definieren Sie das Netzwerksegment, in dem die Schnittstelle arbeitet. | was immer dies auch sein sollte. |
Tor | Schnur | IP zum Senden von Paketen eines anderen Netzwerksegments. | was immer dies auch sein sollte. |
Name | Schnur | Name der Schnittstelle. Es wird als eindeutige Kennung verwendet. Dieser Name ist eine Kette, die durch einen übergeordneten Schnittstellennamen, ein Punktzeichen "." und eine Nummer für die vlan-Netzwerkschnittstelle. | was immer dies auch sein sollte. |
Antwortbeispiel:
{
"description" : "Add a vlan interface",
"params" : {
"gateway" : "192.168.120.1",
"ip" : "192.168.120.120",
"mac" : null,
"name" : "eth0.1",
"netmask" : "255.255.255.0"
}
}
Antwortparameter
Die Antwort wird ein Json sein, bei dem alle angeforderten Werte aktualisiert werden. Weitere Informationen finden Sie im Antwortbeispiel.
Ändern Sie die VLAN-Schnittstelle
Ändern Sie die VLAN-Schnittstelle
Anforderungsbeispiel:
curl -k -X PUT -H 'Content-Type: application/json' -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
-d '{"ip":"192.168.131.155","netmask":"255.255.255.0","gateway":"192.168.131.1"}'
https://<zenlb_server>:444/zapi/v3.1/zapi.cgi/interfaces/vlan/eth0.1
PUT /interfaces/vlan/<name>
Ändern Sie die Parameter einer VLAN-Schnittstelle. Name ist die eindeutige Kennung der Schnittstelle.
Parameter anfordern
Feld | Art | Beschreibung |
---|---|---|
ip | Schnur | IP der Schnittstelle. Sie kann sich von der übergeordneten Inteface-IP unterscheiden. |
Netzmaske | Schnur | Definieren Sie das Netzwerksegment, in dem die Schnittstelle arbeitet. |
Tor | Schnur | IP zum Senden von Paketen eines anderen Netzwerksegments. |
Antwortbeispiel:
{
"description" : "Modify VLAN interface",
"params" : {
"gateway" : "192.168.131.1",
"ip" : "192.168.131.155",
"netmask" : "255.255.255.0"
}
}
Antwortparameter
Die Antwort wird ein Json sein, bei dem alle angeforderten Werte aktualisiert werden. Weitere Informationen finden Sie im Antwortbeispiel.
Löschen Sie die VLAN-Schnittstelle
Löschen Sie die VLAN-Schnittstelle
Anforderungsbeispiel:
curl -k -X DELETE -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
https://<zenlb_server>:444/zapi/v3.1/zapi.cgi/interfaces/vlan/eth0.1
DELETE /interfaces/vlan/<name>
Löschen Sie eine VLAN-Schnittstelle. Name ist die eindeutige Kennung der Schnittstelle.
Antwortbeispiel:
{
"description" : "Delete VLAN interface",
"message" : "The VLAN interface eth0.1 has been deleted.",
"success" : "true"
}
Festlegen der VLAN-Schnittstellenaktion
Festlegen der VLAN-Schnittstellenaktion
Anforderungsbeispiel:
curl -k -X POST -H 'Content-Type: application/json' -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
-d '{"action":"down"}'
https://<zenlb_server>:444/zapi/v3.1/zapi.cgi/interfaces/vlan/eth0.1/actions
POST /interfaces/vlan/<name>/actions
Wenden Sie eine Aktion auf eine VLAN-Schnittstelle an. Mit diesem Aufruf kann eine Netzwerkschnittstelle aktiviert oder deaktiviert werden.
Name ist der eindeutige Name des Namens.
Parameter anfordern
Feld | Art | Beschreibung | Erforderlich |
---|---|---|---|
Aktion | Schnur | Aktion, die auf die Schnittstelle angewendet werden soll. Die verfügbaren Werte sind: upAktivieren Sie die Schnittstelle und bereiten Sie sie für die Verwendung vor. nach untenDeaktivieren Sie die Schnittstelle, um keine Pakete zu empfangen oder zu senden. | was immer dies auch sein sollte. |
Antwortbeispiel:
{
"description" : "Action on vlan interface",
"params" : {
"action" : "down"
}
}
Antwortparameter
Die Antwort wird ein Json sein, bei dem alle angeforderten Werte aktualisiert werden. Weitere Informationen finden Sie im Antwortbeispiel.
Netzwerk - Virtuelle Schnittstellen
Netzwerkschnittstellen ermöglichen Benutzern, eine andere Netzwerkschnittstelle in demselben Netzwerksegment als übergeordnet zu haben, sodass virtuelle Schnittstellen die Netzwerkkonfiguration immer von ihrer übergeordneten Komponente übernehmen. Der andere Parameter ist der ip. Die virtuelle Schnittstelle kann aus NIC, Bonding oder VLAN erstellt werden. Beim Erstellen einer neuen virtuellen Schnittstelle wird ein Feld mit einem Doppelpunkt „:“ angezeigt, mit dem eine Identifikation für die virtuelle Schnittstelle festgelegt wird.
Virtuelle Schnittstellen auflisten
Virtuelle Schnittstellen auflisten
Anforderungsbeispiel:
curl -k -X GET -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
https://<zenlb_server>:444/zapi/v3.1/zapi.cgi/interfaces/virtual
GET /interfaces/virtual
Liefert alle Parameter der virtuellen Schnittstellen.
Antwortbeispiel:
{
"description" : "List virtual interfaces",
"interfaces" : [
{
"gateway" : "",
"ip" : "192.168.100.155",
"mac" : "c2:56:f6:54:ff:a0",
"name" : "eth0:virt",
"netmask" : "255.255.255.0",
"parent" : "eth0",
"status" : "up"
},
{
"gateway" : "192.168.100.5",
"ip" : "192.168.100.41",
"mac" : "c2:56:f6:54:ff:a0",
"name" : "eth0:virtiface",
"netmask" : "255.255.255.0",
"parent" : "eth0",
"status" : "down"
}
]
}
Antwortparameter
Feld | Art | Beschreibung |
---|---|---|
ip | Schnur | IP der Schnittstelle. Die IP muss sich in demselben Netzwerksegment befinden wie die übergeordnete Schnittstelle. |
Netzmaske | Schnur | Definieren Sie das Netzwerksegment, in dem die Schnittstelle arbeitet. Es erbt von der übergeordneten Schnittstelle. |
Tor | Schnur | IP zum Senden von Paketen eines anderen Netzwerksegments. Es erbt von der übergeordneten Schnittstelle. |
mac | Schnur | MAC der Schnittstelle. Es erbt von der übergeordneten Schnittstelle. |
Name | Schnur | Name der Schnittstelle. Es wird als eindeutige Kennung verwendet. Dieser Name ist eine Kette, die aus einer übergeordneten Schnittstelle, einem Doppelpunkt „:“ und dem Namen für die virtuelle Netzwerkschnittstelle besteht. Alphanumerische Zeichen sind zulässig. |
Elternteil | Schnur | Es ist die Schnittstelle, mit der diese erstellt wurde. |
Status | Schnur | Die Werte können sein upkann die Schnittstelle Pakete empfangen; nach untenkann die Schnittstelle keine Pakete empfangen. |
Virtuelle Schnittstelle abrufen
Virtuelle Schnittstelle abrufen
Anforderungsbeispiel:
curl -k -X GET -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
https://<zenlb_server>:444/zapi/v3.1/zapi.cgi/interfaces/virtual/eth0:virtiface
GET /interfaces/virtual/<name>
Liefert alle Parameter einer virtuellen Schnittstelle. Name ist die eindeutige Kennung der Schnittstelle.
Antwortbeispiel:
{
"description" : "Show virtual interface",
"interface" : {
"gateway" : "192.168.100.5",
"ip" : "192.168.100.41",
"mac" : "c2:56:f6:54:ff:a0",
"name" : "eth0:virtiface",
"netmask" : "255.255.255.0",
"status" : "down"
}
}
Antwortparameter
Feld | Art | Beschreibung |
---|---|---|
ip | Schnur | IP der Schnittstelle. Die IP muss sich in demselben Netzwerksegment befinden wie die übergeordnete Schnittstelle. |
Netzmaske | Schnur | Definieren Sie das Netzwerksegment, in dem die Schnittstelle arbeitet. Es erbt von der übergeordneten Schnittstelle. |
Tor | Schnur | IP zum Senden von Paketen eines anderen Netzwerksegments. Es erbt von der übergeordneten Schnittstelle. |
mac | Schnur | MAC der Schnittstelle. Es erbt von der übergeordneten Schnittstelle. |
Name | Schnur | Name der Schnittstelle. Es wird als eindeutige Kennung verwendet. Dieser Name ist eine Kette, die aus einer übergeordneten Schnittstelle, einem Doppelpunkt „:“ und einer alphanumerischen Zeichenfolge für die virtuelle Netzwerkschnittstelle besteht. |
Elternteil | Schnur | Es ist die Schnittstelle, mit der diese erstellt wurde. |
Status | Schnur | Die Werte können sein upkann die Schnittstelle Pakete empfangen; nach untenkann die Schnittstelle keine Pakete empfangen. |
Virtuelle Schnittstelle erstellen
Virtuelle Schnittstelle erstellen
Anforderungsbeispiel:
curl -k -X POST -H 'Content-Type: application/json' -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
-d '{"ip":"192.168.100.41", "name":"eth0:virtiface"}'
https://<zenlb_server>:444/zapi/v3.1/zapi.cgi/interfaces/virtual
POST /interfaces/virtual
Erstellen Sie eine virtuelle Schnittstelle.
Parameter anfordern
Feld | Art | Beschreibung | Erforderlich |
---|---|---|---|
ip | Schnur | IP der Schnittstelle. Die IP muss sich in demselben Netzwerksegment befinden wie die übergeordnete Schnittstelle. | was immer dies auch sein sollte. |
Name | Schnur | Name der Schnittstelle. Es wird als eindeutige Kennung verwendet. Dieser Name ist eine Kette, die aus einer übergeordneten Schnittstelle, einem Doppelpunkt „:“ und einer alphanumerischen Zeichenfolge für die virtuelle Netzwerkschnittstelle besteht. | was immer dies auch sein sollte. |
Antwortbeispiel:
{
"description" : "Add a virtual interface",
"params" : {
"gateway" : "192.168.100.5",
"ip" : "192.168.100.41",
"mac" : "c2:56:f6:54:ff:a0",
"name" : "eth0:virtiface",
"netmask" : "255.255.255.0"
}
}
Antwortparameter
Die Antwort wird ein Json mit der Schnittstellenkonfiguration sein. Weitere Informationen finden Sie im Antwortbeispiel.
Feld | Art | Beschreibung |
---|---|---|
ip | Schnur | IP der Schnittstelle. Die IP muss sich in demselben Netzwerksegment befinden wie die übergeordnete Schnittstelle. |
Netzmaske | Schnur | Definieren Sie das Netzwerksegment, in dem die Schnittstelle arbeitet. Es erbt von der übergeordneten Schnittstelle. |
Tor | Schnur | IP zum Senden von Paketen an ein anderes Netzwerksegment. Es erbt von der übergeordneten Schnittstelle. |
mac | Schnur | MAC der Schnittstelle. Es erbt von der übergeordneten Schnittstelle. |
Name | Schnur | Name der Schnittstelle. Es wird als eindeutige Kennung verwendet. Dieser Name ist eine Kette, die aus einer übergeordneten Schnittstelle, einem Doppelpunkt „:“ und einer alpahnumerischen Zeichenfolge für die virtuelle Netzwerkschnittstelle besteht. |
Virtuelle Schnittstelle ändern
Virtuelle Schnittstelle ändern
Anforderungsbeispiel:
curl -k -X PUT -H 'Content-Type: application/json' -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
-d '{"ip":"192.168.131.155"}'
https://<zenlb_server>:444/zapi/v3.1/zapi.cgi/interfaces/virtual/eth0:virtiface
PUT /interfaces/virtual/<name>
Ändern Sie die Parameter einer virtuellen Schnittstelle. Name ist die eindeutige Kennung der Schnittstelle.
Parameter anfordern
Feld | Art | Beschreibung |
---|---|---|
ip | Schnur | IP der Schnittstelle. Die IP muss sich in demselben Netzwerksegment befinden wie die übergeordnete Schnittstelle. |
Antwortbeispiel:
{
"description" : "Modify virtual interface",
"params" : {
"ip" : "192.168.100.10"
}
}
Antwortparameter
Die Antwort wird ein Json sein, bei dem alle angeforderten Werte aktualisiert werden. Weitere Informationen finden Sie im Antwortbeispiel.
Virtuelle Schnittstelle löschen
Virtuelle Schnittstelle löschen
Anforderungsbeispiel:
curl -k -X DELETE -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
https://<zenlb_server>:444/zapi/v3.1/zapi.cgi/interfaces/virtual/eth0:virtiface
DELETE /interfaces/virtual/<name>
Löschen Sie eine virtuelle Schnittstelle. Name ist die eindeutige Kennung der Schnittstelle.
Antwortbeispiel:
{
"description" : "Delete virtual interface",
"message" : "The virtual interface eth0:virtiface has been deleted.",
"success" : "true"
}
Legen Sie die Aktion für virtuelle Schnittstelle fest
Legen Sie die Aktion für virtuelle Schnittstelle fest
Anforderungsbeispiel:
curl -k -X POST -H 'Content-Type: application/json' -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
-d '{"action":"down"}'
https://<zenlb_server>:444/zapi/v3.1/zapi.cgi/interfaces/virtual/eth0:virtiface/actions
POST /interfaces/virtual/<name>/actions
Wenden Sie eine Aktion auf eine virtuelle Schnittstelle an. Mit diesem Aufruf kann eine Netzwerkschnittstelle aktiviert oder deaktiviert werden.
Name ist die eindeutige Kennung der Schnittstelle.
Parameter anfordern
Feld | Art | Beschreibung | Erforderlich |
---|---|---|---|
Aktion | Schnur | Aktion, die auf die Schnittstelle angewendet werden soll. Die verfügbaren Werte sind: upAktivieren Sie die Schnittstelle und bereiten Sie sie für die Verwendung vor. nach untenDeaktivieren Sie die Schnittstelle, um keine Pakete zu empfangen oder zu senden. | was immer dies auch sein sollte. |
Antwortbeispiel:
{
"description" : "Action on virtual interface",
"params" : {
"action" : "down"
}
}
Antwortparameter
Die Antwort wird ein Json sein, bei dem alle angeforderten Werte aktualisiert werden. Weitere Informationen finden Sie im Antwortbeispiel.
Netzwerk - Floating-Schnittstellen
Diese Art von Schnittstelle verwendet eine definierte virtuelle Schnittstelle und maskiert den ausgehenden Datenverkehr von a nic, Kleben or VLAN Schnittstelle mit einem Kind virtuell Schnittstelle. Diese Schnittstelle wird für statusbehaftetes Failover-Verhalten in l4xnat-Profilen verwendet, wenn ein Cluster konfiguriert ist.
Listen Sie schwebende Schnittstellen auf
Listen Sie schwebende Schnittstellen auf
Anforderungsbeispiel:
curl -k -X GET -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
https://<zenlb_server>:444/zapi/v3.1/zapi.cgi/interfaces/floating
GET /interfaces/floating
Alle verfügbaren oder konfigurierten Schnittstellen anzeigen, für die eine Floating-IP erstellt wurde.
Antwortbeispiel:
{
"description" : "List floating interfaces",
"params" : [
{
"floating_ip" : null,
"interface" : "bondiface",
"interface_virtual" : null
},
{
"floating_ip" : "192.168.100.41",
"interface" : "eth0",
"interface_virtual" : "eth0:virtiface"
},
{
"floating_ip" : null,
"interface" : "eth0.1",
"interface_virtual" : null
},
{
"floating_ip" : null,
"interface" : "eth1",
"interface_virtual" : null
}
]
}
Antwortparameter
Die Antwort wird ein JSON-Objekt mit einem Floating-Interface-Objektarray sein:
Concurrent Lizenzen Objekt:
Feld | Art | Beschreibung |
---|---|---|
floating_ip | Schnur | Floating IP in verwendet Schnittstelle. floating_ip muss als virtuelle Schnittstelle untergeordnet sein Schnittstelle. |
Schnittstelle | Schnur | Von der Floating-IP maskierte Schnittstelle. |
interface_virtual | Schnur | Dies ist der Name der virtuellen Schnittstelle der Floating-IP, die zum Maskieren der Schnittstelle verwendet wird. |
Floating-Schnittstelle abrufen
Floating-Schnittstelle abrufen
Anforderungsbeispiel:
curl -k -X GET -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
https://<zenlb_server>:444/zapi/v3.1/zapi.cgi/interfaces/floating/eth0
GET /interfaces/floating/<name>
Zeigt an, ob für eine Schnittstelle eine Floating-IP konfiguriert ist. Wenn eine konfiguriert ist, wird sie hier angezeigt.
Name ist die eindeutige Kennung der Schnittstelle, die vom Typ nic, bond oder vlan sein kann.
Antwortbeispiel:
{
"description" : "Show floating interface",
"params" : {
"floating_ip" : "192.168.100.41",
"interface" : "eth0",
"interface_virtual" : "eth0:virtiface"
}
}
Antwortparameter
Feld | Art | Beschreibung |
---|---|---|
floating_ip | Schnur | Floating IP in verwendet Schnittstelle. floating_ip muss als virtuelle Schnittstelle untergeordnet sein Schnittstelle. |
Schnittstelle | Schnur | Von der Floating-IP maskierte Schnittstelle. |
interface_virtual | Schnur | Dies ist der Name der virtuellen Schnittstelle der Floating-IP, die zum Maskieren der Schnittstelle verwendet wird. |
Ändern Sie die Floating-Schnittstelle
Ändern Sie die Floating-Schnittstelle
Anforderungsbeispiel:
curl -k -X PUT -H 'Content-Type: application/json' -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
-d '{"floating_ip":"192.168.100.199"}'
https://<zenlb_server>:444/zapi/v3.1/zapi.cgi/interfaces/floating/eth0
PUT /interfaces/floating/<name>
Konfigurieren Sie eine Floating-IP für eine NIC-, Bonding- oder VLAN-Schnittstelle.
Name ist die eindeutige Kennung der Schnittstelle, die vom Typ nic, bond oder vlan sein kann.
Parameter anfordern
Feld | Art | Beschreibung | Erforderlich |
---|---|---|---|
floating_ip | Schnur | Floating IP in verwendet Schnittstelle. floating_ip muss als virtuelle Schnittstelle untergeordnet sein Schnittstelle. | was immer dies auch sein sollte. |
Antwortbeispiel:
{
"description" : "Modify floating interface",
"message" : "Floating interface modification done",
"success" : "true"
}
Löschen Sie die Floating-Konfiguration
Löschen Sie die Floating-Konfiguration
Anforderungsbeispiel:
curl -k -X DELETE -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
https://<zenlb_server>:444/zapi/v3.1/zapi.cgi/interfaces/floating/eth0
DELETE /interfaces/floating/<name>
Entfernen Sie die Floating-IP-Konfiguration in einer Schnittstelle.
Name ist die eindeutige Kennung der Schnittstelle, die vom Typ nic, bond oder vlan sein kann.
Antwortbeispiel:
{
"description" : "Remove floating interface",
"message" : "The floating interface has been removed.",
"success" : "true"
}
Überwachung - Statistiken
Zeigen Sie Informationen zu System und Farmen an. Diese Informationen sind hilfreich, um den Status des Zevenet-Lastausgleichs zu überwachen.
Systemstatistik anzeigen
Systemstatistik anzeigen
Anforderungsbeispiel:
curl -k -X GET -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
https://<zevenet_server>:444/zapi/v3.1/zapi.cgi/stats
GET /stats
Holen Sie sich globale Systemstatistiken.
Antwortbeispiel:
{
"description" : "System stats",
"params" : {
"cpu" : {
"cores" : 2,
"idle" : 94.42,
"iowait" : 0,
"irq" : 0,
"nice" : 0,
"softirq" : 0,
"sys" : 2.54,
"usage" : 5.58,
"user" : 3.05
},
"date" : "Fri Jan 27 11:40:32 2017",
"hostname" : "api3",
"load" : {
"Last_1" : 1.17,
"Last_15" : 0.36,
"Last_5" : 0.6
},
"memory" : {
"Buffers" : 21.68,
"Cached" : 147.95,
"MemFree" : 348.06,
"MemTotal" : 2005.01,
"MemUsed" : 1656.95,
"SwapCached" : 2.67,
"SwapFree" : 614.38,
"SwapTotal" : 672,
"SwapUsed" : 57.62
},
"network" : {
"bond0 in in" : 234.72,
"bond0 out out" : 0,
"bond0.10 in in" : 0,
"bond0.10 out out" : 0,
"bond1 in in" : 234.72,
"bond1 out out" : 0,
"bond3 in in" : 815.69,
"bond3 out out" : 4300.38,
"eth0 in in" : 2702.29,
"eth0 out out" : 50701.95,
"eth0.2 in in" : 0,
"eth0.2 out out" : 0,
"eth1 in in" : 234.72,
"eth1 out out" : 0,
"eth2 in in" : 234.72,
"eth2 out out" : 0,
"eth3 in in" : 0,
"eth3 out out" : 0,
"eth4 in in" : 436.89,
"eth4 out out" : 4300.38,
"eth4.6 in in" : 0,
"eth4.6 out out" : 0,
"eth5 in in" : 301.39,
"eth5 out out" : 0,
"eth5.5 in in" : 0,
"eth5.5 out out" : 0,
"eth6 in in" : 77.42,
"eth6 out out" : 0
}
}
}
Antwortparameter
Feld | Art | Beschreibung |
---|---|---|
CPU | Betreff | CPU-Statistiken |
Datum | Schnur | Systemdatum. |
hostname | Schnur | Name des Gastgebers. |
Belastung | Betreff | Kernlaststatistik. |
Erinnerung | Betreff | Verwendete Speicherstatistiken |
Netzwerk | Betreff | Statistiken zum Netzwerkverkehr |
CPU-Objekt:
Feld | Art | Beschreibung |
---|---|---|
Kerne | Nummer | Anzahl der Kerne im Prozessor. |
Leerlauf | Nummer | CPU wird von keinem Programm verwendet. |
Iowait | Nummer | CPU, die vom Eingabe- oder Ausgabeprozess verwendet wird. |
irq | Nummer | CPU wird von Hardware-Interrupts verwendet. |
schön | Nummer | Priorität der CPU-Planung |
softirq | Nummer | CPU wird von Software-Unterbrechungen verwendet. |
sys | Nummer | Vom System verwendete CPU. |
Verwendung | Nummer | Gesamte verwendete CPU |
Benutzer | Nummer | Vom Benutzer verwendete CPU. |
Objekt laden:
Feld | Art | Beschreibung |
---|---|---|
Last_1 | Nummer | Laden Sie das System in letzter Minute. |
Last_5 | Nummer | Laden Sie das System vor fünf Minuten. |
Last_15 | Nummer | Laden Sie das System vor 15 Minuten. |
Speicherobjekt.
Feld | Art | Beschreibung |
---|---|---|
Puffer | Nummer | Es ist die von den Puffern verwendete Erinnerung. Dieser Betrag wird in Mb angegeben. |
Im Cache gespeichert | Nummer | Dies ist der gesamte vom System zwischengespeicherte Speicher. Dieser Betrag wird in Mb angegeben. |
MemFree | Nummer | Dies ist der gesamte freie Speicher, der vom System nicht zwischengespeichert wird. Dieser Betrag wird in Mb angegeben. |
MemTotal | Nummer | Es ist der gesamte RAM-Speicher des Systems. Dieser Betrag wird in Mb angegeben. |
MemUsed | Nummer | Es ist der vom System verwendete Speicher. Dieser Betrag wird in Mb angegeben. |
SwapCached | Nummer | Es ist der gesamte reservierte Cache-Speicher. |
SwapFree | Nummer | Dies ist der gesamte freie Speicher, der vom System nicht zwischengespeichert wird. Dieser Betrag wird in Mb angegeben. |
SwapTotal | Nummer | Es ist der gesamte reservierte Swap-Speicher. |
SwapUsed | Nummer | Es ist der Swap-Speicher, den das System verwendet, auf optimalen Systemen sollte 0 verwendet werden. |
Netzwerkobjekt:
Feld | Art | Beschreibung |
---|---|---|
in in | Nummer | Eingabeverkehr dafür Schnittstelle. |
Raus | Nummer | Datenverkehr dafür ausgeben Schnittstelle. |
Netzwerkstatistik anzeigen
Netzwerkstatistik anzeigen
Anforderungsbeispiel:
curl -k -X GET -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
https://<zevenet_server>:444/zapi/v3.1/zapi.cgi/stats/system/network
GET /stats/system/network
Rufen Sie eine Zusammenfassung des gesamten Eingabe- und Ausgabeverkehrs über eine Netzwerkschnittstelle ab.
Antwortbeispiel:
{
"description" : "Network interfaces usage",
"params" : {
"date" : "Fri Jan 27 11:58:05 2017",
"hostname" : "api3",
"interfaces" : [
{
"in" : "234.72",
"interface" : "bond1",
"out" : "0.00"
},
{
"in" : "77.42",
"interface" : "eth6",
"out" : "0.00"
},
{
"in" : "2703.88",
"interface" : "eth0",
"out" : "50917.65"
},
{
"in" : "815.69",
"interface" : "bond2",
"out" : "4300.38"
}
]
}
}
Antwortparameter
Die Antwort wird eine JSON mit einem Schlüssel sein params deren Wert ein Objekt mit den folgenden Schlüsseln ist:
Feld | Art | Beschreibung |
---|---|---|
Datum | Schnur | Systemdatum. |
hostname | Schnur | Name des Gastgebers. |
Schnittstellen | Objekt[] | Statistiken zum Netzwerkverkehr |
Schnittstellenobjekt
Feld | Art | Beschreibung |
---|---|---|
in | Schnur | Gesamteingangsverkehr in MB. |
Schnittstelle | Schnur | Name der Schnittstelle |
Schnur | Gesamtausgangsverkehr in MB. |
Schnittstellenstatistiken anzeigen
Schnittstellenstatistiken anzeigen
Anforderungsbeispiel:
curl -k -X GET -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
https://<zevenet_server>:444/zapi/v3.1/zapi.cgi/stats/system/network/interfaces
GET /stats/system/network/interfaces
Holen Sie sich eine Zusammenfassung jeder Netzwerkschnittstelle.
Antwortbeispiel:
{
"description" : "Interfaces info",
"params" : {
"bond" : [
{
"in" : "234.72",
"interface" : "bond1",
"ip" : "",
"mac" : "3a:3a:a7:e3:33:73",
"out" : "0.00",
"slaves" : [
"eth2"
],
"status" : "down",
"virtual" : [],
"vlan" : []
},
{
"in" : "815.70",
"interface" : "bond3",
"ip" : "",
"mac" : "ea:00:7d:88:1d:bd",
"out" : "4300.38",
"slaves" : [
"eth4",
"eth5",
"eth6"
],
"status" : "up",
"virtual" : [],
"vlan" : []
},
{
"in" : "234.72",
"interface" : "bond0",
"ip" : "",
"mac" : "c2:d0:d7:64:df:68",
"out" : "0.00",
"slaves" : [
"eth1"
],
"status" : "down",
"virtual" : [],
"vlan" : [
"bond0.10"
]
}
],
"nic" : [
{
"in" : "77.42",
"interface" : "eth6",
"ip" : "",
"mac" : "ea:00:7d:88:1d:bd",
"out" : "0.00",
"status" : "up",
"virtual" : [],
"vlan" : []
},
{
"in" : "2704.81",
"interface" : "eth0",
"ip" : "192.168.101.46",
"mac" : "9e:2e:3e:a5:2e:6a",
"out" : "51039.13",
"status" : "up",
"virtual" : [
"eth0:1",
"eth0:2",
"eth0.2:6"
],
"vlan" : [
"eth0.2"
]
},
{
"in" : "234.72",
"interface" : "eth1",
"ip" : "192.168.101.58",
"mac" : "c2:d0:d7:64:df:68",
"out" : "0.00",
"status" : "up",
"virtual" : [],
"vlan" : []
},
{
"in" : "234.72",
"interface" : "eth2",
"ip" : "",
"mac" : "3a:3a:a7:e3:33:73",
"out" : "0.00",
"status" : "up",
"virtual" : [],
"vlan" : []
},
{
"in" : "0.00",
"interface" : "eth3",
"ip" : "192.168.101.72",
"mac" : "16:97:ab:43:87:02",
"out" : "0.00",
"status" : "down",
"virtual" : [
"eth3:1",
"eth3:8",
"eth3:6"
],
"vlan" : []
},
{
"in" : "436.89",
"interface" : "eth4",
"ip" : "",
"mac" : "ea:00:7d:88:1d:bd",
"out" : "4300.38",
"status" : "up",
"virtual" : [
"eth4.6:5"
],
"vlan" : [
"eth4.6"
]
},
{
"in" : "301.39",
"interface" : "eth5",
"ip" : "",
"mac" : "ea:00:7d:88:1d:bd",
"out" : "0.00",
"status" : "up",
"virtual" : [],
"vlan" : [
"eth5.5"
]
}
]
}
}
Antwortparameter
Die Antwort wird eine JSON mit einem Schlüssel sein params deren Wert ein Objekt mit den Schlüsseln ist Anleihe und nic.
Feld | Art | Beschreibung |
---|---|---|
Anleihe | Objekt[] | Bond-Interface-Statistiken. |
nic | Objekt[] | NIC-Schnittstellenstatistik. |
Bond-Objekt:
Feld | Art | Beschreibung |
---|---|---|
in | Schnur | Gesamteingangsverkehr in MB. |
Schnittstelle | Schnur | Schnittstellenname, der als eindeutiger Bezeichner verwendet wird. |
ip | Schnur | IP der Schnittstelle. |
mac | Schnur | MAC der Schnittstelle. |
Schnur | Gesamtausgangsverkehr in MB. | |
Sklaven | String [] | Liste der Slaves, die die Bondschnittstelle bilden. |
Status | Schnur | Schnittstellenstatus Der Wert kann sein nach untenist die Schnittstelle deaktiviert; upist die Schnittstelle aktiviert. |
virtuell | String [] | Virtuelle Schnittstellen, die von dieser Schnittstelle erben. |
vlan | String [] | VLAN-Schnittstellen, die von dieser Schnittstelle erben. |
Nic Objekt:
Feld | Art | Beschreibung |
---|---|---|
in | Schnur | Gesamteingangsverkehr in MB. |
Schnittstelle | Schnur | Schnittstellenname, der als eindeutiger Bezeichner verwendet wird. |
ip | Schnur | IP der Schnittstelle. |
mac | Schnur | MAC der Schnittstelle. |
Schnur | Gesamtausgangsverkehr in MB. | |
Status | Schnur | Schnittstellenstatus Der Wert kann sein nach untenist die Schnittstelle deaktiviert; upist die Schnittstelle aktiviert. |
virtuell | String [] | Virtuelle Schnittstellen, die von dieser Schnittstelle erben. |
vlan | String [] | VLAN-Schnittstellen, die von dieser Schnittstelle erben. |
Speicherstatistik anzeigen
Speicherstatistik anzeigen
Anforderungsbeispiel:
curl -k -X GET -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
https://<zevenet_server>:444/zapi/v3.1/zapi.cgi/stats/system/memory
GET /stats/system/memory
Rufen Sie eine Zusammenfassung des Systemspeichers ab.
Antwortbeispiel:
{
"description" : "Memory usage",
"params" : {
"Buffers" : 1.01,
"Cached" : 42.47,
"MemFree" : 880.11,
"MemTotal" : 2005.01,
"MemUsed" : 1124.91,
"SwapCached" : 8.27,
"SwapFree" : 565.15,
"SwapTotal" : 672,
"SwapUsed" : 106.84,
"date" : "Fri Jan 27 12:27:11 2017",
"hostname" : "api3"
}
}
Antwortparameter
Die Antwort wird eine JSON mit einem Schlüssel sein params deren Wert ein Speicherobjekt ist.
Memory Objekt.
Feld | Art | Beschreibung |
---|---|---|
Puffer | Nummer | Es ist die von den Puffern verwendete Erinnerung. Dieser Betrag wird in Mb angegeben. |
Im Cache gespeichert | Nummer | Dies ist der gesamte vom System zwischengespeicherte Speicher. Dieser Betrag wird in Mb angegeben. |
MemFree | Nummer | Dies ist der gesamte freie Speicher, der vom System nicht zwischengespeichert wird. Dieser Betrag wird in Mb angegeben. |
MemTotal | Nummer | Es ist der gesamte RAM-Speicher des Systems. Dieser Betrag wird in Mb angegeben. |
MemUsed | Nummer | Es ist der vom System verwendete Speicher. Dieser Betrag wird in Mb angegeben. |
SwapCached | Nummer | Es ist der gesamte reservierte Cache-Speicher. |
SwapFree | Nummer | Dies ist der gesamte freie Speicher, der vom System nicht zwischengespeichert wird. Dieser Betrag wird in Mb angegeben. |
SwapTotal | Nummer | Es ist der gesamte reservierte Swap-Speicher. |
SwapUsed | Nummer | Es ist der Swap-Speicher, den das System verwendet, auf optimalen Systemen sollte 0 verwendet werden. |
Datum | Schnur | Systemdatum. |
hostname | Schnur | Name des Gastgebers. |
Ladestatistik anzeigen
Ladestatistik anzeigen
Anforderungsbeispiel:
curl -k -X GET -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
https://<zevenet_server>:444/zapi/v3.1/zapi.cgi/stats/system/load
GET /stats/system/load
Holen Sie sich eine Zusammenfassung der CPU-Systemlast.
Antwortbeispiel:
{
"description" : "System load",
"params" : {
"Last_1" : 0.66,
"Last_15" : 0.39,
"Last_5" : 0.49,
"date" : "Fri Jan 27 13:15:01 2017",
"hostname" : "api3"
}
}
Antwortparameter
Feld | Art | Beschreibung |
---|---|---|
Last_1 | Nummer | Laden Sie die Systemnutzung zuletzt. |
Last_5 | Nummer | Laden Sie die Systemnutzung in den letzten fünf Minuten. |
Last_15 | Nummer | Laden Sie die Systemnutzung in den letzten fünfzehn Minuten. |
Datum | Schnur | Systemdatum. |
hostname | Schnur | Name des Gastgebers. |
CPU-Statistiken anzeigen
CPU-Statistiken anzeigen
Anforderungsbeispiel:
curl -k -X GET -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
https://<zevenet_server>:444/zapi/v3.1/zapi.cgi/stats/system/cpu
GET /stats/system/cpu
Antwortbeispiel:
{
"description" : "System CPU usage",
"params" : {
"cores" : 2,
"date" : "Fri Jan 27 13:30:52 2017",
"hostname" : "api3",
"idle" : 94.9,
"iowait" : 0,
"irq" : 0,
"nice" : 0,
"softirq" : 0,
"sys" : 3.06,
"usage" : 5.1,
"user" : 2.04
}
}
Antwortparameter
Feld | Art | Beschreibung |
---|---|---|
Kerne | Nummer | Anzahl der Kerne im Prozessor. |
Leerlauf | Nummer | CPU wird von keinem Programm verwendet. |
Iowait | Nummer | CPU, die vom Eingabe- oder Ausgabeprozess verwendet wird. |
irq | Nummer | CPU wird von Hardware-Interrupts verwendet. |
schön | Nummer | Priorität der CPU-Planung |
softirq | Nummer | CPU wird von Software-Unterbrechungen verwendet. |
sys | Nummer | Vom System verwendete CPU. |
Verwendung | Nummer | Gesamte verwendete CPU |
Benutzer | Nummer | Vom Benutzer verwendete CPU. |
Datum | Schnur | Systemdatum. |
hostname | Schnur | Name des Gastgebers. |
Verbindungsstatistik anzeigen
Verbindungsstatistik anzeigen
Anforderungsbeispiel:
curl -k -X GET -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
https://<zevenet_server>:444/zapi/v3.1/zapi.cgi/stats/system/connections
GET /stats/system/connections
Rufen Sie die gesamten aktuellen Verbindungen im System ab. Der Zähler summiert alle Arten von verfolgten Verbindungen: ASSURED, ESTABLISHED, SYN_SENT, TIME_WAIT, LISTEN…
Antwortbeispiel:
{
"description" : "System connections",
"params" : {
"connections" : 324
}
}
Antwortparameter
Feld | Art | Beschreibung |
---|---|---|
Verbindungen | Nummer | Verfolgte Verbindungen insgesamt. |
Anzahl der Farmen anzeigen
Anzahl der Farmen anzeigen
Anforderungsbeispiel:
curl -k -X GET -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
https://<zevenet_server>:444/zapi/v3.1/zapi.cgi/stats/farms/total
GET /stats/farms/total
Zeigt die Gesamtzahl der im System erstellten Farmen an.
Antwortbeispiel:
{
"description" : "Number of farms.",
"number" : 8
}
Antwortparameter
Feld | Art | Beschreibung |
---|---|---|
Anzahl | Nummer | Dies ist die Anzahl der im System vorhandenen Farmen. |
Farmstatistiken anzeigen
Farmstatistiken anzeigen
Anforderungsbeispiel:
curl -k -X GET -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
https://<zevenet_server>:444/zapi/v3.1/zapi.cgi/stats/farms
GET /stats/farms
Rufen Sie eine Zusammenfassung der Verbindungen und der Konfiguration für alle Farmen im System ab.
Antwortbeispiel:
{
"description" : "List all farms stats",
"farms" : [
{
"established" : 0,
"farmname" : "testHttps",
"pending" : 0,
"profile" : "https",
"status" : "up",
"vip" : "192.168.101.20",
"vport" : "120"
},
{
"established" : 0,
"farmname" : "httpFarm",
"pending" : 0,
"profile" : "http",
"status" : "up",
"vip" : "192.168.10.31",
"vport" : "8080"
},
{
"established" : 0,
"farmname" : "testDL",
"pending" : 0,
"profile" : "datalink",
"status" : "up",
"vip" : "192.168.102.72",
"vport" : "eth1"
},
{
"established" : 0,
"farmname" : "testL4",
"pending" : 0,
"profile" : "l4xnat",
"status" : "up",
"vip" : "192.168.10.31",
"vport" : "30"
},
{
"established" : 0,
"farmname" : "testGSLB",
"pending" : 0,
"profile" : "gslb",
"status" : "up",
"vip" : "192.168.10.31",
"vport" : "53"
}
]
}
Antwortparameter
Feld | Art | Beschreibung |
---|---|---|
etablierten | Nummer | Gesamtzahl der aktuellen Verbindungen. |
Hofname | Schnur | Name der Farm, eindeutige Kennung |
schwebend | Nummer | Anzahl ausstehender Verbindungen |
profile | Schnur | Art der Farm Die möglichen Werte sind: Datalink, L4xnat, http, https or gslb. Jedes Profil ist in seinem Abschnitt definiert. |
Status | Schnur | Farmstatus Die verfügbaren Statuswerte sind: nach untendie Farm läuft nicht; Neustart erforderlichDie Farm ist in Betrieb, steht jedoch vor einer Neustartaktion. kritischemDie Farm ist in Betrieb und alle Backends sind nicht erreichbar oder zu warten. Problem, die Farm ist in Betrieb und es gibt einige nicht erreichbare Backends, aber fast ein Backend befindet sich im Aufwärtsstatus. WartungDie Farm ist in Betrieb und es gibt Backends im Up-Status, aber fast ein Backend befindet sich im Wartungsmodus. upDie Farm ist in Betrieb und alle Backends sind erfolgreich. |
vip | Schnur | IP der Farm, in der der virtuelle Dienst empfangsbereit ist. |
vport | Schnur | Port der Farm, von der der virtuelle Dienst abhört. |
Anzeigen einer Farmstatistik
Anzeigen einer Farmstatistik
Anforderungsbeispiel:
curl -k -X GET -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
https://<zevenet_server>:444/zapi/v3.1/zapi.cgi/stats/farms/farmname
GET /stats/farms/<farmname>
Zeigt den aktuellen Farmstatus, deren Backend-Status und Verbindungen an. Jede Farm antwortet mit unterschiedlichen Objekten, abhängig vom Profil.
Antwortbeispiel für HTTP-Farm:
{
"backends" : [
{
"established" : 0,
"id" : 0,
"ip" : "192.168.0.168",
"pending" : 0,
"port" : 80,
"service" : "srv1",
"status" : "up"
}
],
"description" : "List farm stats",
"sessions" : [
{
"client" : "0",
"id" : "0",
"service" : "srv1",
"session" : "192.168.0.186"
}
]
}
Antwortparameter in HTTP-Farmen
Feld | Art | Beschreibung |
---|---|---|
Backends | Objekt[] | Informationen zu Backends anzeigen. |
Sessions | Objekt[] | Informationen zu Sitzungen anzeigen. |
Backend-Objekt
Feld | Art | Beschreibung |
---|---|---|
etablierten | Nummer | Gesamtzahl der bestehenden Verbindungen. |
id | Nummer | Eindeutige Kennung des Backends |
ip | Schnur | IP, auf die der echte Dienst wartet. |
schwebend | Nummer | Anzahl ausstehender Verbindungen |
port | Nummer | Port, an dem der echte Dienst zuhört. |
serviceorientiert | Schnur | Dienstname, der als eindeutige Kennung verwendet wird. |
Status | Schnur | Backend-Status Die möglichen Werte sind: upDie Farm läuft und das Backend ist bereit, Verbindungen zu empfangen. nach untenDie Farm läuft und der Dienst hat festgestellt, dass das Backend nicht funktioniert. WartungWenn das Backend vom Administrator als nicht bereit zum Empfangen von Verbindungen markiert ist, ist diese Option für die Wartungsaufgaben des Backends nützlich. undefiniert, der Backend-Status wurde nicht geprüft. |
Sitzungsobjekt
Feld | Art | Beschreibung |
---|---|---|
Auftraggeber | Schnur | Kundennummer eindeutig |
id | Schnur | Eindeutige Backend-Kennung, die dem Client zugewiesen ist. |
serviceorientiert | Schnur | Service-eindeutige Kennung, die dem Client zugewiesen ist. |
Sitzung | Schnur | Sitzungsidentifizierer Dieser Wert hängt vom Persistenztyp ab. |
Antwortbeispiel für GSLB-Farm:
{
"backends" : [
{
"id" : 1,
"ip" : "127.0.0.1",
"port" : 53,
"service" : "service1",
"status" : "down"
},
{
"id" : 2,
"ip" : "192.168.55.40",
"port" : 53,
"service" : "service1",
"status" : "down"
},
{
"id" : 4,
"ip" : "192.135.10.2",
"port" : 53,
"service" : "service1",
"status" : "down"
},
{
"id" : 1,
"ip" : "127.0.0.1",
"port" : 80,
"service" : "prioServ",
"status" : "down"
},
{
"id" : 2,
"ip" : "127.0.0.1",
"port" : 80,
"service" : "prioServ",
"status" : "down"
}
],
"client" : {
"edns_big" : 0,
"edns_tc" : 0,
"recvfail" : 0,
"reqs" : 0,
"sendfail" : 0,
"tc" : 0
},
"description" : "List farm stats",
"extended" : {
"badvers" : 0,
"dropped" : 0,
"edns" : 0,
"edns_clientsub" : 0,
"formerr" : 0,
"noerror" : 0,
"notimp" : 0,
"nxdomain" : 0,
"refused" : 0,
"v6" : 0
},
"server" : {
"recvfail" : 0,
"reqs" : 0,
"sendfail" : 0
}
}
Antwortparameter in GSLB-Farmen
Feld | Art | Beschreibung |
---|---|---|
Backends | Objekt[] | Informationen zu den Backends anzeigen. |
Auftraggeber | Betreff | Auf den Kunden bezogene Statistiken. |
verlängert | Betreff | Erweiterte Informationen zum Service. |
Server | Betreff | Mit dem Server verbundene Statistiken. |
Backend-Objekt
Feld | Art | Beschreibung |
---|---|---|
id | Nummer | Eindeutige Kennung des Backends |
ip | Schnur | IP, auf die der echte Dienst wartet. |
port | Nummer | Port, an dem der echte Dienst zuhört. |
serviceorientiert | Schnur | Dienstname, der als eindeutige Kennung verwendet wird. |
Status | Schnur | Backend-Status Die möglichen Werte sind: upDie Farm läuft und das Backend ist bereit, Verbindungen zu empfangen. nach untenDie Farm läuft und der Dienst hat festgestellt, dass das Backend nicht funktioniert. undefiniert, der Backend-Status wurde nicht geprüft. |
Client-Objekt
Feld | Art | Beschreibung |
---|---|---|
edns_big | Nummer | Antworten, die größer als 512 Bytes waren. |
edns_tc | Nummer | Die vom Client angegebene erweiterte DNS-Puffergröße war zu klein für die angeforderten Daten. |
recvfail | Nummer | Anzahl der UDP-Fehler, bei denen das Betriebssystem angab, dass beim Empfang ein Fehler aufgetreten ist. |
reqs | Nummer | Gesamtzahl der vom Server verarbeiteten UDP-Anforderungen. |
sendfail | Nummer | Anzahl der UDP-Fehler, bei denen das Betriebssystem angegeben hat, dass beim Senden ein Fehler aufgetreten ist. |
tc | Nummer | Antworten, die mit dem gesetzten TC-Bit abgeschnitten wurden. |
Erweitertes Objekt
Feld | Art | Beschreibung |
---|---|---|
Badvers | Nummer | Anforderung, die eine EDNS-OPT-RR mit einer nicht unterstützten Version hatte. |
fallen gelassen | Nummer | Gelöschte Anforderungen für fehlerhaftes Format. |
edns | Nummer | Die Anfrage enthielt eine EDNS OPT-RR. |
edns_clientsub | Nummer | Teilmenge der edns-Anforderungen, die die Option edns_client_subnet angaben. |
ehemaliger | Nummer | Die Anfrage war schlecht formatiert, aber es war vernünftig genug, dass wir eine Antwort mit dem Rcode FORMERR gesendet haben. |
kein Fehler | Nummer | Erfolgreiche Anfragen |
nicht | Nummer | Angeforderter Dienst, der von diesem Dämon nicht implementiert wurde, z. B. Zonenübertragungsanforderungen. |
nxdomain | Nummer | Anforderung für einen nicht vorhandenen Domänennamen. |
verweigert | Nummer | Die Anfrage wurde vom Server abgelehnt, da der Server nicht für den abgefragten Namen autorisiert ist. |
v6 | Nummer | Anforderung von einem IPv6-Client. |
Serverobjekt
Feld | Art | Beschreibung |
---|---|---|
recvfail | Nummer | Anzahl der TCP-Fehler, bei denen das Betriebssystem angab, dass beim Empfang ein Fehler aufgetreten ist. |
reqs | Nummer | Gesamtzahl der vom Server verarbeiteten TCP-Anforderungen. |
sendfail | Nummer | Anzahl der TCP-Fehler, bei denen das Betriebssystem angegeben hat, dass beim Senden ein Fehler aufgetreten ist. |
Antwortbeispiel für L4xNAT-Farm:
{
"backends" : [
{
"established" : 5,
"id" : 1,
"ip" : "192.168.5.40",
"pending" : 0,
"port" : "8080",
"status" : "maintenance"
},
{
"established" : null,
"id" : 3,
"ip" : "192.5.1.1",
"pending" : 0,
"port" : "787",
"status" : "down"
},
{
"established" : null,
"id" : 5,
"ip" : "192.168.5.100",
"pending" : 0,
"port" : "8080",
"status" : "up"
}
],
"description" : "List farm stats"
}
Antwortparameter in L4xNAT-Farmen
Die Antwort wird ein JSON mit Schlüssel sein Backends und bewerten Sie ein Objektarray mit den folgenden Parametern.
Backend-Objekt:
Feld | Art | Beschreibung |
---|---|---|
etablierten | Nummer | Gesamtzahl der aktuellen Verbindungen. |
id | Nummer | Eindeutige Kennung des Backends |
ip | Schnur | IP, auf die der echte Dienst wartet. |
schwebend | Nummer | Anzahl ausstehender Verbindungen |
port | Nummer | Port, an dem der echte Dienst zuhört. |
Status | Schnur | Backend-Status Die möglichen Werte sind: upDie Farm läuft und das Backend ist bereit, Verbindungen zu empfangen. nach untenDie Farm läuft und der Dienst hat festgestellt, dass das Backend nicht funktioniert. WartungWenn das Backend vom Administrator als nicht bereit zum Empfangen von Verbindungen markiert ist, ist diese Option für die Wartungsaufgaben des Backends nützlich. undefiniert, der Backend-Status wurde nicht geprüft. |
Antwortparameter in DataLink-Farmen
Daten-Farm-Statistiken sind aktuell nicht verfügbar.
Modulstatus anzeigen
Modulstatus anzeigen
Anforderungsbeispiel:
curl -k -X GET -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
https://<zevenet_server>:444/zapi/v3.1/zapi.cgi/stats/farms/modules
GET /stats/farms/modules
Erhalten Sie eine Zusammenfassung der Modulstatistiken. Dieser Aufruf zeigt jeden Modulstatus, die Anzahl der konfigurierten Farmen und die Anzahl der abgestellten Farmen an.
Die Definition von Modulen ist in Farms .
Antwortbeispiel:
{
"description" : "Module status",
"params" : {
"dslb" : {
"critical" : 0,
"down" : 1,
"problem" : 0,
"total" : 2,
"up" : 1
},
"gslb" : {
"critical" : 0,
"down" : 0,
"problem" : 0,
"total" : 1,
"up" : 1
},
"lslb" : {
"critical" : 0,
"down" : 2,
"problem" : 0,
"total" : 4,
"up" : 2
}
}
}
Antwortparameter
Die Antwort wird ein JSON mit drei Schlüsseln sein: dslb, gslb und lslb.
Feld | Art | Beschreibung |
---|---|---|
kritischem | Nummer | Anzahl der Farmen in kritischem Zustand Die Farm ist kritisch, wenn sie aktiv ist und alle Backends nicht erreichbar sind (Ausfall oder Wartung). |
nach unten | Nummer | Anzahl der gestoppten Farmen Die Farmen werden vom Systemadministrator gestoppt. |
Problem | Nummer | Anzahl der Farmen mit Problemstatus Die Farm ist problematisch, wenn sie in Betrieb ist und fast ein Backend inaktiv ist. |
gesamt | Nummer | Anzahl der Betriebe insgesamt |
up | Nummer | Anzahl der laufenden Farmen Hier wird gewartet angezeigt und der Farmstatus muss neu gestartet werden. |
Modulstatistik anzeigen
Modulstatistik anzeigen
Anforderungsbeispiel:
curl -k -X GET -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
https://<zevenet_server>:444/zapi/v3.1/zapi.cgi/stats/farms/modules/lslb
GET /stats/farms/modules/<module>
Farmstatistik eines angegebenen Moduls anzeigen.
Die verfügbaren Werte für die Modul Parameter sind: lslb, gslb or dslb.
Antwortbeispiel:
{
"description" : "List lslb farms stats",
"farms" : [
{
"established" : 0,
"farmname" : "newfarm",
"pending" : 0,
"profile" : "http",
"status" : "up",
"vip" : "192.168.100.199",
"vport" : "40"
},
{
"established" : 0,
"farmname" : "nwl4farm",
"pending" : 0,
"profile" : "l4xnat",
"status" : "down",
"vip" : "192.168.100.241",
"vport" : "88"
},
{
"established" : 0,
"farmname" : "l4farm",
"pending" : 0,
"profile" : "l4xnat",
"status" : "up",
"vip" : "192.168.100.102",
"vport" : "70"
}
]
}
Antwortparameter
Die Antwort wird ein JSON-Objekt mit Informationen zu Farmen im Modul sein.
Feld | Art | Beschreibung |
---|---|---|
etablierten | Nummer | Gesamtzahl der aktuellen Verbindungen. |
Hofname | Schnur | Farmname, eindeutige Kennung für Farmen. |
schwebend | Nummer | Anzahl ausstehender Verbindungen |
profile | Schnur | Art der Farm Die möglichen Werte sind: Datalink, L4xnat, http, https or gslb. Jedes Profil ist selbst definiert. |
Status | Schnur | Farmstatus Die verfügbaren Statuswerte sind: nach untendie Farm läuft nicht; Neustart erforderlichDie Farm ist in Betrieb, steht jedoch vor einer Neustartaktion. kritischemDie Farm ist in Betrieb und alle Backends sind nicht erreichbar oder zu warten. Problem, die Farm ist in Betrieb und es gibt einige nicht erreichbare Backends, aber fast ein Backend befindet sich im Aufwärtsstatus. WartungDie Farm ist in Betrieb und es gibt Backends im Up-Status, aber fast ein Backend befindet sich im Wartungsmodus. upDie Farm ist in Betrieb und alle Backends sind erfolgreich. |
vip | Schnur | IP der Farm, in der der virtuelle Dienst empfangsbereit ist. |
vport | Schnur | Port der Farm, von der der virtuelle Dienst abhört. |
Überwachung - Diagramme
Dieser Abschnitt ist nützlich, um das interne Load-Balancer-System zu überwachen, um Probleme durch die Parameter CPU-Auslastung, Auslagerungsspeicher, RAM-Speicher, alle konfigurierten Schnittstellen für Neukonfiguration, Last und Festplattenspeicher zu erkennen.
Außerdem haben Sie Zugriff auf die wöchentliche, monatliche und jährliche Historie.
Diagramme mit Informationen werden im base64-Format beantwortet.
Liste der verfügbaren Grafiken
Liste der verfügbaren Grafiken
Anforderungsbeispiel:
curl -k -X GET -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
https://<zevenet_server>:444/zapi/v3.1/zapi.cgi/graphs
GET /graphs
Ein Objekt mit allen verfügbaren Diagrammen im System anzeigen. Es zeigt die mögliche Anfrage, die gestellt werden kann.
Antwortbeispiel:
{
"description" : "These are the possible graphs, you`ll be able to access to the daily, weekly, monthly or yearly graph",
"farms" : [
"l4farm",
"newfarm",
"gslbfarm",
"nwl4farm",
"httpweb"
],
"interfaces" : [
"eth0.1",
"eth2",
"eth1",
"eth3",
"bondiface",
"eth0"
],
"system" : [
"cpu",
"load",
"ram",
"swap",
{
"disk" : [
"root/",
"root/boot",
"root/usr/local/zenloadbalancer/config",
"root/var/log"
]
}
]
}
Antwortparameter
Die Antwort wird ein JSON sein, drei Arten von Graphen. Betriebe, Schnittstellen und System.
Feld | Art | Beschreibung |
---|---|---|
Betriebe | Zeichenfolge [] | Liste der verfügbaren Farmdiagramme. |
Schnittstellen | Zeichenfolge [] | Liste der verfügbaren Schnittstellendiagramme. |
System | Objekt[] | Liste der verfügbaren Systemgraphen. Das Array verfügt über ein Objekt mit einem Array, das Aufhängepunkte für Festplatten anzeigt. |
Systemobjekt:
Das Systemobjekt enthält eine auf das System bezogene Arrayliste und ein Plattenobjekt mit dem nächsten Format.
Feld | Art | Beschreibung |
---|---|---|
Scheibe | Zeichenfolge [] | Die Werte dieses Arrays sind alle vorhanden Punkte einbinden Jeder hat im System Diagramme zur Verfügung. |
Diagramme anzeigen
Diagramme anzeigen
Anforderungsbeispiel für eine Farm:
curl -k -X GET -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
https://<zevenet_server>:444/zapi/v3.1/zapi.cgi/graphs/farms/httpweb
Anforderungsbeispiel für eine Schnittstelle:
curl -k -X GET -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
https://<zevenet_server>:444/zapi/v3.1/zapi.cgi/graphs/interfaces/eth3
Anforderungsbeispiel für eine Platte:
curl -k -X GET -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
https://<zevenet_server>:444/zapi/v3.1/zapi.cgi/graphs/system/disk/root/boot
GET /graphs/<graph>
Die verfügbaren Werte für Graph sind:
Wert | Beschreibung |
---|---|
farms/<farmname> |
Hofname, eindeutige Kennung der Farm. |
interfaces/<interface> |
Schnittstelle, eindeutige Kennung der Schnittstelle. |
system/<system> |
SystemMögliche Systemgraphen sind: CPU, Belastung, RAM or tauschen. |
system/disk/<mount point> |
Einhängepunktist ein Wert von Scheibe Objekt, das vom Aufruf 'GET / graphs' zurückgegeben wird. |
Antwortbeispiel:
{
"description" : "Get cpu graphs",
"graphs" : [
{
"frequency" : "daily",
"graph" : "PNG IN BASE 64"
},
{
"frequency" : "weekly",
"graph" : "PNG IN BASE 64"
},
{
"frequency" : "monthly",
"graph" : "PNG IN BASE 64"
},
{
"frequency" : "yearly",
"graph" : "PNG IN BASE 64"
}
]
}
Antwortparameter
Feld | Art | Beschreibung |
---|---|---|
Frequenz | Schnur | Zeitraum, der zur Erstellung des Diagramms verwendet wird. Die möglichen Werte sind: Unterricht, wöchentlich, monatlich or jährlich. |
Graphen | Schnur | Diagramm im 64-Basisformat. |
Frequenzdiagramm anzeigen
Frequenzdiagramm anzeigen
Anforderungsbeispiel für eine Farm:
curl -k -X GET -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
https://<zevenet_server>:444/zapi/v3.1/zapi.cgi/graphs/farms/httpweb/daily
Anforderungsbeispiel für eine Schnittstelle:
curl -k -X GET -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
https://<zevenet_server>:444/zapi/v3.1/zapi.cgi/graphs/interfaces/eth3/monthly
Anforderungsbeispiel für eine Platte:
curl -k -X GET -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
https://<zevenet_server>:444/zapi/v3.1/zapi.cgi/graphs/system/disk/root/boot/yearly
GET /graphs/<graph>/<frequency>
Die verfügbaren Werte für Graph sind:
Wert | Beschreibung |
---|---|
farms/<farmname> |
Hofname, eindeutige Kennung der Farm. |
interfaces/<interface> |
Schnittstelle, eindeutige Kennung der Schnittstelle. |
system/<system> |
SystemMögliche Systemgraphen sind: CPU, Belastung, RAM or tauschen. |
system/disk/<mount point> |
Einhängepunktist ein Wert von Scheibe Objekt, das vom Aufruf 'GET / graphs' zurückgegeben wird. |
Die verfügbaren Werte für Frequenz sind:
Feld | Art | Beschreibung |
---|---|---|
Frequenz | Schnur | Zeitraum, der zur Erstellung des Diagramms verwendet wird. Die möglichen Werte sind: Unterricht, wöchentlich, monatlich or jährlich. |
Antwortbeispiel:
{
"description" : "Get farm graphs",
"graph" : "PNG IN BASE 64"
}
Antwortparameter
Feld | Art | Beschreibung |
---|---|---|
Graphen | Schnur | Diagramm im 64-Basisformat. |
IPDS
Dieses Modul ist die Implementierung von a IPS (Intrusion Prevention System) und IDS (Intrusion Detection System) -System, um dem Benutzer eine Sicherheitsschicht anzubieten. Das IPDS-Modul prüft den Verkehr kurz zuvor, um die Load-Balancing-Module zu erreichen LSLB or GSLBWenn der Datenverkehr als schädlich erkannt wird, wird er zurückgewiesen.
Es wendet Sicherheitsregeln auf das System an, das als Objekt unterschiedlicher Art definiert wird. Jeder bietet eine Lösung für externe bösartige oder verdächtige Aktionen. Dieses Tool hilft den Systemadministratoren, Bedrohungen und Angriffe zu kontrollieren.
Die verfügbaren Regeln für Zevenet können sein schwarze Listen, DoS or RBL.
Listen Sie alle IPDS-Regeln auf
Listet die ipds-Regeln auf
Anforderungsbeispiel:
curl -k -X GET -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
https://<zenlb_server>:444/zapi/v3.1/zapi.cgi/ipds
GET /ipds
Listen Sie alle im System vorhandenen ipds-Regeln auf.
Antwortbeispiel:
{
"description" : "List the available IPDS rules.",
"params" : [
{
"name" : "dosrst",
"rule" : "dos",
"type" : "farm"
},
{
"name" : "ssh_brute_force",
"rule" : "dos",
"type" : "system"
},
{
"name" : "geo_IL_israel",
"rule" : "blacklist"
},
{
"name" : "geo_ME_montenegro",
"rule" : "blacklist"
},
{
"name" : "sip",
"rule" : "rbl"
},
{
"name" : "ssh",
"rule" : "rbl"
}
]
}
Antwortparameter
Die Antwort wird ein JSON-Objekt sein, dessen Schlüssel auf gesetzt ist params. Der Wert davon ist ein Array von Blacklist-Objekten, von denen jedes die folgenden Schlüsselattribute enthält.
Feld | Art | Beschreibung |
---|---|---|
Name | Schnur | IPDS-Regelname Es wird als eindeutige Kennung verwendet. |
regieren | Schnur | Es ist die Natur der ipds-Regel. Es kann sein schwarze Liste, zwei or rbl. |
tippe | Schnur | Dieses Feld erscheint in Dos-Regeln und legt fest, ob es sich um eine Regel handelt Systemes gilt für balancer; oder Bauernhofgelten die Regeln für eine Farm. |
IPDS - Schwarze Listen
Blacklists Benutzer können Listen zum Filtern oder Zulassen von Datenverkehr nach Quell-IPs (eingehender Datenverkehr) verwenden.
Es gibt zwei Arten von Listen:
- Remotes: Listen werden von einer URL abgerufen, diese Listen sind nicht modifizierbar und können zum Download geplant werden.
- Lokal: Benutzer können eigene Listen mit einer bestimmten Richtlinie erstellen. verleugnen Wenn die eingehende IP-Adresse übereinstimmt, wird der Datenverkehr abgelehnt oder erlauben Wenn die eingehende IP-Adresse übereinstimmt, wird der Datenverkehr zugelassen.
Dieses Modul beinhaltet vorbelastet Listen, die vom Zevenet-Team zur Verfügung gestellt werden, können auf Farmen angewendet werden. Darüber hinaus können Benutzer ihre eigenen personalisierten Listen erstellen.
Es können mehrere Listen auf dieselbe Farm angewendet werden. Wenn die Quell-IP-Adresse in einigen Listen der Liste übereinstimmt, wird der Datenverkehr je nach Blacklist-Richtlinie zugelassen oder abgelehnt. Im Moment stimmt die IP überein, dann werden keine Blacklist-Prüfungen mehr an der Quell-IP durchgeführt.
Wenn sich eine Quell-IP in zwei verschiedenen Listen befindet, eine vom Typ verleugnen und andere vom Typ erlaubenwird dann immer zuerst die Erlaubnisrichtlinie ausgewertet.
Listet alle Blacklist-Regeln auf
Alle schwarzen Listen auflisten
Anforderungsbeispiel:
curl -k -X GET -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
https://<zenlb_server>:444/zapi/v3.1/zapi.cgi/ipds/blacklists
GET /ipds/blacklists
Listet alle vom Benutzer erstellten oder im System vorinstallierten Blacklists auf, die auf die Farmen angewendet werden können.
Antwortbeispiel:
{
"description" : "Get black lists",
"params" : [
{
"farms" : [],
"name" : "china",
"policy" : "deny",
"preload" : "true",
"status" : "down",
"type" : "local"
},
{
"farms" : [],
"name" : "russia",
"policy" : "deny",
"preload" : "true",
"status" : "down",
"type" : "local"
},
{
"farms" : [],
"name" : "northkorea",
"policy" : "deny",
"preload" : "true",
"status" : "down",
"type" : "local"
},
{
"farms" : [
"FarmHttp1",
"FarmGslb1",
],
"name" : "remoteList",
"policy" : "deny",
"preload" : "false",
"status" : "up",
"type" : "remote"
},
{
"farms" : [],
"name" : "myWhiteList",
"policy" : "allow",
"preload" : "false",
"status" : "down",
"type" : "local"
},
]
}
Antwortparameter
Die Antwort wird ein JSON-Objekt sein, dessen Schlüssel auf gesetzt ist params. Der Wert davon ist ein Array von Blacklist-Objekten, von denen jedes die folgenden Schlüsselattribute enthält.
Feld | Art | Beschreibung |
---|---|---|
Betriebe | Zeichenfolge [] | Farmenliste, auf die die schwarze Liste angewendet wird. |
Name | Schnur | Name der Blacklist Es wird als eindeutige Kennung verwendet. |
Datenschutzrichtlinien | Schnur | Aktion, die auf die Quelle angewendet werden soll. Die Optionen sind: verleugnenblockieren Sie den Eingabeverkehr von den Quellen der Liste; oder erlauben Akzeptieren Sie den Verkehr von den Quellen der Liste. |
Vorspannung | Schnur | Die möglichen Werte sind: was immer dies auch sein sollte.wurde die schwarze Liste im System vorinstalliert; oder falschDie Blacklist wurde vom Systemadministrator erstellt. |
Status | Schnur | Die möglichen Werte sind: upDie Blacklist wird aktiviert und der Verkehr von Quellen wird blockiert (oder zugelassen). oder nach untentatsächlich läuft die Regel nicht und filtert den Verkehr nicht. |
tippe | Schnur | Wo die Liste gespeichert wird und wer sie verwaltet. Die Werte sind: lokalDie Liste wird im lokalen System gespeichert und kann lokal geändert werden entferntwird die Liste von einer entfernten Quelle über eine heruntergeladen URL, Es kann nicht lokal geändert werden, daher müssen die Änderungen in der Remote-Quelle vorgenommen werden. |
Rufen Sie eine Blacklist-Regel ab
Blacklist abrufen
Anforderungsbeispiel:
curl -k -X GET -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
https://<zenlb_server>:444/zapi/v3.1/zapi.cgi/ipds/blacklists/loc
GET /ipds/blacklists/<name>
Zeigt die Blacklist-Konfigurations- und Beschreibungsparameter an. Name ist die eindeutige Kennung der Blacklist.
Antwortparameter
Beispiel für eine lokale Antwortliste:
{
"description" : "Get list loc",
"params" : {
"farms" : [],
"name" : "loc",
"policy" : "deny",
"preload" : "false",
"sources" : [
{
"id" : 0,
"source" : "192.168.0.167"
},
{
"id" : 1,
"source" : "192.168.0.186"
}
],
"status" : "up",
"type" : "local"
}
}
Lokales Sperrlistenobjekt:
Feld | Art | Beschreibung |
---|---|---|
Betriebe | Zeichenfolge [] | Farmenliste, auf die die schwarze Liste angewendet wird. |
Name | Schnur | Name der Blacklist Es wird als eindeutige Kennung verwendet. |
Datenschutzrichtlinien | Schnur | Aktion, die auf eine Quelle angewendet werden soll. Die Optionen sind: verleugnenblockieren Sie den Eingabeverkehr von den Quellen der Liste; oder erlauben Akzeptieren Sie den Verkehr von den Quellen der Liste. |
Vorspannung | Schnur | Die möglichen Werte sind: was immer dies auch sein sollte.wurde die schwarze Liste im System vorinstalliert; oder falschDie Blacklist wurde vom Systemadministrator erstellt. |
Status | Schnur | Die möglichen Werte sind: upDie Blacklist wird aktiviert und der Verkehr von Quellen wird blockiert (oder zugelassen). oder nach untentatsächlich läuft die Regel nicht und filtert den Verkehr nicht. |
tippe | Schnur | Wo die Liste gespeichert wird und wer sie verwaltet. Die Werte sind: lokalDie Liste wird im System gespeichert und vom Systemadministrator verwaltet. oder entferntwird die Liste von einer Remote-URL heruntergeladen. |
Quellen | Objekt[] | Liste der IPs, die die Liste überprüft. Quellnetzformat akzeptiert: Netzwerkadresse / Maske bisschen oder IP |
Beispiel für eine Antwort-Remote-Liste:
{
"description" : "Get list remoteList",
"params" : {
"day" : "thursday",
"farms" : [
"FarmHttp1",
"FarmGslb1",
],
"frequency" : "weekly",
"name" : "remoteList",
"policy" : "deny",
"sources" : [
{
"id" : 0,
"source" : "78.12.0.4"
},
{
"id" : 1,
"source" : "68.100.15.5"
},
{
"id" : 2,
"source" : "65.12.12.95"
}
],
"time" : {
"hour" : 0,
"minutes" : 0
},
"status" : "up",
"update_status" : "This list isn't downloaded yet.",
"type" : "remote",
"url" : "http://192.168.10.10/lists/test.txt"
}
}
Remote-Blacklist-Objekt:
Feld | Art | Beschreibung |
---|---|---|
Betriebe | Zeichenfolge [] | Farmenliste, auf die die schwarze Liste angewendet wird. |
Name | Schnur | Name der schwarzen Liste Es wird als eindeutige Kennung verwendet. |
Datenschutzrichtlinien | Schnur | Aktion, die auf eine Quelle angewendet werden soll. Die Optionen sind: verleugnenblockieren Sie den Eingabeverkehr von den Quellen der Liste; oder erlauben Akzeptieren Sie den Verkehr von den Quellen der Liste. |
Vorspannung | Schnur | Die möglichen Werte sind: was immer dies auch sein sollte.wurde die schwarze Liste im System vorinstalliert; oder falschDie Blacklist wurde vom Systemadministrator erstellt. |
tippe | Schnur | Wo die Liste gespeichert wird und wer sie verwaltet. Die Werte sind: lokalDie Liste wird im System gespeichert und vom Systemadministrator verwaltet. oder entferntwird die Liste von einer Fernbedienung heruntergeladen URL. |
Quellen | Objekt[] | Quellen-IPs, die Überprüfungen auflisten. Wenn die Liste von ist tippe entfernt dann wird der Listeninhalt erst beim ersten Download angezeigt. |
Update Status | Schnur | Status des letzten Downloads der Liste und Datum der letzten erfolgreichen Aktualisierung im lokalen System. |
URL | Schnur | Wo wird die Remote-Liste heruntergeladen? Das Remote-Format muss eine Liste von einem sein Quelle Netzwerk / Bitmaske oder IP pro Zeile. |
Frequenz | Schnur | Häufigkeit der Aktualisierung der Remote-Liste. Die Optionen sind: Unterricht, alle Tage einmal oder regelmäßig aktualisieren, dies ist in angegeben frequency_type Feld; wöchentlich, einmal in der Woche aktualisieren; oder monatlich, aktualisieren Sie einmal im Monat. |
frequency_type | Schnur | Dieser Parameter vervollständigt das Frequenz täglich, wenn der Wert täglich ist. Die möglichen Werte sind: genau. eine Stunde am Tag definieren; oder ZeitDefinieren Sie einen Zeitraum, der während des Tages aktualisiert werden soll. |
Tag | String oder Nummer | Dieser Parameter vervollständigt den Parameter Frequenz wann frecuency Wert ist wöchentlich or monatlich. Wenn frecuency is wöchentlich Dieser Parameter muss ein Tag der Woche sein (Montag, Dienstag, Mittwoch, Donnerstag, Freitag, Samstag or Sonntag) ob Frequenz Wert ist monatlich dann muss dieser Parameter ein Tag des Monats sein (eine Zahl zwischen 1 und 31). |
Zeit | Betreff | Es ist eine Struktur, die von den Feldern abhängt Frequenz. |
Status | Schnur | Die möglichen Werte sind: upDie Blacklist wird aktiviert und der Verkehr von Quellen wird blockiert (oder zugelassen). oder nach untentatsächlich läuft die Regel nicht und filtert den Verkehr nicht. |
Zeitobjekt für Tagesfrequenz und Periodenfrequenz_Typ
Feld | Art | Beschreibung |
---|---|---|
Zeit | Nummer | Wie oft wird die Liste aktualisiert? |
Einheit | Schnur | Periodeneinheit Die Optionen sind: MinutenGeben Sie an, dass die Liste alle konfigurierten Minuten aktualisiert wird. oder StundenDie Liste wird alle konfigurierten Stunden aktualisiert. |
Zeitobjekt für andere Frequenzen
Feld | Art | Beschreibung |
---|---|---|
Stunde | Nummer | Stunde, um die Liste zu aktualisieren. Der Wert muss eine Zahl zwischen sein 0 und 23. |
Minuten | Nummer | Minuten, um die Liste zu aktualisieren. Der Wert muss eine Zahl zwischen sein 0 und 59. |
Quellenobjekt
Feld | Art | Beschreibung |
---|---|---|
id | Nummer | Eindeutige Quellenkennung in der Liste. |
Quelle | Schnur | IP-Adressen oder Netzsegmente, die die Liste überprüft. |
Erstellen Sie eine Blacklist-Regel
Erstellen Sie eine neue Blacklist
Anforderungsbeispiel für eine lokale Liste:
curl -k -X POST -H "ZAPI_KEY: <ZAPI_KEY_STRING>" -H 'Content-Type: application/json'
-d '{"name":"newListLoc", "type":"local", "policy":"allow"}'
https://<zenlb_server>:444/zapi/v3.1/zapi.cgi/ipds/blacklists
Anforderungsbeispiel für eine Remote-Liste:
curl -k -X POST -H "ZAPI_KEY: <ZAPI_KEY_STRING>" -H 'Content-Type: application/json'
-d '{"name":"newListRem", "type":"remote", "url":"https://192.168.10.12/lists/test.txt"}'
https://<zenlb_server>:444/zapi/v3.1/zapi.cgi/ipds/blacklists
POST /ipds/blacklists
Erstellen Sie eine Blacklist, die in Farmen verwendet werden soll. Es gibt zwei Arten von Blacklists:
- Local: Die Quellen werden vom Benutzer hinzugefügt. Die Liste wird lokal gespeichert.
- Remote: Die Quellen werden von einem Remote-Standort abgerufen. Dieser Ort wird durch eine URL angezeigt. Das unterstützte Remote-Listenformat ist eins Netzwerkadresse / Maskenbit or IP Zeile pro Zeile.
Parameter anfordern
Feld | Art | Beschreibung | Erforderlich |
---|---|---|---|
Name | Schnur | Name der Blacklist Es wird als eindeutige Kennung verwendet. | was immer dies auch sein sollte. |
tippe | Schnur | Wo die Liste gespeichert wird und wer sie wartet. Die Werte sind: lokalDie Liste wird im System und in der Verwaltung für das Administrationssystem gespeichert. oder entferntwird die Liste von einem Out-Dienst über eine URL und der Service des Administrators wird die Liste pflegen. | was immer dies auch sein sollte. |
Datenschutzrichtlinien | Schnur | Aktion, die auf eine Quelle angewendet werden soll. Die Optionen sind: verleugnenblockieren Sie den Eingabeverkehr von den Quellen der Liste; oder erlauben Akzeptieren Sie den Verkehr von den Quellen der Liste. Der Standardwert ist deny. | |
URL | Schnur | Wo wird die Remote-Liste heruntergeladen? Das Remote-Format muss eine Liste von einem sein Quelle pro Zeile im Format Netzwerkadresse / Maskenbit or IP. | wahr für entfernte Liste |
{
"description" : "Post list list1",
"params" : {
"farms" : [],
"name" : "newListLoc",
"policy" : "deny",
"preload" : "false",
"type" : "local"
}
}
Antwortparameter
Die Antwort wird ein JSON-Objekt sein, dessen Schlüssel auf gesetzt ist params. Der Wert davon ist ein Array von Blacklist-Objekten, von denen jedes die nächsten Schlüsselattribute enthält.
Feld | Art | Beschreibung |
---|---|---|
Betriebe | Zeichenfolge [] | Farmenliste, auf die die schwarze Liste angewendet wird. |
Name | Schnur | Name der Blacklist Es wird als eindeutige Kennung verwendet. |
Datenschutzrichtlinien | Schnur | Aktion, die auf eine Quelle angewendet werden soll. Die Optionen sind: verleugnenblockieren Sie den Eingabeverkehr von den Quellen der Liste; oder erlauben Akzeptieren Sie den Verkehr von den Quellen der Liste. |
Vorspannung | Schnur | Die möglichen Werte sind: was immer dies auch sein sollte.wurde die schwarze Liste im System vorinstalliert; oder falschDie Blacklist wurde für den Systemadministrator erstellt. |
tippe | Schnur | Wo die Liste gespeichert wird und wer sie wartet. Die Werte sind: lokalDie Liste wird im System und in der Verwaltung für das Administrationssystem gespeichert. oder entferntwird die Liste von einem Out-Dienst über eine URL und der Service des Administrators wird die Liste pflegen. |
Ändern Sie eine Blacklist-Regel
Ändern Sie eine Blacklist
Anforderungsbeispiel für eine lokale Liste:
curl -k -X PUT -H 'Content-Type: application/json' -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
-d '{"policy":"allow","source":["78.12.0.4","68.100.15.5","65.12.12.95"]}'
https://<zenlb_server>:444/zapi/v3.1/zapi.cgi/ipds/blacklists/whiteList
PUT /ipds/blacklists/<name>
Ändern Sie die Konfiguration einer Blacklist-Regel. Name ist die eindeutige Kennung der Blacklist.
Anforderungsparameter für eine lokale Liste:
Feld | Art | Beschreibung |
---|---|---|
Name | Schnur | Name der Blacklist Es wird als eindeutige Kennung verwendet. Nur ist es auf Nein modifiziert Vorspannung Listen. |
Datenschutzrichtlinien | Schnur | Aktion, die auf eine Quelle angewendet werden soll. Die Optionen sind: verleugnenblockieren Sie den Eingabeverkehr von den Quellen der Liste; oder erlauben Akzeptieren Sie den Verkehr von den Quellen der Liste. |
Quelle | Zeichenfolge [] | Es ist eine Liste von IP-Adressen oder Netzsegmenten, die von der Liste geprüft werden. Um nur eine Quelle zu ändern, lesen Sie bitte den Abschnitt zur Dokumentation IPDS> Blacklists> Ändern Sie eine Quelle einer Blacklist. Nur Quellen werden auf Nein geändert Vorspannung Listen. |
Antwortbeispiel:
{
"description" : "Modify list whiteList.",
"params" : {
"name" : "whiteList",
"policy" : "allow",
"preload" : "false",
"type" : "local"
}
}
Antwortparameter
Die Antwort wird ein Json sein, bei dem alle angeforderten Werte aktualisiert werden. Weitere Informationen finden Sie im Antwortbeispiel.
Anforderungsbeispiel für eine Remote-Liste:
curl -k -X PUT -H 'Content-Type: application/json' -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
-d '{"name":"remoteList","url":"http://192.168.10.10/lists/test.txt","policy":"deny","frequency":"daily","frequency_type":"exact","time":{"hour":1,"minutes":0}}'
https://<zenlb_server>:444/zapi/v3.1/zapi.cgi/ipds/blacklists/newListRem
Fordern Sie ein Beispiel für das Aktualisieren einer Liste nach 2-Stunden an:
curl -k -X PUT -H 'Content-Type: application/json' -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
-d '{"frequency":"daily","frequency_type":"period","time":{"period":2,"units":"hours"}}'
https://<zenlb_server>:444/zapi/v3.1/zapi.cgi/ipds/blacklists/newListRem
Fordern Sie ein Beispiel an, um eine Liste alle Tage bei 2 zu aktualisieren: 00 AM:
curl -k -X PUT -H 'Content-Type: application/json' -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
-d '{"frequency":"daily","frequency_type":"exact","time":{"hour":2,"minutes":0}}'
https://<zenlb_server>:444/zapi/v3.1/zapi.cgi/ipds/blacklists/newListRem
Beispiel für die Aktualisierung aller Montags bei 0: 00 AM anfordern:
curl -k -X PUT -H 'Content-Type: application/json' -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
-d '{"frequency":"weekly","day":"monday","time":{"hour":0,"minutes":0}}'
https://<zenlb_server>:444/zapi/v3.1/zapi.cgi/ipds/blacklists/newListRem
Beispiel für die Aktualisierung des Tages 1 des Monats unter 12: 00 PM anfordern:
curl -k -X PUT -H 'Content-Type: application/json' -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
-d '{"frequency":"monthly","day":"1","time":{"hour":12,"minutes":0}}'
https://<zenlb_server>:444/zapi/v3.1/zapi.cgi/ipds/blacklists/newListRem
Parameter für eine entfernte Liste anfordern
Feld | Art | Beschreibung |
---|---|---|
Betriebe | Zeichenfolge [] | Farmenliste, auf die die schwarze Liste angewendet wird. |
Name | Schnur | Name der Blacklist Es wird als eindeutige Kennung verwendet. |
Datenschutzrichtlinien | Schnur | Aktion, die auf eine Quelle angewendet werden soll. Die Optionen sind: verleugnenblockieren Sie den Eingabeverkehr von den Quellen der Liste; oder erlauben Akzeptieren Sie den Verkehr von den Quellen der Liste. |
URL | Schnur | Wo wird die Remote-Liste heruntergeladen? |
Frequenz | Schnur | Häufigkeit der Aktualisierung der Remote-Liste. Die Optionen sind: Unterricht, alle Tage einmal oder regelmäßig aktualisieren, dies ist in angegeben frequency_type Feld; wöchentlich, einmal in der Woche aktualisieren; oder monatlich, aktualisieren Sie einmal im Monat. |
frequency_type | Schnur | Dieser Parameter vervollständigt das Frequenz täglich, wenn der Wert täglich ist. Die möglichen Werte sind: genau. eine Stunde am Tag definieren; oder ZeitDefinieren Sie einen Zeitraum, der während des Tages aktualisiert werden soll. |
Tag | String oder Nummer | Dieser Parameter vervollständigt das Frequenz wenn der Wert wöchentlich oder monatlich ist. Wenn es wöchentlich ist, muss dieser Parameter ein Wochentag sein (Montag, Dienstag, Mittwoch, Donnerstag, Freitag, Samstag or Sonntag) sonst wenn Frequenz ist monatlich, dann muss dieser Parameter ein Monat sein (Nummer zwischen 1 und 31). |
Zeit | Betreff | Es ist eine Struktur, die von den Feldern abhängt Frequenz. |
Zeitobjekt
Dies sind die Felder, in denen ein Zeitraum konfiguriert wird.
Es ist eine Konfiguration erforderlich Frequenz mit dem Wert Unterricht und frequency_type mit dem Wert Zeit.
Feld | Art | Beschreibung |
---|---|---|
Zeit | Nummer | Wie oft wird die Liste aktualisiert? |
Einheit | Schnur | Periodeneinheit Die Optionen sind: Minuten or Stunden, geben Sie die Maßeinheit für die Aktualisierung der Liste an. |
Zeitgenaues Stundenobjekt
In diesen Feldern wird eine genaue Stundenzeit konfiguriert.
Dieses Objekt wird bei den nächsten Konfigurationen verwendet:
Frequenz Feld hat den Wert Unterricht und frequency_type is genau.
Frequenz Feld hat den Wert wöchentlich und Tag ist der Wochentag, an dem die Liste aktualisiert wird.
Frequenz Feld hat den Wert monatlich und Tag ist die Anzahl des Tagesmonats, wenn die Liste aktualisiert wird.
Feld | Art | Beschreibung |
---|---|---|
Stunde | Nummer | Stunde, um die Liste zu aktualisieren. Der Wert muss eine Zahl zwischen sein 0 und 23. |
Minuten | Nummer | Minuten, um die Liste zu aktualisieren. Der Wert muss eine Zahl zwischen sein 0 und 59. |
Antwortbeispiel:
{
"description" : "Modify list newListRem.",
"params" : {
"day": 1,
"frequency" : "monthly",
"name" : "newListRem",
"policy" : "deny",
"preload" : "false",
"time" : {
"hour" : 12,
"minutes" : 0
},
"type" : "remote",
"update_status" : "Sync fail. Last update: 2017-02-16 14:23:00",
"url" : "https://192.168.10.12/lists/test.txt"
}
}
Antwortparameter
Die Antwort wird ein Json mit allen Listenkonfigurationen sein. Weitere Informationen finden Sie im Antwortbeispiel.
Löschen Sie eine Blacklist-Regel
Löschen Sie eine Blacklist-Liste
Anforderungsbeispiel:
curl -k -X DELETE -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
https://<zenlb_server>:444/zapi/v3.1/zapi.cgi/ipds/blacklists/remoteList
DELETE /ipds/blacklists/<name>
Eine bestimmte Blacklist löschen. Name ist die eindeutige Kennung der Blacklist.
Antwortbeispiel:
{
"description" : "Delete list 'remoteList'",
"message" : "The list remoteList has been deleted successful.",
"success" : "true"
}
Listenquelle aus einer Blacklist
Listenquelle aus einer Blacklist
Anforderungsbeispiel:
curl -k -X DELETE -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
https://<zenlb_server>:444/zapi/v3.1/zapi.cgi/ipds/blacklists/localList
GET /ipds/blacklists/<name>/sources
Listet die Quellen einer Blacklist auf. Name ist die eindeutige Kennung der Blacklist.
Antwortbeispiel:
{
"description" : "Get localList sources",
"params" : [
{
"id" : 0,
"source" : "78.12.0.4"
},
{
"id" : 1,
"source" : "68.100.15.5"
},
{
"id" : 2,
"source" : "65.12.12.95"
}
]
}
Antwortparameter
Die Antwort wird ein JSON mit dem Schlüssel sein params und Quellobjektarray als Wert.
Quellobjekt:
Feld | Art | Beschreibung |
---|---|---|
id | Nummer | Eindeutige Quellenkennung in der Liste. |
Quelle | Zeichenfolge [] | IP-Adressen oder Netzsegmente, die die Liste überprüft. |
Fügen Sie einer Blacklist eine Quelle hinzu
Fügen Sie einer Blacklist eine Quelle hinzu
Anforderungsbeispiel:
curl -k -X POST -H "ZAPI_KEY: <ZAPI_KEY_STRING>" -H 'Content-Type: application/json'
-d '{"source":"192.168.3.1"}'
https://<zenlb_server>:444/zapi/v3.1/zapi.cgi/ipds/blacklists/localList/sources
POST /ipds/blacklists/<name>/sources
Schieben Sie eine neue Quelle in eine Blacklist. Nur für lokale Listen und nicht vorinstallierte Listen verfügbar. Name ist die eindeutige Kennung der Blacklist.
Parameter anfordern
Feld | Art | Beschreibung | Erforderlich |
---|---|---|---|
Quelle | Schnur | IP-Adresse oder Netzsegment, das die Liste überprüft. | was immer dies auch sein sollte. |
Antwortbeispiel:
{
"description" : "Post source to localList.",
"message" : "Added 192.168.3.1 successful.",
"params" : [
{
"id" : 0,
"source" : "78.12.0.4"
},
{
"id" : 1,
"source" : "68.100.15.5"
},
{
"id" : 2,
"source" : "65.12.12.95"
},
{
"id" : 3,
"source" : "192.168.3.1"
}
]
}
Antwortparameter
Die Antwort wird ein Json sein, bei dem alle angeforderten Werte aktualisiert werden. Weitere Informationen finden Sie im Antwortbeispiel.
Ändern Sie eine Quelle einer Blacklist
Ändern Sie eine Quelle einer Blacklist
Anforderungsbeispiel:
curl -k -X PUT -H "ZAPI_KEY: <ZAPI_KEY_STRING>" -H 'Content-Type: application/json'
-d '{"source":"192.168.3.1"}'
https://<zenlb_server>:444/zapi/v3.1/zapi.cgi/ipds/blacklists/localList/sources/2
PUT /ipds/blacklists/<name>/sources/<id>
Ändern Sie eine Quelle einer Blacklist.
Name ist die eindeutige Kennung der Blacklist. id ist die eindeutige Quellenkennung.
Parameter anfordern
Feld | Art | Beschreibung | Erforderlich |
---|---|---|---|
Quelle | Schnur | IP-Adresse oder Netzsegment, das die Liste überprüft. | was immer dies auch sein sollte. |
Antwortbeispiel:
{
"description" : "Put source into localList",
"message" : "Source 2 has been modified successful.",
"params" : {
"id" : 2,
"source" : "192.168.3.1"
}
}
Antwortparameter
Die Antwort wird ein Json mit aktualisierter Quelle sein. Weitere Informationen finden Sie im Antwortbeispiel.
Löschen Sie eine Quelle einer Blacklist
Löschen Sie eine Quelle einer Blacklist
Anforderungsbeispiel:
curl -k -X DELETE -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
https://<zenlb_server>:444/zapi/v3.1/zapi.cgi/ipds/blacklists/localList/sources/2
DELETE /ipds/blacklists/<name>/sources/<id>
Entfernen Sie eine Quelle aus einer Blacklist.
Name ist die eindeutige Kennung der Blacklist. id ist die eindeutige Quellenkennung.
Antwortbeispiel:
{
"description" : "Delete source from the list localList",
"message" : "Source 2 has been deleted successful.",
"success" : "true"
}
Wenden Sie eine Aktion auf eine Blacklist-Regel an
Anwendung anwenden
Anforderungsbeispiel für eine Remote-Liste:
curl -k -X POST -H 'Content-Type: application/json' -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
-d '{"action":"update"}'
https://<zenlb_server>:444/zapi/v3.1/zapi.cgi/ipds/blacklists/remoteList/actions
POST /ipds/blacklists/<name>/actions
Wenden Sie eine Aktion auf eine Blacklist an. Name ist die eindeutige Kennung der Blacklist.
Parameter anfordern
Feld | Art | Beschreibung | Erforderlich |
---|---|---|---|
Aktion | Schnur | Aktion, die auf eine Blacklist-Regel angewendet werden soll. Die verfügbaren Werte sind: Anfangaktiviert den Blaclist in allen Farmen, in denen er angewendet wird; haltWenn die Blacklist für alle Farmen gestoppt wird, in denen die Blacklist-Regel angewendet wird, wird der Datenverkehr nicht blockiert oder zugelassen. AktualisierungDiese Aktion kann nur auf angewendet werden entfernt Blacklists aktualisieren diese Aktion die Quellliste von der Fernbedienung URL. | was immer dies auch sein sollte. |
Antwortbeispiel:
{
"description" : "Update a remote list",
"update" : "Sync OK. Last update: 2017-02-01 05:31:57"
}
Antwortparameter
Die Antwort wird ein Json mit dem Download-Status sein. Weitere Informationen finden Sie im Antwortbeispiel.
Feld | Art | Beschreibung | Erforderlich |
---|---|---|---|
Aktualisierung | Schnur | Status des letzten Downloads der Liste und Datum der letzten erfolgreichen Aktualisierung. |
IPDS - DoS
Der DoS-Schutz hat verschiedene Arten von Regeln. Abhängig von der Schutzregel wird er auf einen anderen Teil des Balancers angewendet. Also gibt es System Regeln, dass es alle Balancer gilt. Verbindungsorientierte Regeln, spezifisch für Bauernhof mit dem TCP-Protokoll arbeiten. Bevor Sie eine Regel auf a anwenden BauernhofErstellen Sie ein Objekt mit der gewünschten Konfiguration. Als nächstes wurde es auf alle Farmen angewendet, die Sie benötigen. Das System Regeln haben das Objekt bereits erstellt und haben nur eine mögliche Konfiguration. Einmal konfiguriert, aktivieren Sie es.
Farm DoS-Regeln
Es muss ein Objekt erstellt werden, bevor eine Regel auf eine Farm angewendet wird.
limitsec
Limit der neuen Verbindung pro Sekunde und Quelle. Nur in Farmen verfügbar, funktioniert mit dem TCP-Protokoll.
Feld | Art | Beschreibung |
---|---|---|
Name | Schnur | Es ist die eindeutige ID der Objektregel. |
begrenzen | Nummer | Dies ist die maximale Anzahl neuer Verbindungen pro Sekunde für eine Quelle. |
limit_burst | Nummer | Es ist eine erlaubte Spitze neuer Verbindungen. Eine Burst-Einheit regeneriert sich, wenn die Grenzzeit überschritten wird. |
limitconns
Begrenzen Sie die Gesamtstromverbindungen pro Quelle. Nur in Farmen verfügbar, funktioniert mit dem TCP-Protokoll.
Feld | Art | Beschreibung |
---|---|---|
Name | Schnur | Es ist die eindeutige ID der Objektregel. |
limit_conns | Nummer | Dies ist die maximale Anzahl der aktuellen Verbindungen von einer Quelle. |
Bogustcpflags
Überprüfen Sie, ob das TCP-Protokoll eingehalten wird. Diese Regel enthält keine Konfigurationsparameter, sodass nur ein Objekt erstellt wird, das Sie in allen Farmen verwenden können. Nur in Farmen verfügbar, funktioniert mit dem TCP-Protokoll.
Feld | Art | Beschreibung |
---|---|---|
Name | Schnur | Es ist die eindeutige ID der Objektregel. |
limitrst
Anzahl der zurückgesetzten Verbindungsanforderungen pro Sekunde begrenzen. Nur in Farmen verfügbar, funktioniert mit dem TCP-Protokoll.
Feld | Art | Beschreibung |
---|---|---|
Name | Schnur | Es ist die eindeutige ID der Objektregel. |
begrenzen | Nummer | Dies ist die maximale Anzahl von Rücksetzanforderungen pro Sekunde für eine Quelle. |
limit_burst | Nummer | Dies ist eine zulässige Spitze der Rücksetzanforderung. Eine Burst-Einheit wird regeneriert, wenn „Limit“ Sekunden vergehen. |
System DoS-Regeln
In den System-DoS-Regeln wurde das Objekt nicht erstellt.
sshbruteforce
Limit der neuen SSH-Verbindung.
Feld | Art | Beschreibung |
---|---|---|
Name | Schnur | Es ist die eindeutige ID der Objektregel. Der Bezeichner wurde als definiert ssh_brute_force. |
Hits | Nummer | Anzahl der Treffer für die Quelle, bevor die Verbindungen blockiert sind. |
Zeit | Nummer | Zeit in Sekunden zum Zurücksetzen des Hits entgegenzuwirken. |
Status | Schnur | Die möglichen Werte sind: upDie DoS-Regel ist aktiviert und filtert den Verkehr. oder nach untenDie Regel wird nicht ausgeführt und der Datenverkehr wird nicht gefiltert. |
Listen Sie alle Arten von DoS-Regeln auf
Listen Sie alle Arten von DoS-Regeln auf
Anforderungsbeispiel:
curl -k -X GET -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
https://<zenlb_server>:444/zapi/v3.1/zapi.cgi/ipds/dos/rules
GET /ipds/dos/rules
Zeigt eine Liste der DoS-Regeln an. Sie sind kein Objekt, sondern Typen, um es zu definieren.
Jede Regel hat andere Konfigurationsparameter
Antwortbeispiel:
{
"description" : "Get DoS settings.",
"params" : {
"farm" : [
{
"description" : "Connection limit per seconds.",
"rule" : "limitsec"
},
{
"description" : "Total connections limit per source IP.",
"rule" : "limitconns"
},
{
"description" : "Check bogus TCP flags.",
"rule" : "bogustcpflags"
},
{
"description" : "Limit RST request per second.",
"rule" : "limitrst"
}
],
"system" : [
{
"description" : "SSH brute force.",
"rule" : "sshbruteforce"
},
]
}
}
Antwortparameter
Die JSON-Antwort hat zwei Arrays Bauernhof und System. Jedes Arrayelement ist ein Regeltyp, der auf eine Farm des Systems angewendet werden soll.
Feld | Art | Beschreibung |
---|---|---|
Beschreibung | Schnur | Kurze Beschreibung der Regel. |
regieren | Schnur | eindeutige Kennung der Typregel. |
Listen Sie alle DoS-Regeln auf
Alle DoS-Objekte auflisten
Anforderungsbeispiel:
curl -k -X GET -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
https://<zenlb_server>:444/zapi/v3.1/zapi.cgi/ipds/dos
GET /ipds/dos
Zeigt die Konfiguration aller vorhandenen DoS-Objekte an.
Antwortbeispiel:
{
"description" : "Get DoS settings.",
"params" : [
{
"farms" : [],
"limit_conns" : 10,
"name" : "limitConnHttp",
"rule" : "limitconns",
"status" : "down",
"type" : "farm"
},
{
"farms" : [],
"limit" : 2,
"limit_burst" : 2,
"name" : "limitUsers",
"rule" : "limitsec",
"status" : "down"
"type" : "farm"
},
{
"hits" : 5,
"name" : "ssh_brute_force",
"port" : 22,
"rule" : "sshbruteforce",
"status" : "down",
"time" : 180,
"type" : "system"
},
{
"farms" : [],
"name" : "tcpAuth",
"rule" : "bogustcpflags",
"status" : "down",
"type" : "farm"
},
{
"farms" : [],
"limit" : 2,
"limit_burst" : 2,
"name" : "dos4",
"rule" : "limitrst",
"status" : "down",
"type" : "farm"
},
]
}
Antwortparameter
Die Antwort ist ein Array mit allen verfügbaren DoS-Objekten.
Feld | Art | Beschreibung |
---|---|---|
Name | Schnur | Es ist die eindeutige ID der Objektregel. |
regieren | Schnur | Es ist die Typregelkennung. |
tippe | Schnur | Die möglichen Werte sind: BauernhofDie Regel gilt für Farmen. oder Systemgilt die Regel für das System. |
Status | Schnur | Die möglichen Werte sind: upDie DoS-Regel ist aktiviert und filtert den Verkehr. oder nach untenDie Regel wird nicht ausgeführt und der Datenverkehr wird nicht gefiltert. |
Abhängig von der Regel enthält das Objekt die nächsten Parameter
limitsec
Feld | Art | Beschreibung |
---|---|---|
Betriebe | Zeichenfolge [] | Farmen, auf die die Regel angewendet wird |
begrenzen | Nummer | Dies ist die maximale Anzahl neuer Verbindungen pro Sekunde für eine Quelle. |
limit_burst | Nummer | Es ist eine erlaubte Spitze neuer Verbindungen. Eine Burst-Einheit regeneriert sich, wenn die Grenzzeit überschritten wird. |
limitconns
Feld | Art | Beschreibung |
---|---|---|
Betriebe | Zeichenfolge [] | Farmen, auf die die Regel angewendet wird |
limit_conns | Nummer | Dies ist die maximale Anzahl der aktuellen Verbindungen von einer Quelle. |
Bogustcpflags
Feld | Art | Beschreibung |
---|---|---|
Betriebe | Zeichenfolge [] | Farmen, auf die die Regel angewendet wird |
limitrst
Feld | Art | Beschreibung |
---|---|---|
Betriebe | Zeichenfolge [] | Farmen, auf die die Regel angewendet wird |
begrenzen | Nummer | Dies ist die maximale Anzahl von Rücksetzanforderungen pro Sekunde für eine Quelle. |
limit_burst | Nummer | Dies ist eine zulässige Spitze der Rücksetzanforderung. Eine Burst-Einheit wird regeneriert, wenn „Limit“ Sekunden vergehen. |
sshbruteforce
Feld | Art | Beschreibung |
---|---|---|
Hits | Nummer | Anzahl der Treffer für die Quelle, bevor die Verbindungen blockiert sind. |
Zeit | Nummer | Zeit in Sekunden zum Zurücksetzen des Hits entgegenzuwirken. |
Rufen Sie eine DoS-Regel ab
Rufen Sie eine DoS-Regel ab
Anforderungsbeispiel für Farmregel:
curl -k -X GET -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
https://<zenlb_server>:444/zapi/v3.1/zapi.cgi/ipds/dos/limitConnHttp
Anforderungsbeispiel für Systemregel:
curl -k -X GET -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
https://<zenlb_server>:444/zapi/v3.1/zapi.cgi/ipds/dos/ssh_brute_force
GET /ipds/dos/<name>
Jedes DoS-Objekt kann eine andere Konfiguration haben. Name ist die eindeutige Kennung der DoS-Regel.
Antwortbeispiel für Farmregel:
{
"description" : "Get DoS limitConnHttp settings",
"params" : {
"farms" : [],
"limit_conns" : 10,
"name" : "limitConnHttp",
"rule" : "limitconns",
"status" : "down",
"type" : "farm"
}
}
Antwortbeispiel für Systemregel:
{
"description" : "Get DoS ssh_brute_force settings",
"params" : {
"hits" : 5,
"name" : "ssh_brute_force",
"port" : 22,
"rule" : "sshbruteforce",
"status" : "down",
"time" : 180,
"type" : "system"
}
}
Antwortparameter
Die Antwort ist ein Array mit allen verfügbaren DoS-Objekten.
Feld | Art | Beschreibung |
---|---|---|
Name | Schnur | Es ist die eindeutige ID der Objektregel. |
regieren | Schnur | Es ist die Typregelkennung. |
tippe | Schnur | Die möglichen Werte sind: BauernhofDie Regel gilt für Farmen. oder Systemgilt die Regel für das System. |
Status | Schnur | Die möglichen Werte sind: upDie DoS-Regel ist aktiviert und filtert den Verkehr. oder nach untenDie Regel wird nicht ausgeführt und der Datenverkehr wird nicht gefiltert. |
Abhängig von der Regel enthält das Objekt die nächsten Parameter
limitsec
Feld | Art | Beschreibung |
---|---|---|
Betriebe | Zeichenfolge [] | Farmen, auf die die Regel angewendet wird |
begrenzen | Nummer | Dies ist die maximale Anzahl neuer Verbindungen pro Sekunde für eine Quelle. |
limit_burst | Nummer | Es ist eine erlaubte Spitze neuer Verbindungen. Eine Burst-Einheit regeneriert sich, wenn die Grenzzeit überschritten wird. |
limitconns
Feld | Art | Beschreibung |
---|---|---|
Betriebe | Zeichenfolge [] | Farmen, auf die die Regel angewendet wird |
limit_conns | Nummer | Dies ist die maximale Anzahl der aktuellen Verbindungen von einer Quelle. |
Bogustcpflags
Feld | Art | Beschreibung |
---|---|---|
Betriebe | Zeichenfolge [] | Farmen, auf die die Regel angewendet wird |
limitrst
Feld | Art | Beschreibung |
---|---|---|
Betriebe | Zeichenfolge [] | Farmen, auf die die Regel angewendet wird |
begrenzen | Nummer | Dies ist die maximale Anzahl von Rücksetzanforderungen pro Sekunde für eine Quelle. |
limit_burst | Nummer | Dies ist eine zulässige Spitze der Rücksetzanforderung. Eine Burst-Einheit wird regeneriert, wenn „Limit“ Sekunden vergehen. |
sshbruteforce
Feld | Art | Beschreibung |
---|---|---|
Hits | Nummer | Anzahl der Treffer für die Quelle, bevor die Verbindungen blockiert sind. |
Zeit | Nummer | Zeit in Sekunden zum Zurücksetzen des Hits entgegenzuwirken. |
Erstellen Sie eine DoS-Regel
Erstellen Sie eine DoS-Regel
Anforderungsbeispiel:
curl -k -X POST -H 'Content-Type: application/json' -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
-d '{"name":"limitUsers", "rule":"limitsec"}'
https://<zenlb_server>:444/zapi/v3.1/zapi.cgi/ipds/dos
POST /ipds/dos
Erstellen Sie ein DoS-Objekt, um es nach Bedarf in Farmen zu verwenden.
Jedes DoS-Objekt kann eine andere Konfiguration haben.
Parameter anfordern
Feld | Art | Beschreibung | Erforderlich |
---|---|---|---|
Name | Schnur | Es ist die eindeutige ID der Objektregel. | was immer dies auch sein sollte. |
regieren | Schnur | Es ist die Typregelkennung. Die Optionen sind: limitconns, limitsec, limitrst or Bogustcpflags. | was immer dies auch sein sollte. |
Antwortbeispiel:
{
"description" : "Post a DoS rule",
"params" : {
"farms" : [],
"limit" : 2,
"limit_burst" : 2,
"name" : "limitUsers",
"rule" : "limitsec",
"type" : "farm"
}
}
Antwortparameter
Die Antwort ist ein Json mit der Standardkonfiguration für die erstellte Regel. Weitere Informationen finden Sie im Antwortbeispiel.
Ändern Sie eine DoS-Regel
Ändern Sie eine DoS-Regel
Anforderungsbeispiel:
curl -k -X PUT -H 'Content-Type: application/json' -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
-d '{"hits":"10","status":"up","time":"100"}'
https://<zenlb_server>:444/zapi/v3.1/zapi.cgi/ipds/dos/ssh_brute_force
PUT /ipds/dos/<name>
Ändern Sie eine DoS-Regel. Name ist die eindeutige Kennung der DoS-Regel.
Parameter anfordern
Jeder Regeltyp kann unterschiedliche Parameter sein. Die veränderbaren Parameter sind die nächsten:
limitsec
Feld | Art | Beschreibung |
---|---|---|
begrenzen | Nummer | Dies ist die maximale Anzahl neuer Verbindungen pro Sekunde für eine Quelle. |
limit_burst | Nummer | Es ist eine erlaubte Spitze neuer Verbindungen. Eine Burst-Einheit regeneriert sich, wenn die Grenzzeit überschritten wird. |
limitconns
Feld | Art | Beschreibung |
---|---|---|
limit_conns | Nummer | Dies ist die maximale Anzahl der aktuellen Verbindungen von einer Quelle. |
Bogustcpflags
Keine Parameter haben
limitrst
Feld | Art | Beschreibung |
---|---|---|
begrenzen | Nummer | Dies ist die maximale Anzahl von Rücksetzanforderungen pro Sekunde für eine Quelle. |
limit_burst | Nummer | Dies ist eine zulässige Spitze der Rücksetzanforderung. Eine Burst-Einheit wird regeneriert, wenn „Limit“ Sekunden vergehen. |
sshbruteforce
Feld | Art | Beschreibung |
---|---|---|
Hits | Nummer | Anzahl der Treffer für die Quelle, bevor die Verbindungen blockiert sind. |
Zeit | Nummer | Zeit in Sekunden zum Zurücksetzen des Hits entgegenzuwirken. |
Antwortbeispiel:
{
"description" : "Put DoS rule settings",
"params" : {
"hits" : 10,
"name" : "ssh_brute_force",
"port" : 22,
"rule" : "sshbruteforce",
"status" : "up",
"time" : 100,
"type" : "system"
},
"success" : "true"
}
Antwortparameter
Die Antwort wird ein Json sein, bei dem alle angeforderten Werte aktualisiert werden. Weitere Informationen finden Sie im Antwortbeispiel.
Löschen Sie eine DoS-Regel
Löschen Sie eine DoS-Regel
Anforderungsbeispiel:
curl -k -X DELETE -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
https://<zenlb_server>:444/zapi/v3.1/zapi.cgi/ipds/dos/limitConnHttp
DELETE /ipds/dos/<name>
Systemregeln können nicht gelöscht werden. Um es zu deaktivieren, setzen Sie den Status auf nach unten. Name ist die eindeutige Kennung der DoS-Regel.
Antwortbeispiel:
{
"description" : "Delete DoS rule",
"message" : "Deleted limitConnHttp successful.",
"success" : "true"
}
Wenden Sie eine Aktion auf eine DoS-Regel an
Anwendung anwenden
Anforderungsbeispiel für eine Remote-Liste:
curl -k -X POST -H 'Content-Type: application/json' -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
-d '{"action":"start"}'
https://<zenlb_server>:444/zapi/v3.1/zapi.cgi/ipds/dos/conns_maximum/actions
POST /ipds/dos/<name>/actions
Eine Aktion auf eine Dosierregel anwenden. Name ist die eindeutige Kennung der Dosierregel.
Parameter anfordern
Feld | Art | Beschreibung | Erforderlich |
---|---|---|---|
Aktion | Schnur | Aktion, die auf eine DoS-Regel angewendet werden soll. Die verfügbaren Werte sind: Anfangaktiviert die DoS-Regel in allen Farmen, in denen sie angewendet wird; haltWenn das DoS für alle Farmen deaktiviert wird, in denen die DoS-Regel angewendet wird, wird der Datenverkehr nicht blockiert oder zugelassen. Wiederaufnahme, setzen Sie eine DoS-Regel für alle ihre Farmen zurück. | was immer dies auch sein sollte. |
Antwortbeispiel:
{
"description" : "Apply a action to a DoS rule",
"params" : {
"action" : "start"
}
}
Antwortparameter
Wenn die Konfiguration keine Probleme aufweist, gibt zapi die angeforderte Aktion zurück.
IPDS - RBL
RBLMithilfe von Echtzeit-Blackhole-Listen kann ein Sicherheitssystem erstellt werden, das die mühsame Wartung eines aktualisierten Sicherheitssystems an einen Spezialisten delegiert. RBL prüft den Lastverkehr des Lastausgleichs in einer externen Datenbank über das DNS-Protokoll. Der Eigentümer des DNS-Servers ist für die Aktualisierung und Bereitstellung von Qualitätsquellen verantwortlich. Der Eingangsverkehr von einer IP-Quelle, die sich in der DNS-Datenbank befindet, wird verworfen.
Um mit dem RBL-Dienst zu arbeiten, werden zunächst DNS-Domänen hinzugefügt. Jede DNS-Domäne enthält eine bestimmte Providor-Liste, in der die Quelle nach unterschiedlichen Kriterien als Typ des realisierten Angriffs oder Schweregrad eines Angriffs sortiert wird.
Nachdem die DNS-Domänen erstellt wurden, muss eine RBL-Regel mit der Regelkonfiguration erstellt werden. Verbinden Sie dann DNS-Domänen mit der RBL-Regel. Jede Regel kann verschiedene Domänen untersuchen.
Wenden Sie zuletzt die RBL-Regel auf alle gewünschten Farmen an.
Listen Sie alle RBL-Regeln auf
Listen Sie alle RBL-Regeln auf
Anforderungsbeispiel:
curl -k -X GET -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
https://<zenlb_server>:444/zapi/v3.1/zapi.cgi/ipds/rbl
GET /ipds/rbl
Listen Sie alle im Load Balancer verfügbaren RBL-Regeln auf.
Antwortbeispiel:
{
"description" : "Get RBL rules",
"params" : [
{
"cache_size" : 8192,
"cache_time" : 3600,
"domains" : [
"ssh.rbl.zevenet.com",
"ssh.blocklist.de"
],
"farms" : [
"sshL4farm"
],
"local_traffic" : "false",
"log_level" : 4,
"name" : "protection_ssh",
"only_logging" : "true",
"queue_size" : 64538,
"status" : "down",
"threadmax" : 700
},
{
"cache_size" : 2048,
"cache_time" : 7200,
"domains" : [],
"farms" : [],
"local_traffic" : "true",
"log_level" : 4,
"name" : "sip",
"only_logging" : "true",
"queue_size" : 32269,
"status" : "down",
"threadmax" : 400
},
{
"cache_size" : 8192,
"cache_time" : 3600,
"domains" : [],
"farms" : [
"webAPP"
],
"local_traffic" : "false",
"log_level" : 4,
"name" : "web_attacks",
"only_logging" : "true",
"queue_size" : 64538,
"status" : "down",
"threadmax" : 700
}
]
}
Antwortparameter
Die Antwort wird ein JSON-Objekt sein, dessen Schlüssel auf gesetzt ist params. Der Wert davon ist ein Array von RBL-Objekten, von denen jedes die folgenden Schlüsselattribute enthält.
Feld | Art | Beschreibung |
---|---|---|
cache_size | Nummer | Dies ist die Nummer der IP-Quelle, die von der RBL-Regel zwischengespeichert werden kann. |
cache_time | Nummer | Es ist die Zeit (in Sekunden), in der eine IP-Quelle blockiert wird. |
Domains | Zeichenfolge [] | Es ist eine Liste mit allen Domänen, die die Regel abfragt. |
Betriebe | Zeichenfolge [] | Farmenliste, auf die die schwarze Liste angewendet wird. |
local_traffic | Schnur | Wenn dieses Feld den Wert hat was immer dies auch sein sollte.Die RBL-Regel untersucht den Verkehr von privaten Netzwerksegmenten. oder wenn sein Wert ist falsch Die RBL-Regel ignoriert den Verkehr von privaten Netzwerksegmenten. Der lokale Verkehr wird niemals von einem öffentlichen DNS blockiert. |
log_level | Nummer | Es ist die Schweregradprotokollstufe. Es kann einen Wert zwischen 0 und 7 haben, 0-Notfall und 7-Debug. |
Name | Schnur | Name der RBL-Regel Es wird als eindeutige Kennung verwendet. |
only_logging | Schnur | Wenn der Wert ist was immer dies auch sein sollte.Wenn eine IP-Adresse in einer Domäne übereinstimmt, wird sie protokolliert. oder wenn dieses Feld den Wert hat falschWenn eine IP-Adresse in einer Domäne übereinstimmt, wird die IP-Adresse protokolliert und das Paket verworfen. |
queue_size | Nummer | Die Anzahl der Pakete, die die Regel in der Warteschlange behalten kann. |
Status | Schnur | Zeigt den Status der RBL-Regel an. Sein Wert kann sein nach unten, wenn die Regel nicht funktioniert; oder up es funktioniert die Regel. |
Threadmax | Schnur | Es ist die Anzahl der Pakete, die die Regel gleichzeitig an DNS-Server abfragen kann. Sein Maximalwert ist 700. Wenn die Anzahl der Eingangspakete größer ist als Threadmaxwerden die nächsten Pakete automatisch angenommen. |
Rufen Sie eine RBL-Regel ab
RBL-Regel abrufen
Anforderungsbeispiel:
curl -k -X GET -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
https://<zenlb_server>:444/zapi/v3.1/zapi.cgi/ipds/rbl/protection_ssh
GET /ipds/rbl/<name>
Zeigt die RBL-Konfiguration und ihre Beschreibungsparameter an. Name ist die eindeutige Kennung der RBL-Regel.
Antwortparameter
Antwortbeispiel:
{
"description" : "Get RBL protection_ssh",
"params" : {
"cache_size" : 8192,
"cache_time" : 3600,
"domains" : [
"ssh.zevenet.com",
"ssh.blocklist.de"
],
"farms" : [
"sshL4farm"
],
"local_traffic" : "false",
"log_level" : 4,
"name" : "protection_ssh",
"only_logging" : "true",
"queue_size" : 64538,
"status" : "down",
"threadmax" : 700
}
}
RBL-Regelobjekt:
Feld | Art | Beschreibung |
---|---|---|
cache_size | Nummer | Dies ist die Nummer der IP-Quelle, die von der RBL-Regel zwischengespeichert werden kann. |
cache_time | Nummer | Es ist die Zeit (in Sekunden), in der eine IP-Quelle blockiert wird. |
Domains | Zeichenfolge [] | Es ist eine Liste mit allen Domänen, die die Regel abfragt. |
Betriebe | Zeichenfolge [] | Farmenliste, auf die die schwarze Liste angewendet wird. |
local_traffic | Schnur | Wenn dieses Feld den Wert hat was immer dies auch sein sollte.Die RBL-Regel untersucht den Verkehr von privaten Netzwerksegmenten. oder wenn sein Wert ist falsch Die RBL-Regel ignoriert den Verkehr von privaten Netzwerksegmenten. Der lokale Verkehr wird niemals von einem öffentlichen DNS blockiert. |
log_level | Nummer | Es ist die Schweregradprotokollstufe. Es kann einen Wert zwischen 0 und 7 haben, 0-Notfall und 7-Debug. |
Name | Schnur | Name der RBL-Regel Es wird als eindeutige Kennung verwendet. |
only_logging | Schnur | Wenn der Wert ist was immer dies auch sein sollte.Wenn eine IP-Adresse in einer Domäne übereinstimmt, wird sie protokolliert. oder wenn dieses Feld den Wert hat falschWenn eine IP-Adresse in einer Domäne übereinstimmt, wird die IP-Adresse protokolliert und das Paket verworfen. |
queue_size | Nummer | Die Anzahl der Pakete, die die Regel in der Warteschlange behalten kann. |
Status | Schnur | Zeigt den Status der RBL-Regel an. Sein Wert kann sein nach unten, wenn die Regel nicht funktioniert; oder up es funktioniert die Regel. |
Threadmax | Schnur | Es ist die Anzahl der Pakete, die die Regel gleichzeitig an DNS-Server abfragen kann. Sein Maximalwert ist 700. Wenn die Anzahl der Eingangspakete größer ist als Threadmaxwerden die nächsten Pakete automatisch angenommen. |
Erstellen Sie eine RBL-Regel
Erstellen Sie eine neue RBL-Regel
Anforderungsbeispiel:
curl -k -X POST -H "ZAPI_KEY: <ZAPI_KEY_STRING>" -H 'Content-Type: application/json'
-d '{"name":"all"}'
https://<zenlb_server>:444/zapi/v3.1/zapi.cgi/ipds/rbl
POST /ipds/rbl
Erstellen Sie eine RBL-Regel, die in Farmen verwendet werden soll.
Parameter anfordern
Feld | Art | Beschreibung | Erforderlich |
---|---|---|---|
Name | Schnur | Name der RBL-Regel Es wird als eindeutige Kennung verwendet. | was immer dies auch sein sollte. |
{
"description" : "Create a RBL rule.",
"params" : {
"cache_size" : 8192,
"cache_time" : 3600,
"domains" : [],
"farms" : [],
"local_traffic" : "false",
"log_level" : 4,
"name" : "all",
"only_logging" : "true",
"queue_size" : 64538,
"status" : "down",
"threadmax" : 700
}
}
Antwortparameter
Die Antwort wird ein JSON-Objekt sein, dessen Schlüssel auf gesetzt ist params. Der Wert davon ist ein Array von RBL-Objekten, von denen jedes die nächsten Schlüsselattribute enthält.
Feld | Art | Beschreibung |
---|---|---|
cache_size | Nummer | Dies ist die Nummer der IP-Quelle, die von der RBL-Regel zwischengespeichert werden kann. |
cache_time | Nummer | Es ist die Zeit (in Sekunden), in der eine IP-Quelle blockiert wird. |
Domains | Zeichenfolge [] | Es ist eine Liste mit allen Domänen, die die Regel abfragt. |
Betriebe | Zeichenfolge [] | Farmenliste, auf die die schwarze Liste angewendet wird. |
local_traffic | Schnur | Wenn dieses Feld den Wert hat was immer dies auch sein sollte.Die RBL-Regel untersucht den Verkehr von privaten Netzwerksegmenten. oder wenn sein Wert ist falsch Die RBL-Regel ignoriert den Verkehr von privaten Netzwerksegmenten. Der lokale Verkehr wird niemals von einem öffentlichen DNS blockiert. |
log_level | Nummer | Es ist die Schweregradprotokollstufe. Es kann einen Wert zwischen 0 und 7 haben, 0-Notfall und 7-Debug. |
Name | Schnur | Name der RBL-Regel Es wird als eindeutige Kennung verwendet. |
only_logging | Schnur | Wenn der Wert ist was immer dies auch sein sollte.Wenn eine IP-Adresse in einer Domäne übereinstimmt, wird sie protokolliert. oder wenn dieses Feld den Wert hat falschWenn eine IP-Adresse in einer Domäne übereinstimmt, wird die IP-Adresse protokolliert und das Paket verworfen. |
queue_size | Nummer | Die Anzahl der Pakete, die die Regel in der Warteschlange behalten kann. |
Status | Schnur | Zeigt den Status der RBL-Regel an. Sein Wert kann sein nach unten, wenn die Regel nicht funktioniert; oder up es funktioniert die Regel. |
Threadmax | Schnur | Es ist die Anzahl der Pakete, die die Regel gleichzeitig an DNS-Server abfragen kann. Sein Maximalwert ist 700. Wenn die Anzahl der Eingangspakete größer ist als Threadmaxwerden die nächsten Pakete automatisch angenommen. |
Ändern Sie eine RBL-Regel
Ändern Sie eine RBL-Regel
Anforderungsbeispiel:
curl -k -X PUT -H 'Content-Type: application/json' -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
-d '{"name":"all_reported","cache_size":16384, "cache_time":180000, "queue_size":32269, "threadmax":500, "local_traffic":"true", "log_level":4, "only_logging":"true"}'
https://<zenlb_server>:444/zapi/v3.1/zapi.cgi/ipds/rbl/all
PUT /ipds/rule/<name>
Ändern Sie die Konfiguration einer RBL-Regel. Name ist die eindeutige Kennung der RBL-Regel.
Anforderungsparameter:
Feld | Art | Beschreibung |
---|---|---|
cache_size | Nummer | Dies ist die Nummer der IP-Quelle, die von der RBL-Regel zwischengespeichert werden kann. |
cache_time | Nummer | Es ist die Zeit (in Sekunden), in der eine IP-Quelle blockiert wird. |
local_traffic | Schnur | Wenn dieses Feld den Wert hat was immer dies auch sein sollte.Die RBL-Regel untersucht den Verkehr von privaten Netzwerksegmenten. oder wenn sein Wert ist falsch Die RBL-Regel ignoriert den Verkehr von privaten Netzwerksegmenten. Der lokale Verkehr wird niemals von einem öffentlichen DNS blockiert. |
log_level | Nummer | Es ist die Schweregradprotokollstufe. Es kann einen Wert zwischen 0 und 7 haben, 0-Notfall und 7-Debug. |
Name | Schnur | Name der RBL-Regel Es wird als eindeutige Kennung verwendet. |
only_logging | Schnur | Wenn der Wert ist was immer dies auch sein sollte.Wenn eine IP-Adresse in einer Domäne übereinstimmt, wird sie protokolliert. oder wenn dieses Feld den Wert hat falschWenn eine IP-Adresse in einer Domäne übereinstimmt, wird die IP-Adresse protokolliert und das Paket verworfen. |
queue_size | Nummer | Die Anzahl der Pakete, die die Regel in der Warteschlange behalten kann. |
Threadmax | Schnur | Es ist die Anzahl der Pakete, die die Regel gleichzeitig an DNS-Server abfragen kann. Sein Maximalwert ist 700. Wenn die Anzahl der Eingangspakete größer ist als Threadmaxwerden die nächsten Pakete automatisch angenommen. |
Antwortbeispiel:
{
"description" : "Modify RBL rule all.",
"params" : {
"cache_size" : 16384,
"cache_time" : 180000,
"domains" : [],
"farms" : [],
"local_traffic" : "true",
"log_level" : 4,
"name" : "all",
"only_logging" : "true",
"queue_size" : 32269,
"status" : "down",
"threadmax" : 500
}
}
Antwortparameter
Die Antwort wird ein JSON-Objekt sein, dessen Schlüssel auf gesetzt ist params. Der Wert davon ist ein Array von RBL-Objekten, von denen jedes die nächsten Schlüsselattribute enthält.
Feld | Art | Beschreibung |
---|---|---|
cache_size | Nummer | Dies ist die Nummer der IP-Quelle, die von der RBL-Regel zwischengespeichert werden kann. |
cache_time | Nummer | Es ist die Zeit (in Sekunden), in der eine IP-Quelle blockiert wird. |
Domains | Zeichenfolge [] | Es ist eine Liste mit allen Domänen, die die Regel abfragt. |
Betriebe | Zeichenfolge [] | Farmenliste, auf die die schwarze Liste angewendet wird. |
local_traffic | Schnur | Wenn dieses Feld den Wert hat was immer dies auch sein sollte.Die RBL-Regel untersucht den Verkehr von privaten Netzwerksegmenten. oder wenn sein Wert ist falsch Die RBL-Regel ignoriert den Verkehr von privaten Netzwerksegmenten. Der lokale Verkehr wird niemals von einem öffentlichen DNS blockiert. |
log_level | Nummer | Es ist die Schweregradprotokollstufe. Es kann einen Wert zwischen 0 und 7 haben, 0-Notfall und 7-Debug. |
Name | Schnur | Name der RBL-Regel Es wird als eindeutige Kennung verwendet. |
only_logging | Schnur | Wenn der Wert ist was immer dies auch sein sollte.Wenn eine IP-Adresse in einer Domäne übereinstimmt, wird sie protokolliert. oder wenn dieses Feld den Wert hat falschWenn eine IP-Adresse in einer Domäne übereinstimmt, wird die IP-Adresse protokolliert und das Paket verworfen. |
queue_size | Nummer | Die Anzahl der Pakete, die die Regel in der Warteschlange behalten kann. |
Status | Schnur | Zeigt den Status der RBL-Regel an. Sein Wert kann sein nach unten, wenn die Regel nicht funktioniert; oder up es funktioniert die Regel. |
Threadmax | Schnur | Es ist die Anzahl der Pakete, die die Regel gleichzeitig an DNS-Server abfragen kann. Sein Maximalwert ist 700. Wenn die Anzahl der Eingangspakete größer ist als Threadmaxwerden die nächsten Pakete automatisch angenommen. |
Kopieren Sie eine RBL-Regel
Kopieren Sie eine RBL-Regel
Anforderungsbeispiel:
curl -k -X POST -H 'Content-Type: application/json' -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
-d '{"name":"copied_rule"}'
https://<zenlb_server>:444/zapi/v3.1/zapi.cgi/ipds/rbl/all_reported
POST /ipds/rule/<name>
Kopieren Sie eine RBL-Regel, um eine neue Regel zu erstellen. Name ist die eindeutige Kennung der RBL-Regel.
Anforderungsparameter:
Feld | Art | Beschreibung | falls angefordert |
---|---|---|---|
Name | Schnur | Name der RBL-Regel für die neue Regel. Es wird als eindeutige Kennung verwendet. | was immer dies auch sein sollte. |
Antwortbeispiel:
{
"description" : "Copy a RBL rule.",
"params" : {
"cache_size" : 16384,
"cache_time" : 180000,
"domains" : [],
"farms" : [],
"local_traffic" : "true",
"log_level" : 4,
"name" : "copied_rule",
"only_logging" : "true",
"queue_size" : 32269,
"status" : "down",
"threadmax" : 500
}
}
Antwortparameter
Die Antwort wird ein JSON-Objekt sein, dessen Schlüssel auf gesetzt ist params. Der Wert davon ist ein Array von RBL-Objekten, von denen jedes die nächsten Schlüsselattribute enthält.
Feld | Art | Beschreibung |
---|---|---|
cache_size | Nummer | Dies ist die Nummer der IP-Quelle, die von der RBL-Regel zwischengespeichert werden kann. |
cache_time | Nummer | Es ist die Zeit (in Sekunden), in der eine IP-Quelle blockiert wird. |
Domains | Zeichenfolge [] | Es ist eine Liste mit allen Domänen, die die Regel abfragt. |
Betriebe | Zeichenfolge [] | Farmenliste, auf die die schwarze Liste angewendet wird. |
local_traffic | Schnur | Wenn dieses Feld den Wert hat was immer dies auch sein sollte.Die RBL-Regel untersucht den Verkehr von privaten Netzwerksegmenten. oder wenn sein Wert ist falsch Die RBL-Regel ignoriert den Verkehr von privaten Netzwerksegmenten. Der lokale Verkehr wird niemals von einem öffentlichen DNS blockiert. |
log_level | Nummer | Es ist die Schweregradprotokollstufe. Es kann einen Wert zwischen 0 und 7 haben, 0-Notfall und 7-Debug. |
Name | Schnur | Name der RBL-Regel Es wird als eindeutige Kennung verwendet. |
only_logging | Schnur | Wenn der Wert ist was immer dies auch sein sollte.Wenn eine IP-Adresse in einer Domäne übereinstimmt, wird sie protokolliert. oder wenn dieses Feld den Wert hat falschWenn eine IP-Adresse in einer Domäne übereinstimmt, wird die IP-Adresse protokolliert und das Paket verworfen. |
queue_size | Nummer | Die Anzahl der Pakete, die die Regel in der Warteschlange behalten kann. |
Status | Schnur | Zeigt den Status der RBL-Regel an. Sein Wert kann sein nach unten, wenn die Regel nicht funktioniert; oder up es funktioniert die Regel. |
Threadmax | Schnur | Es ist die Anzahl der Pakete, die die Regel gleichzeitig an DNS-Server abfragen kann. Sein Maximalwert ist 700. Wenn die Anzahl der Eingangspakete größer ist als Threadmaxwerden die nächsten Pakete automatisch angenommen. |
Löschen Sie eine RBL-Regel
Löschen Sie eine RBL
Anforderungsbeispiel:
curl -k -X DELETE -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
https://<zenlb_server>:444/zapi/v3.1/zapi.cgi/ipds/rbl/sip
DELETE /ipds/rbl/<name>
Löschen Sie eine bestimmte RBL-Regel. Name ist die eindeutige Kennung der RBL-Regel.
Antwortbeispiel:
{
"description" : "Delete RBL 'sip'",
"message" : "The rule sip has been deleted successful.",
"success" : "true"
}
Listen Sie alle RBL-Domänen auf
Listen Sie alle RBL-Domänen auf
Anforderungsbeispiel:
curl -k -X GET -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
https://<zenlb_server>:444/zapi/v3.1/zapi.cgi/ipds/rbl/domains
GET /ipds/rbl/domains
Listen Sie alle verfügbaren Domänen auf, die mit den RBL-Regeln verknüpft werden sollen.
Antwortbeispiel:
{
"description" : "Get RBL domains",
"params" : {
"preloaded" : [
{
"domain" : "all.rbl.zevenet.com",
"id" : 0
},
{
"domain" : "ssh.rbl.zevenet.com",
"id" : 1
},
{
"domain" : "sip.rbl.zevenet.com",
"id" : 2
}
],
"user" : [
{
"domain" : "zen.spamhaus.org",
"id" : 0
},
{
"domain" : "web.dnsbl.sorbs.net",
"id" : 1
}
]
}
}
Antwortparameter
Die Antwort wird ein JSON mit dem Schlüssel sein params und zwei Arten von Domänenlisten als Wert.
Quellobjekt:
Feld | Art | Beschreibung |
---|---|---|
vorbelastet | Objekt[] | Es ist eine Liste mit den Domains, die vom Zevenet-Team hinzugefügt wurden. |
Benutzer | Objekt[] | Es ist eine Liste mit den vom Load Balancer-Administrator hinzugefügten Domänen. |
vorinstalliertes und Benutzerobjekt:
Feld | Art | Beschreibung |
---|---|---|
id | Nummer[] | Es ist die ID, die eine Domäne identifiziert. |
Domain | Zeichenfolge [] | Es ist die Domäne, in der die RBL-Regel Abfragen durchführt. |
Fügen Sie eine Domäne hinzu
Fügen Sie eine Domäne hinzu
Anforderungsbeispiel:
curl -k -X POST -H "ZAPI_KEY: <ZAPI_KEY_STRING>" -H 'Content-Type: application/json'
-d '{"domain":"web.dnsbl.sorbs.net"}'
https://<zenlb_server>:444/zapi/v3.1/zapi.cgi/ipds/rbl/domains
POST /ipds/rbl/domains
Fügen Sie der Benutzerdomänenliste eine neue Domäne hinzu.
Parameter anfordern
Feld | Art | Beschreibung | Erforderlich |
---|---|---|---|
Domain | Schnur | Dies ist eine Zone eines RBL-Providers, in der eine RBL-Regel Abfragen durchführt. | was immer dies auch sein sollte. |
Antwortbeispiel:
{
"description" : "Post a RBL domain.",
"message" : "",
"params" : {
"domains" : [
"zen.spamhaus.org",
"sip.blocklist.de",
"web.dnsbl.sorbs.net"
]
}
}
Antwortparameter
Die Antwort wird ein Json mit einer Liste aller Domänen sein, die vom Load Balancer-Administrator hinzugefügt wurden.
Feld | Art | Beschreibung |
---|---|---|
Domains | Zeichenfolge [] | Es ist eine Liste mit den vom Load Balancer-Administrator hinzugefügten Domänen. |
Ändern Sie eine Domäne
Ändern Sie eine Domäne
Anforderungsbeispiel:
curl -k -X PUT -H "ZAPI_KEY: <ZAPI_KEY_STRING>" -H 'Content-Type: application/json'
-d '{"domain":"ssh.blocklist.de"}'
https://<zenlb_server>:444/zapi/v3.1/zapi.cgi/ipds/rbl/domains/2
PUT /ipds/rbl/domains/<id>
Ändern Sie eine Domäne oder die Benutzerdomänenliste durch eine andere, die als Parameter gesendet wird.
id ist die Domänenbenutzer-ID.
Parameter anfordern
Feld | Art | Beschreibung |
---|---|---|
Domain | Schnur | Es ist eine Domäne, die die in der URI gesendete Domäne ersetzt. |
Antwortbeispiel:
{
"description" : "Replace a domain",
"message" : "RBL domain ssh.blocklist.de has been modified successful.",
"params" : {
"domains" : [
{
"domain" : "zen.spamhaus.org",
"id" : 0
},
{
"domain" : "web.dnsbl.sorbs.net",
"id" : 1
},
{
"domain" : "ssh.blocklist.de",
"id" : 2
}
]
}
}
Antwortparameter
Die Antwort wird ein Json mit einer Liste aller Domänen sein, die vom Load Balancer-Administrator hinzugefügt wurden.
Benutzerdomänenobjekt:
Feld | Art | Beschreibung |
---|---|---|
id | Nummer[] | Es ist die ID, die eine Domäne identifiziert. |
Domain | Zeichenfolge [] | Es ist die Domäne, in der die RBL-Regel Abfragen durchführt. |
Löschen Sie eine Domain
Löschen Sie eine Domain
Anforderungsbeispiel:
curl -k -X DELETE -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
https://<zenlb_server>:444/zapi/v3.1/zapi.cgi/ipds/rbl/domains/1
DELETE /ipds/rbl/domains/<id>
Löschen Sie eine Domäne aus der Benutzerdomänenliste.
id ist die Domänenbenutzer-ID, die gelöscht wird.
Antwortbeispiel:
{
"description" : "Delete a RBL domain.",
"message" : "RBL domain web.dnsbl.sorbs.net has been deleted successful.",
"success" : "true"
}
Wenden Sie eine Aktion in einer RBL-Regel an
Aktion anwenden
Anforderungsbeispiel:
curl -k -X POST -H 'Content-Type: application/json' -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
-d '{"action":"stop"}' https://<zevenet_server>:444/zapi/v3.1/zapi.cgi/ipds/rbl/<name>/action
POST ipds/rbl/<name>/actions
Wenden Sie eine Aktion auf eine RBL-Farm an. Informationen zu den Aktionen finden Sie in der Tabelle "Anforderungsparameter". Um eine Aktion auf eine Regel anzuwenden, muss die Regel fast auf eine Farm angewendet werden.
Name ist die eindeutige Kennung der RBL-Regel.
Parameter anfordern
Feld | Art | Beschreibung |
---|---|---|
Aktion | Schnur | Wenden Sie die gewünschte Aktion an. Die Aktionen sind: haltDie RBL-Regel wird gestoppt und die Traffic Forward-Farmen, in denen die Regel angewendet wird, werden nicht gelöscht. AnfangDie RBL-Regel wird gestartet, und der gesamte Datenverkehr wird von den Farmen, in denen diese Regel angewendet wird, weitergeleitet. |
Antwortbeispiel:
{
"description" : "Apply a action to a RBL rule",
"params" : {
"action" : "start"
}
}
Antwortparameter
Wenn die Konfiguration keine Probleme aufweist, gibt zapi die angeforderte Aktion zurück.
System integrieren
Systemoptionen bieten Ihnen die Möglichkeit, die im Balancer laufenden Dienste und die globalen Parameter zu personalisieren.
Version anzeigen
Version anzeigen
Anforderungsbeispiel:
curl -k -X GET -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
https://<zevenet_server>:444/zapi/v3.1/zapi.cgi/system/version
GET /system/version
Informationen zur Produktversion anzeigen.
Antwortbeispiel:
{
"description" : "Get version",
"params" : {
"appliance_version" : "ZVA 4100, hypervisor: xen",
"hostname" : "DEV5",
"kernel_version" : "3.16.7-ckt20",
"system_date" : "Thu Feb 2 10:34:27 2017",
"zevenet_version" : "5.0"
}
}
Antwortparameter
Die Antwort wird ein JSON-Objekt mit den folgenden Parametern sein.
Feld | Art | Beschreibung |
---|---|---|
Geräteversion | Schnur | Antragsversion. Hypervisor anzeigen, wenn eine virtuelle Maschine ist. |
hostname | Schnur | Hostname |
Kernelversion | Schnur | Linux-Kernelversion. |
Systemdatum | Schnur | Systemdatum. |
zevenet_version | Schnur | Zevenet-Version. |
DNS anzeigen
DNS anzeigen
Anforderungsbeispiel:
curl -k -X GET -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
https://<zevenet_server>:444/zapi/v3.1/zapi.cgi/system/dns
GET /system/dns
Zeigt die DNS-Dienstkonfiguration an.
Antwortbeispiel:
{
"description" : "Get dns",
"params" : {
"primary" : "8.8.8.8",
"secondary" : null
}
}
Antwortparameter
Die Antwort wird ein JSON-Objekt mit den folgenden Parametern sein.
Feld | Art | Beschreibung |
---|---|---|
primär | Schnur | Primäres DNS im System konfiguriert. |
Sekundär- | Schnur | Sekundärer DNS im System konfiguriert. |
Ändern Sie DNS
Ändern Sie DNS
Anforderungsbeispiel:
curl -k -X POST -H 'Content-Type: application/json' -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
-d '{"primary":"8.8.4.4","secondary":"8.8.8.8"}'
https://<zevenet_server>:444/zapi/v3.1/zapi.cgi/system/dns
POST /system/dns
Ändern Sie die DNS-Dienstkonfiguration.
Parameter anfordern
Feld | Art | Beschreibung |
---|---|---|
primär | Schnur | Primäres DNS im System konfiguriert. |
Sekundär- | Schnur | Sekundärer DNS im System konfiguriert. |
Antwortbeispiel:
{
"description" : "Post dns",
"params" : {
"primary" : "8.8.4.4",
"secondary" : "8.8.8.8"
}
}
Antwortparameter
Die Antwort wird ein Json sein, bei dem alle angeforderten Werte aktualisiert werden. Weitere Informationen finden Sie im Antwortbeispiel.
SSH anzeigen
SSH anzeigen
Anforderungsbeispiel:
curl -k -X GET -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
https://<zevenet_server>:444/zapi/v3.1/zapi.cgi/system/ssh
GET /system/ssh
Zeigt die SSH-Dienstkonfiguration an.
Antwortbeispiel:
{
"description" : "Get ssh",
"params" : {
"listen" : "*",
"port" : "22"
}
}
Antwortparameter
Feld | Art | Beschreibung |
---|---|---|
hören | Schnur | IP des Systems, auf das der SSH-Dienst wartet. Das Zeichen * wird verwendet, um alle konfigurierten IPs abzuhören. <$ |
port | Schnur | Port für den SSH-Dienst konfiguriert. |
Ändern Sie SSH
Ändern Sie SSH
Anforderungsbeispiel:
curl -k -X POST -H 'Content-Type: application/json' -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
-d '{"listen":"192.168.100.241","port":"22"}'
https://<zevenet_server>:444/zapi/v3.1/zapi.cgi/system/ssh
POST /system/ssh
Ändern Sie die SSH-Dienstkonfiguration.
Parameter anfordern
Die Antwort wird ein JSON-Objekt mit den folgenden Parametern sein.
Feld | Art | Beschreibung |
---|---|---|
hören | Schnur | IP des Systems, auf das der SSH-Dienst wartet. Das Zeichen * wird zum Abhören aller konfigurierten IPs verwendet. |
port | Schnur | Port für den SSH-Dienst konfiguriert. |
Antwortbeispiel:
{
"description" : "Post ssh",
"params" : {
"listen" : "192.168.100.241",
"port" : "22"
}
}
Antwortparameter
Die Antwort wird ein Json sein, bei dem alle angeforderten Werte aktualisiert werden. Weitere Informationen finden Sie im Antwortbeispiel.
SNMP anzeigen
SNMP anzeigen
Anforderungsbeispiel:
curl -k -X GET -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
https://<zevenet_server>:444/zapi/v3.1/zapi.cgi/system/snmp
GET /system/snmp
Zeigt die SNMP-Dienstkonfiguration an.
Antwortbeispiel:
{
"description" : "Get snmp",
"params" : {
"community" : "public",
"ip" : "*",
"port" : "161",
"scope" : "0.0.0.0/0",
"status" : "false"
}
}
Antwortparameter
Die Antwort wird ein JSON-Objekt mit den folgenden Parametern sein.
Feld | Art | Beschreibung |
---|---|---|
community | Schnur | Community-Name Read Only Community verwendet. |
ip | Schnur | Schnittstellen-IP, an dem der SNMP-Dienst ausgeführt wird. Es ist sicher, alle Schnittstellen mit der aktivierten Zeichen *. |
port | Schnur | Port, an dem der SNMP-Dienst ausgeführt wird. |
Umfang | Schnur | IP oder Subnetz mit Zugriff (IP / Bit). Zulässige Client-IPs für den Zugriff auf den SNMPD-Dienst. Wenn Sie nur eine IP-Adresse zulassen möchten, verwenden Sie das Bit "/ 32". |
Status | Schnur | Status des SNMP-Dienstes. Die möglichen Werte sind: was immer dies auch sein sollte.Der Dienst läuft. oder falschwird der Dienst gestoppt. |
Ändern Sie SNMP
Ändern Sie SNMP
Anforderungsbeispiel:
curl -k -X POST -H 'Content-Type: application/json' -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
-d '{"ip":"192.168.100.241","port":"170","scope":"0.0.0.0/0","status":"true","community":"public"}'
https://<zevenet_server>:444/zapi/v3.1/zapi.cgi/system/snmp
POST /system/snmp
Ändern Sie die SNMP-Dienstkonfiguration.
Parameter anfordern
Feld | Art | Beschreibung |
---|---|---|
community | Schnur | Community-Name Read Only Community verwendet. |
ip | Schnur | Schnittstellen-IP, an dem der SNMP-Dienst ausgeführt wird. Es ist sicher, alle Schnittstellen mit der aktivierten Zeichen *. |
port | Schnur | Port, an dem der SNMP-Dienst ausgeführt wird. |
Umfang | Schnur | IP oder Subnetz mit Zugriff (IP / Bit). Zulässige Client-IPs für den Zugriff auf den SNMPD-Dienst. Wenn Sie nur eine IP-Adresse zulassen möchten, verwenden Sie das Bit "/ 32". |
Status | Schnur | Status des SNMP-Dienstes. Die möglichen Werte sind: was immer dies auch sein sollte.Der Dienst läuft. oder falschwird der Dienst gestoppt. |
Antwortbeispiel:
{
"description" : "Post snmp",
"params" : {
"community" : "public",
"ip" : "192.168.100.241",
"port" : "170",
"scope" : "0.0.0.0/0",
"status" : "true"
}
}
Antwortparameter
Die Antwort wird ein Json sein, bei dem alle angeforderten Werte aktualisiert werden. Weitere Informationen finden Sie im Antwortbeispiel.
Lizenz abrufen
Lizenz abrufen
Anforderungsbeispiel:
curl -k -X GET -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
https://<zevenet_server>:444/zapi/v3.1/zapi.cgi/system/license/txt
GET /system/license/<format>
Zeigen Sie die Zevenet-Lizenz in einem Format an. Die zur Verfügung Format Werte sind html or txt.
NTP anzeigen
NTP anzeigen
Anforderungsbeispiel:
curl -k -X GET -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
https://<zevenet_server>:444/zapi/v3.1/zapi.cgi/system/ntp
GET /system/ntp
Zeigt die NTP-Dienstkonfiguration an.
Antwortbeispiel:
{
"description" : "Get ntp",
"params" : {
"server" : "pool.ntp.org"
}
}
Antwortparameter
Die Antwort wird ein JSON-Objekt mit den folgenden Parametern sein.
Feld | Art | Beschreibung |
---|---|---|
Server | Schnur | Server, auf dem der NTP-Client die Anforderungen ausführt. |
Ändern Sie NTP
Ändern Sie NTP
Anforderungsbeispiel:
curl -k -X POST -H 'Content-Type: application/json' -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
-d '{"server":"pool.ntp.org"}'
https://<zevenet_server>:444/zapi/v3.1/zapi.cgi/system/ntp
POST /system/ntp
Ändern Sie die NTP-Dienstkonfiguration.
Parameter anfordern
Feld | Art | Beschreibung |
---|---|---|
Server | Schnur | Server, auf dem der NTP-Client die Anforderungen ausführt. |
Antwortbeispiel:
{
"description" : "Post ntp",
"params" : "pool.ntp.org"
}
Antwortparameter
Die Antwort wird ein Json sein, bei dem alle angeforderten Werte aktualisiert werden. Weitere Informationen finden Sie im Antwortbeispiel.
HTTP-Server anzeigen
HTTP-Server anzeigen
Anforderungsbeispiel:
curl -k -X GET -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
https://<zevenet_server>:444/zapi/v3.1/zapi.cgi/system/http
GET /system/http
Zeigt die HTTP-Dienstkonfiguration an. Dort laufen Zevenet API und GUI.
Antwortbeispiel:
{
"description" : "Get http",
"params" : {
"ip" : "*",
"port" : "444"
}
}
Antwortparameter
Die Antwort wird ein JSON-Objekt mit den folgenden Parametern sein.
Feld | Art | Beschreibung |
---|---|---|
ip | Schnur | IP, bei der der HTTP-Server empfangsbereit ist. Das Zeichen * wird zum Abhören aller konfigurierten IPs verwendet. |
port | Schnur | Port, an dem der HTTP-Dienst empfangsbereit ist. |
Ändern Sie den HTTP-Server
Ändern Sie den HTTP-Server
Anforderungsbeispiel:
curl -k -X POST -H 'Content-Type: application/json' -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
-d '{"ip":"192.168.100.241","port":"80"}'
https://<zevenet_server>:444/zapi/v3.1/zapi.cgi/system/http
POST /system/http
Ändern Sie die HTTP-Dienstkonfiguration.
Parameter anfordern
Feld | Art | Beschreibung |
---|---|---|
ip | Schnur | IP, bei der der HTTP-Server empfangsbereit ist. Das Zeichen * wird zum Abhören aller konfigurierten IPs verwendet. |
port | Schnur | Port, an dem der HTTP-Dienst empfangsbereit ist. |
Antwortbeispiel:
{
"description" : "Post http",
"params" : {
"ip" : "192.168.100.241",
"port" : "80"
}
}
Antwortparameter
Die Antwort wird ein Json sein, bei dem alle angeforderten Werte aktualisiert werden. Weitere Informationen finden Sie im Antwortbeispiel.
Alle Benutzer auflisten
Alle Benutzer auflisten
Anforderungsbeispiel:
curl -k -X GET -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
https://<zevenet_server>:444/zapi/v3.1/zapi.cgi/system/users
GET /system/users
Listen Sie die verfügbaren Benutzer im System auf.
Antwortbeispiel:
{
"description" : "Get users",
"params" : [
{
"status" : "true",
"user" : "root"
},
{
"status" : "true",
"user" : "zapi"
}
]
}
Antwortparameter
Die Antwort ist ein JSON-Objekt mit einem Array der folgenden Parameter.
Feld | Art | Beschreibung |
---|---|---|
Status | Schnur | Benutzerstatus. Die möglichen Werte sind: was immer dies auch sein sollte.ist der Benutzer aktiviert; oder nicht falschist der Benutzer deaktiviert. |
Benutzer | Schnur | Nutzername. |
Zapi-Benutzer abrufen
Zapi-Benutzer abrufen
Anforderungsbeispiel:
curl -k -X GET -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
https://<zevenet_server>:444/zapi/v3.1/zapi.cgi/system/users/zapi
GET /system/users/zapi
Zeigt die zapi-Benutzerkonfiguration an. Diese Parameter sind für den Zugriff auf Zevenet-Dienste über zapi erforderlich.
Antwortbeispiel:
{
"description" : "Zapi user configuration.",
"params" : {
"key" : "root",
"status" : "true"
}
}
Antwortparameter
Die Antwort ist ein JSON-Objekt mit einem Array der folgenden Parameter.
Feld | Art | Beschreibung |
---|---|---|
Schlüssel | Schnur | Schlüssel zur Authentifizierung in Zapi. Dies ist der Parameter ZAPI_KEY wird bei Anrufen an das Zapi verwendet. |
Status | Schnur | Zapi-Benutzerstatus Wenn sein Wert ist was immer dies auch sein sollte.ist es möglich, das Zapi zu verwenden; oder nicht falsch, das Zapi ist deaktiviert und es ist nicht möglich, eine Anfrage zu senden. |
Ändern Sie die zapi-Benutzerkonfiguration
Ändern Sie die zapi-Benutzerkonfiguration
Anforderungsbeispiel:
curl -k -X POST -H 'Content-Type: application/json' -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
-d '{"key":"newzapikey","status":"enable","newpassword":"password1234"}'
https://<zevenet_server>:444/zapi/v3.1/zapi.cgi/system/users/zapi
POST /system/users/zapi
Ändern Sie die zapi-Benutzerkonfiguration. Diese Parameter sind für den Zugriff auf Zevenet-Dienste über zapi erforderlich.
Parameter anfordern
Feld | Art | Beschreibung |
---|---|---|
Schlüssel | Schnur | Schlüssel zur Authentifizierung in Zapi. Dies ist der Parameter ZAPI_KEY wird bei Anrufen an das Zapi verwendet. |
Neues Kennwort | Schnur | Neues Passwort für zapi-Benutzer. |
Status | Schnur | Zapi-Benutzerstatus Wenn sein Wert ist was immer dies auch sein sollte.ist es möglich, das Zapi zu verwenden; oder nicht falsch, das Zapi ist deaktiviert und es ist nicht möglich, eine Anfrage zu senden. |
Antwortbeispiel:
{
"description" : "Zapi user settings.",
"message" : "Settings was changed successful.",
"params" : {
"key" : "newzapikey",
"newpassword" : "password1234",
"status" : "enable"
}
}
Antwortparameter
Die Antwort wird ein Json sein, bei dem alle angeforderten Werte aktualisiert werden. Weitere Informationen finden Sie im Antwortbeispiel.
Ändern Sie das Root-Passwort
Ändern Sie das Root-Passwort
Anforderungsbeispiel:
curl -k -X POST -H 'Content-Type: application/json' -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
{"password":"admin","newpassword":"alwaysisbetterastrongpass"}
https://<zevenet_server>:444/zapi/v3.1/zapi.cgi/system/users/root
POST /system/users/root
Ändern Sie das Root-Passwort. Dieser Benutzer wird für den Zugriff auf die zevenet-Dienste über die GUI verwendet
Parameter anfordern
Feld | Art | Beschreibung | Erforderlich |
---|---|---|---|
Passwort | Schnur | Aktuelles Root-Benutzerkennwort | was immer dies auch sein sollte. |
Neues Kennwort | Schnur | Neues Passwort für root-Benutzer. | was immer dies auch sein sollte. |
Antwortbeispiel:
{
"description" : "User settings.",
"message" : "Settings was changed succesful.",
"params" : {
"newpassword" : "alwaysisbetterastrongpass",
"password" : "admin"
}
}
Antwortparameter
Die Antwort wird ein Json sein, bei dem alle angeforderten Werte aktualisiert werden. Weitere Informationen finden Sie im Antwortbeispiel.
Protokolldateien auflisten
Protokolldateien auflisten
Anforderungsbeispiel:
curl -k -X GET -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
https://<zevenet_server>:444/zapi/v3.1/zapi.cgi/system/logs
GET /system/logs
Listen Sie die verfügbaren Protokolldateien auf.
Antwortbeispiel:
{
"description" : "Get logs",
"params" : [
{
"date" : "Mon Jan 30 06:25:02 2017",
"file" : "syslog.4.gz"
},
{
"date" : "Tue Jan 31 06:25:03 2017",
"file" : "syslog.3.gz"
},
{
"date" : "Wed Feb 1 06:25:04 2017",
"file" : "syslog.2.gz"
},
{
"date" : "Thu Feb 2 06:25:03 2017",
"file" : "syslog.1"
},
{
"date" : "Sun Jan 29 06:25:03 2017",
"file" : "syslog.5.gz"
},
{
"date" : "Fri Feb 3 04:28:56 2017",
"file" : "syslog"
}
]
}
Antwortparameter
Die Antwort wird ein JSON mit einem Array von Protokolldateien sein. Die Parameter jedes Objekts sind:
Feld | Art | Beschreibung |
---|---|---|
Datum | Schnur | Das Datum der letzten Dateiänderung. |
Datei | Schnur | Dateiname der Protokolldateien Sie wird als eindeutige Kennung verwendet. |
Zeilen einer Protokolldatei anzeigen
Zeilen einer Protokolldatei anzeigen
Anforderungsbeispiel:
curl -k -X GET -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
https://<zevenet_server>:444/zapi/v3.1/zapi.cgi/system/logs/kern.log/lines/2
GET /system/logs/<file>/lines/<lines>
Listen Sie eine Anzahl von Zeilen einer Protokolldatei auf. Der URI-Parameter Datei ist die Protokolldatei vom Lesen. Linien ist die Anzahl der Zeilen aus dem Finale.
Antwortbeispiel:
{
"description" : "Show a log file",
"log" : [
"Aug 28 09:44:00 maq2 kernel: [258451.740173] Netfilter messages via NETLINK v0.30.\n",
"Aug 28 09:44:00 maq2 kernel: [258451.775666] ctnetlink v0.93: registering with nfnetlink.\n"
]
}
Antwortparameter
Die Antwort wird ein JSON mit einem Array von Protokolldateien sein. Der Schlüssel ist log und sein Wert ist ein Array mit der Anzahl der angeforderten Zeilen.
Laden Sie eine Protokolldatei herunter
Laden Sie eine Protokolldatei herunter
Anforderungsbeispiel:
curl -k -X GET -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
https://<zevenet_server>:444/zapi/v3.1/zapi.cgi/system/logs/syslog.2.gz > log.gz
GET /system/logs/<file>
Laden Sie eine Protokolldatei der verfügbaren Protokolldateien herunter, die während der GET-Anforderung aufgelistet sind.
Datei ist die eindeutige Kennung der Protokolldatei.
System - Sicherungen
Mit der Backup-Option können Sie die aktuelle Systemkonfiguration speichern und herunterladen.
In diesem Abschnitt können Sie Sicherungsdateien erstellen, wiederherstellen, hochladen und herunterladen.
Backups auflisten
Backups auflisten
Anforderungsbeispiel:
curl -k -X GET -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
https://<zevenet_server>:444/zapi/v3.1/zapi.cgi/system/backup
GET /system/backup
Antwortbeispiel:
{
"description" : "Get backups",
"params" : [
{
"date" : "Fri Feb 3 06:01:04 2017",
"name" : "newbackup"
},
{
"date" : "Fri Feb 3 05:50:48 2017",
"name" : "firstConf"
}
]
}
Antwortparameter
Die Antwort wird ein JSON mit einem Array von Sicherungen sein. Die Parameter jedes Array-Elements sind:
Feld | Art | Beschreibung |
---|---|---|
Datum | Schnur | Das Datum der letzten Änderung. |
Name | Schnur | Dies ist der Dateiname, der als eindeutiger Bezeichner verwendet wird. Die Dateierweiterung lautet .tar.gz . |
Erstellen Sie eine Sicherung
Erstellen Sie eine Sicherung
Anforderungsbeispiel:
curl -k -X POST -H 'Content-Type: application/json' -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
-d '{"name":"firstConf"}'
https://<zevenet_server>:444/zapi/v3.1/zapi.cgi/system/backup
POST /system/backup
Erstellen Sie eine Systemkonfigurationssicherung der aktuellen Konfiguration.
Parameter anfordern
Feld | Art | Beschreibung |
---|---|---|
Name | Schnur | Dies ist der Dateiname, der als eindeutiger Bezeichner verwendet wird. Die Dateierweiterung lautet .tar.gz . |
Antwortbeispiel:
{
"description" : "Create a backups",
"message" : "Backup firstConf was created successful.",
"params" : "firstConf"
}
Laden Sie ein Backup herunter
Laden Sie ein Backup herunter
Anforderungsbeispiel:
curl -k -X GET -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
https://<zevenet_server>:444/zapi/v3.1/zapi.cgi/system/backup/firstConf > ~/zevenetConf.tar.gz
Die Sicherungsdatei hat das TAR GZ-Format.
GET /system/backup/<name>
Laden Sie eine Systemkonfigurationssicherung herunter. Name ist die eindeutige Kennung der Sicherung.
Laden Sie eine Sicherung hoch
Laden Sie eine Sicherung hoch
Anforderungsbeispiel:
curl -k -X PUT -H 'Content-Type: text/plain'
--data-binary @/opt/1mar.tar.gz -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
https://<zevenet_server>:444/zapi/v3.1/zapi.cgi/system/backup/newbackup
PUT /system/backup/<name>
Laden Sie eine lokal gespeicherte Sicherung zu Zevenet hoch. Name ist die eindeutige Kennung der Sicherung, die in Zevenet gespeichert wird.
Parameter anfordern
Zum Hochladen eines Backups muss –data-binary verwendet werden.
Antwortbeispiel:
{
"description" : "Upload a backup",
"message" : "Backup newbackup was created successful.",
"params" : "newbackup"
}
Backup löschen
Backup löschen
Anforderungsbeispiel:
curl -k -X DELETE -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
https://<zevenet_server>:444/zapi/v3.1/zapi.cgi/system/backup/firstConf
DELETE /system/backup/<name>
Löschen Sie eine Sicherungsdatei aus dem Zevenet-System. Name ist die eindeutige Kennung der Sicherung.
Antwortbeispiel:
{
"description" : "Delete backup firstConf'",
"message" : "The list firstConf has been deleted successful.",
"success" : "true"
}
Sicherungskopie anlegen
Sicherungskopie anlegen
Anforderungsbeispiel:
curl -k -X POST -H 'Content-Type: application/json' -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
-d '{"action":"apply"}'
https://<zevenet_server>:444/zapi/v3.1/zapi.cgi/system/backup/firstConf/actions
POST /system/backup/<name>/actions
Stellen Sie die Konfiguration aus einer Sicherungsdatei wieder her. Name ist die eindeutige Kennung der Sicherung.
Parameter anfordern
Feld | Art | Beschreibung |
---|---|---|
Aktion | Schnur | Um die Sicherungskonfiguration wiederherzustellen, muss der Wert sein sich bewerben. |
Antwortbeispiel:
{
"description" : "Apply a backup to the system",
"params" : {
"action" : "apply"
}
}
System - Benachrichtigungen
Benachrichtigungen bestehen aus zwei Elementen: Absender Methode und Art von alarmieren.
Im Benachrichtigungsbereich können Sie auswählen, welche Art von Benachrichtigung Sie erhalten möchten. Die Alarme beziehen sich eigentlich auf den Backend- oder Cluster-Status. Der Balancer sendet also eine Benachrichtigung, wenn ein Wechsel erfolgt.
Im Methodenabschnitt können Sie auswählen, welcher Absender verwendet wird, wenn Zevenet eine Benachrichtigung senden muss.
Alarmstatus anzeigen
Alarmstatus anzeigen
Anforderungsbeispiel:
curl -k -X GET -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
https://<zevenet_server>:444/zapi/v3.1/zapi.cgi/system/notifications/alerts
GET /system/notifications/alerts
Listen Sie alle Arten von Alerts mit ihrem Status auf.
Antwortbeispiel:
{
"description" : "Get notifications alert status",
"params" : [
{
"alert" : "backends",
"status" : "disabled"
},
{
"alert" : "cluster",
"status" : "disabled"
}
]
}
Antwortparameter
Feld | Art | Beschreibung |
---|---|---|
alarmieren | Schnur | Art der Warnung, sie wird als eindeutige Kennung der Warnung verwendet. Die verfügbaren Alarme sind: Backendbenachrichtigen, wenn ein Backend den Status ändert; oder Gruppe, senden Sie eine Benachrichtigung, wenn der Cluster-Masterknoten zu einem anderen Knoten wechselt. |
Status | Schnur | Zeigt an, ob Alarm ist behindertDas System sendet keine Benachrichtigung, wenn ein Ereignis vorliegt. oder freigegeben, das System sendet eine Warnung, wenn ein geänderter Status erkannt wird. |
Benachrichtigungsalarme abrufen
Benachrichtigungsalarme abrufen
Anforderungsbeispiel:
curl -k -X GET -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
https://<zevenet_server>:444/zapi/v3.1/zapi.cgi/system/notifications/alerts/backends
GET /system/notifications/alerts/<alert>
Zeigt die Konfiguration zu einem Alarmtyp an.
alarmieren ist die eindeutige Kennung der Warnung.
Antwortbeispiel:
{
"description" : "Get notifications alert backends settings",
"params" : {
"avoidflappingtime" : 5,
"prefix" : "",
"status" : "disabled"
}
}
Antwortparameter
Feld | Art | Beschreibung |
---|---|---|
Fluchtzeit vermeiden | Nummer | Manchmal sind Backends verfügbar oder nicht in kurzer Zeit. In diesem Feld können Sie einen Zeitraum konfigurieren, um Benachrichtigungen zu vermeiden, während sich der Status des Backends ändert. Sobald dieser Zeitraum abgelaufen ist, können Sie den Backend-Status ändern Die Benachrichtigung wird gesendet. |
Präfix | Schnur | Es ist ein Präfix für den E-Mail-Betreff, der vom System für diese Art von Alarm gesendet wird. |
Status | Schnur | Zeigt an, ob Alarm ist behindertDas System sendet keine Benachrichtigung, wenn ein Ereignis vorliegt. oder freigegeben, das System sendet eine Warnung, wenn ein geänderter Status erkannt wird. |
Benachrichtigungsalarm ändern
Benachrichtigungsalarme ändern
Anforderungsbeispiel:
curl -k -X POST -H 'Content-Type: application/json' -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
{"avoidflappingtime":10,"prefix":"[backend alert]"}
https://<zevenet_server>:444/zapi/v3.1/zapi.cgi/system/notifications/alerts/backends
POST /system/notifications/alerts/<alert>
alarmieren ist die eindeutige Kennung der Warnung.
Parameter anfordern
Feld | Art | Beschreibung |
---|---|---|
Fluchtzeit vermeiden | Nummer | Manchmal sind Backends verfügbar oder nicht in kurzer Zeit. In diesem Feld können Sie einen Zeitraum konfigurieren, um Benachrichtigungen zu vermeiden, während sich der Status des Backends ändert. Sobald dieser Zeitraum abgelaufen ist, können Sie den Backend-Status ändern Die Benachrichtigung wird gesendet. Dieser Parameter befindet sich nicht in Cluster-Alarmen, der Cluster hat eine eigene Umschaltzeit. |
Präfix | Schnur | Es ist ein Präfix für den E-Mail-Betreff, der vom System für diese Art von Alarm gesendet wird. |
Antwortbeispiel:
{
"description" : "Set notifications alert backends",
"params" : {
"avoidflappingtime" : 10,
"prefix" : "[backend alert]"
}
}
Antwortparameter
Die Antwort wird ein Json sein, bei dem alle angeforderten Werte aktualisiert werden. Weitere Informationen finden Sie im Antwortbeispiel.
Alarme aktivieren
Alarme aktivieren
Anforderungsbeispiel:
curl -k -X POST -H 'Content-Type: application/json' -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
{"action":"enable"}
https://<zevenet_server>:444/zapi/v3.1/zapi.cgi/system/notifications/alerts/backends/actions
POST /system/notifications/alerts/<alert>/actions
Aktivieren oder deaktivieren Sie die Benachrichtigungen für einen Alarmtyp.
alarmieren ist die eindeutige Kennung der Warnung.
Parameter anfordern
Feld | Art | Beschreibung |
---|---|---|
Aktion | Schnur | Die für Alarme verfügbaren Aktionen sind unfähigDas System sendet keine Benachrichtigung, wenn ein Ereignis vorliegt. oder ermöglichen, das System sendet eine Warnung, wenn ein geänderter Status erkannt wird. |
Antwortbeispiel:
{
"description" : "Set notifications alert backends actions",
"params" : {
"action" : "enable"
}
}
Antwortparameter
Die Antwort wird ein Json sein, bei dem alle angeforderten Werte aktualisiert werden. Weitere Informationen finden Sie im Antwortbeispiel.
E-Mail-Konfiguration abrufen
E-Mail-Konfiguration abrufen
Anforderungsbeispiel:
curl -k -X GET -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
https://<zevenet_server>:444/zapi/v3.1/zapi.cgi/system/notifications/methods/email
GET /system/notifications/methods/email
Zeigt die gesamte Konfiguration des E-Mail-Senders an.
Hinweis: Der zum Senden von E-Mails verwendete SMTP-Port ist TCP 25, auch wenn TLS aktiviert ist.
Antwortbeispiel:
{
"description" : "Get notifications email methods",
"params" : {
"from" : "user@zevenet.com",
"method" : "email",
"password" : "******",
"server" : "smtp.gmail.com",
"tls" : "true",
"to" : "adminuser@zevenet.net",
"user" : "user@zevenet.com"
}
}
Antwortparameter
Feld | Art | Beschreibung |
---|---|---|
von | Schnur | E-Mail-Konto, über das die E-Mail gesendet wird. Dieses Konto wird im SMTP-Header From angezeigt: und wird verwendet, wenn der Empfänger die E-Mail antwortet. |
Methode | Schnur | Es ist die eindeutige Kennung der Methode. Eigentlich ist die verfügbare Methode email. |
Passwort | Schnur | Passwort für Benutzer SMTP-Konto, dieses Kennwort wird benötigt, wenn der Server eine SMTP-Authentifizierung erfordert. |
Server | Schnur | Der SMTP-Server wird über die E-Mail gesendet. |
tls | Schnur | Aktivieren Sie die TLS-Validierung für das Senden von E-Mails. Diese Eigenschaft verwendet STARTTLS. Diese Funktion muss auf dem SMTP-Server unterstützt werden. Einige SMTP-Server müssen aktiviert werden. Die möglichen Werte sind: was immer dies auch sein sollte.Die TLS-Überprüfung ist für das Senden von E-Mails aktiviert. oder falschBeim Senden von E-Mails wird die TLS-Validierung nicht verwendet. |
zu | Schnur | E-Mail-Konto, das die E-Mail erhält. Dieses Konto wird im SMTP-Header An angezeigt. |
Benutzer | Schnur | E-Mail-Konto darf E-Mails senden. Dieses Konto wird benötigt, wenn der Server eine SMTP-Authentifizierung erfordert. |
Ändern Sie die E-Mail-Konfiguration
Ändern Sie die E-Mail-Konfiguration
Anforderungsbeispiel:
curl -k -X POST -H 'Content-Type: application/json' -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
-d '{"from":"user@zevenet.com","password":"verystrongpass","server":"smtp.gmail.com","to":"adminuser@zevenet.net","tls":"true","user":"user@zevenet.com"}'
https://<zevenet_server>:444/zapi/v3.1/zapi.cgi/system/notifications/methods/email
POST /system/notifications/methods/email
Ändern Sie die Konfiguration der E-Mail-Sendemethode.
Parameter anfordern
Feld | Art | Beschreibung |
---|---|---|
von | Schnur | E-Mail-Konto, über das die E-Mail gesendet wird. Dieses Konto wird im SMTP-Header From angezeigt: und wird verwendet, wenn der Empfänger die E-Mail antwortet. |
Passwort | Schnur | Passwort für Benutzer SMTP-Konto, dieses Kennwort wird benötigt, wenn der Server eine SMTP-Authentifizierung erfordert. |
Server | Schnur | Der SMTP-Server wird über die E-Mail gesendet. |
tls | Schnur | Aktivieren Sie die TLS-Validierung für das Senden von E-Mails. Diese Eigenschaft verwendet STARTTLS. Diese Funktion muss auf dem SMTP-Server unterstützt werden. Einige SMTP-Server müssen aktiviert werden. Die möglichen Werte sind: was immer dies auch sein sollte.Die TLS-Überprüfung ist für das Senden von E-Mails aktiviert. oder falschBeim Senden von E-Mails wird die TLS-Validierung nicht verwendet. |
zu | Schnur | E-Mail-Konto, das die E-Mail erhält. Dieses Konto wird im SMTP-Header An angezeigt. |
Benutzer | Schnur | E-Mail-Konto darf E-Mails senden. Dieses Konto wird benötigt, wenn der Server eine SMTP-Authentifizierung erfordert. |
Antwortbeispiel:
{
"description" : "Get notifications email methods",
"params" : {
"from" : "user@zevenet.com",
"method" : "email",
"password" : "verystrongpass",
"server" : "smtp.gmail.com",
"tls" : "true",
"to" : "adminuser@zevenet.net",
"user" : "user@zevenet.com"
}
}
Antwortparameter
Die Antwort wird ein Json sein, bei dem alle angeforderten Werte aktualisiert werden. Weitere Informationen finden Sie im Antwortbeispiel.
Senden Sie eine Testmail
Senden Sie eine Testmail
Anforderungsbeispiel:
curl -k -X POST -H 'Content-Type: application/json' -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
-d '{"action":"test"}'
https://<zevenet_server>:444/zapi/v3.1/zapi.cgi/system/notifications/methods/email/actions
POST /system/notifications/methods/email/actions
Senden Sie eine Testmail mit der E-Mail-Konfiguration, um sie zu testen.
Parameter anfordern
Feld | Art | Beschreibung |
---|---|---|
Aktion | Schnur | Der Wert zum Senden einer Testmail lautet Test. |
Antwortbeispiel:
{
"description" : "Send test mail",
"message" : "Test mail sent successful.",
"success" : "true"
}
Herunterladen eines Unterstützungsspeichers
Herunterladen eines Unterstützungsspeichers
Anforderungsbeispiel:
curl -k -X GET -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
https://<zevenet_server>:444/zapi/v3.1/zapi.cgi/system/supportsave > supportsave.tar.gz
GET /system/supportsave
Rufen Sie das Systemstatusabbild mit allen im System ausgeführten Konfigurationen und Prozessen ab. Dies unterstützt, es ist notwendig, Probleme zu finden oder Unterstützung zu erhalten.
System - Cluster
Der Cluster ist das Element, das von einem Master-Knoten ausgeführt wird. Er verwaltet die Verbindungen zu den Backends. Ein Backup-Knoten, der den Master überprüft, ist bereit, auf den Master-Knoten zu wechseln, wenn er in den Status "down" wechselt.
Wenn ein Status gewechselt wird, stellt der Sicherungsknoten den gesamten Verbindungsstatus in sich selbst wieder her. Der Client hat also keine Unterbrechung des Dienstes erkannt.
Dadurch wurde der Lastausgleich in hohe Verfügbarkeit versetzt. Wenn also ein Problem in einem Zevenet auftritt, arbeitet der Dienst mit der hochgeladenen Konfiguration weiter.
Zeigt die Clusterkonfiguration an
Zeigt die Clusterkonfiguration an
Anforderungsbeispiel:
curl -k -X GET -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
https://<zevenet_server>:444/zapi/v3.1/zapi.cgi/system/cluster
GET /system/cluster
Zeige alle Konfigurationen über den Cluster.
Antwort KÖRPER:
{
"description" : "Show the cluster configuration",
"params" : {
"check_interval" : 5,
"failback" : "disabled",
"interface" : "eth0",
"nodes" : [
{
"ip" : "192.168.100.241",
"name" : "canoDEV4100",
"node" : "local"
},
{
"ip" : "192.168.100.240",
"name" : "maqvir",
"node" : "remote"
}
]
}
}
Antwortparameter
Die Antwort wird ein JSON-Objekt mit der Clusterkonfiguration und ein Array mit den Knoten darin sein.
Clusterobjekt:
Feld | Art | Beschreibung |
---|---|---|
check_interval | Nummer | Es ist die Wartezeit zwischen zwei Prüfungen des Status des Masterknotens. |
Failback | Schnur | Welcher Knoten hat den Vorzug, Master zu sein. Die Werte können a sein Name Knoten, um einem Knoten den Vorzug zu geben; oder behindert, wenn ein Knoten Master sein kann und keine Priorität hat. |
Schnittstelle | Schnur | Schnittstelle, an der die IP des Knotens konfiguriert ist. |
Knoten | Objekt[] | Knoten des Clusters. |
Knotenobjekt:
Feld | Art | Beschreibung |
---|---|---|
ip | Schnur | Es ist die im Knoten konfigurierte IP-Adresse, um den Status des Knotens zu überprüfen und die Informationsreplikation durchzuführen. |
Name | Schnur | Es ist der Hostname des Knotens und wird als eindeutige Kennung des Knotens verwendet. |
Knoten | Schnur | Die möglichen Werte sind: lokal, wenn Knoten ist, der die Zapi-Anforderung empfängt; oder entfernt, wenn der andere Knoten im Cluster konfiguriert ist. |
Aktivieren Sie einen Cluster
Aktivieren Sie einen Cluster
Anforderungsbeispiel:
curl -k -X POST -H 'Content-Type: application/json' -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
-d '{"local_ip":"192.168.100.241","remote_ip":"192.168.100.240","remote_password":"admin"}'
https://<zevenet_server>:444/zapi/v3.1/zapi.cgi/system/cluster
POST /system/cluster
Machen Sie einen Cluster, der zwei Balancer miteinander kommuniziert.
Parameter anfordern
Feld | Art | Beschreibung | Erforderlich |
---|---|---|---|
remote_ip | Schnur | IP des Remote-Hosts, der für den Cluster verwendet wird. | was immer dies auch sein sollte. |
lokale_ip | Schnur | IP des lokalen Hosts, der für den Cluster verwendet wird. | was immer dies auch sein sollte. |
remote_password | Schnur | Root-Benutzerpasswort für Remote Balancer. | was immer dies auch sein sollte. |
Antwort KÖRPER:
{
"description" : "Enabling cluster",
"message" : "Cluster enabled successfully",
"success" : "true"
}
Ändern Sie die Clusterkonfiguration
Ändern Sie die Clusterkonfiguration
Anforderungsbeispiel:
curl -k -X PUT -H 'Content-Type: application/json' -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
-d '{"check_interval":4,"failback":"disabled"}'
https://<zevenet_server>:444/zapi/v3.1/zapi.cgi/system/cluster
PUT /system/cluster
Konfigurieren Sie die Arbeitsmodusparameter für den Cluster.
Parameter anfordern
Feld | Art | Beschreibung |
---|---|---|
check_interval | Nummer | Es ist die Wartezeit zwischen zwei Prüfungen des Status des Masterknotens. |
Failback | Schnur | Welcher Knoten hat den Vorzug, Master zu sein. Die Werte können a sein Name Knoten, um einem Knoten den Vorzug zu geben; oder behindert, wenn ein Knoten Master sein kann und keine Priorität hat. |
Antwort KÖRPER:
{
"description" : "Modifying the cluster configuration",
"params" : {
"check_interval" : "4",
"failback" : "disabled"
}
}
Deaktivieren Sie den Cluster
Deaktivieren Sie den Cluster
Anforderungsbeispiel:
curl -k -X DELETE -H 'Content-Type: application/json'
https://<zevenet_server>:444/zapi/v3.1/zapi.cgi/system/cluster
DELETE /system/cluster
Entfernen Sie den Cluster.
Antwort KÖRPER:
{
"description" : "Disabling cluster",
"message" : "Cluster disabled successfully",
"success" : "true"
}
Wartungsmodus
Wartungsmodus
Anforderungsbeispiel:
curl -k -X POST -H 'Content-Type: application/json' -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
-d '{"action":"maintenance","status":"enable"}'
https://<zevenet_server>:444/zapi/v3.1/zapi.cgi/system/cluster/actions
POST /system/cluster/actions
Ändern Sie den lokalen Clusterknoten in den Wartungsmodus.
Antwort KÖRPER:
{
"description" : "Setting maintenance mode",
"message" : "Local cluster node changed to maintenance mode successfully",
"success" : "true"
}
Parameter anfordern
Feld | Art | Beschreibung | Erforderlich |
---|---|---|---|
Aktion | Schnur | Aktion, die auf den Cluster angewendet werden soll. Die verfügbare Aktion ist Wartung. | was immer dies auch sein sollte. |
Status | Schnur | Status, um den Knoten zu setzen, sind die möglichen Werte ermöglichen, versetze es in den Wartungsmodus; oder deaktivieren, stellen Sie den Knoten zur Verfügung. | was immer dies auch sein sollte. |
Knotenstatus anzeigen
Knotenstatus anzeigen
Anforderungsbeispiel:
curl -k -X GET -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
https://<zevenet_server>:444/zapi/v3.1/zapi.cgi/system/cluster/nodes
GET /system/cluster/nodes
Zeigt den Status aller Knoten an.
Antwort KÖRPER:
{
"description" : "Cluster nodes status",
"params" : [
{
"ip" : "192.168.100.241",
"message" : "Node online and active",
"name" : "canoDEV4100",
"node" : "local",
"role" : "master",
"status" : "ok"
},
{
"ip" : "192.168.100.240",
"message" : "Node online and passive",
"name" : "maqvir",
"node" : "remote",
"role" : "backup",
"status" : "ok"
}
]
}
Antwortparameter
Die Antwort wird ein JSON mit Schlüssel sein stoppen und einen Array eines Knotenstatusobjekts bewerten.
Knotenstatusobjekt
Feld | Art | Beschreibung |
---|---|---|
ip | Schnur | Es ist die im Knoten konfigurierte IP-Adresse, um den Status des Knotens zu überprüfen und die Informationsreplikation durchzuführen. |
Name | Schnur | Es ist der Hostname des Knotens und wird als eindeutige Kennung des Knotens verwendet. |
Knoten | Schnur | Die möglichen Werte sind: lokal, wenn Knoten ist, der die Zapi-Anforderung empfängt; oder entfernt, wenn der andere Knoten im Cluster konfiguriert ist. |
Nachricht | Schnur | Beschreibende Nachricht, die den Status und den Arbeitsmodus des Knotens angibt. |
Rolle | Schnur | Tatsächlicher Arbeitsmodus dieses Knotens. Die möglichen Werte sind: MasterDieser Knoten verwaltet die Verbindungen zwischen Backends und Clients. oder Sicherungskopie, Dieser Knoten hat Master-Statusverbindungen und Master-Konfiguration beantwortet und überprüft, ob der Master-Dienst funktioniert. |
Status | Schnur | Geben Sie an, ob ein Clusterprozess fehlschlägt. |
Zeigt den Status des localhost-Clusters an
Zeigt den Status des localhost-Clusters an
Anforderungsbeispiel:
curl -k -X GET -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
https://<zevenet_server>:444/zapi/v3.1/zapi.cgi/system/cluster/nodes/localhost
GET /system/cluster/nodes/localhost
Zeigt den Status des lokalen Knotens an.
Antwort KÖRPER:
{
"description" : "Cluster status for localhost",
"params" : {
"message" : "Node online and active",
"name" : "canoDEV4100",
"role" : "master",
"status" : "ok"
}
}
Antwortparameter
Feld | Art | Beschreibung |
---|---|---|
Nachricht | Schnur | Beschreibende Nachricht, die den Status und den Arbeitsmodus des Knotens angibt. |
Name | Schnur | Es ist der Hostname des Knotens und wird als eindeutige Kennung des Knotens verwendet. |
Rolle | Schnur | Tatsächlicher Arbeitsmodus dieses Knotens. Die möglichen Werte sind: MasterDieser Knoten verwaltet die Verbindungen zwischen Backends und Clients. oder Sicherungskopie, Dieser Knoten hat Master-Statusverbindungen und Master-Konfiguration beantwortet und überprüft, ob der Master-Dienst funktioniert. |
Status | Schnur | Geben Sie an, ob ein Clusterprozess fehlschlägt. |