NAV Navbar
Logo
conchiglia

Riferimento v3.2 dell'API di Zevenet

SCIARPA (Zevenet Application Programming Interface) è lo strumento per l'amministratore di sistema per controllare la condotta di bilanciamento del carico di Zevenet.

È necessario attivare l'utente zapi dall'interfaccia web prima di utilizzarlo, Sistema / Utenti.

Una volta creato l'utente zapi, è possibile inviare una richiesta all'URL, https: // (zevenet_server): 444 / zapi / v3.2 / zapi.cgi / (URI_path), dove zevenet_server è l'IP in cui il servizio HTTP è in ascolto.

URI_path definisce l'oggetto o l'azione da agire. Il suo comportamento e i suoi parametri saranno definiti all'interno di ciascuna sezione di documentazione.

Saranno i verbi usati in questa API GET, POST, PUT or DELETE. Una richiesta PUT o POST richiede sempre quasi un parametro sebbene questo non richieda alcun parametro richiesto.

Certificati

Zevenet supporta i cetificati in formato PEM per utilizzarli con le tue farm HTTP con listener HTTPS. Se vuoi saperne di più su come creare certificati pem, visita il seguente articolo: GENERARE CERTIFICATI IN FORMATO PEM

Elenca tutti i certificati

Elenca tutti i certificati

Richiedi un esempio:

curl -k -X GET -H "ZAPI_KEY: <ZAPI_KEY_STRING>" 
https://<zevenet_server>:444/zapi/v3.2/zapi.cgi/certificates

GET /certificates

Elencare tutti i certificati CSR e PEM nell'archivio certificati, tali certificati possono essere utilizzati con farm HTTPS.

La risposta sarà un oggetto JSON con una chiave impostata su params. Il valore di questo sarà un array di oggetti certificato, ognuno dei quali contiene gli attributi chiave di seguito.

Esempio di risposta:

{
   "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"
      }
   ]
}

Parametri di risposta

Settore Tipologia Descrizione
params Oggetto [] Elenco di oggetti certificati.

Oggetto certificato

Settore Tipologia Descrizione
CN Corda Nome comune del dominio.
creazione Corda Data di creazione.
scadenza Corda Data di scadenza.
filetto Corda Nome file del certificato, ID univoco.
emittente Corda Autorità certificata che firma il certificato.
Digitare Corda CSR o certificato.

Scarica certificato

Scarica certificato

Richiedi un esempio:

curl -k -X GET -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
https://<zevenet_server>:444/zapi/v3.2/zapi.cgi/certificates/example.pem

GET /certificates/<file>

Scarica un certificato installato nell'archivio certificati, utilizza il nome file nella richiesta per identificarlo.

La risposta includerà le intestazioni indicate di seguito con le informazioni sul file. Il corpo della risposta sarà il contenuto del file.

Intestazioni di risposta:

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

Mostra i dettagli del certificato

Mostra i dettagli del certificato

Richiedi un esempio:

curl -k -X GET -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
https://<zevenet_server>:444/zapi/v3.2/zapi.cgi/certificates/example.pem/info

GET /certificates/<file>/info

Mostra tutte le informazioni incluse in un determinato certificato nell'archivio certificati, incluse le firme, è necessario che il nome del file faccia riferimento.

Esempio di risposta:

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:
...

Mostra i dettagli del certificato di attivazione

Mostra i dettagli del certificato di attivazione

Richiedi un esempio:

curl -k -X GET -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
https://<zevenet_server>:444/zapi/v3.2/zapi.cgi/certificates/activation

GET /certificates/activation

Mostra tutte le informazioni incluse nel certificato di attivazione, incluse le firme, questo certificato viene salvato nell'archivio certificati. Se il certificato di attivazione viene eliminato, il prodotto verrà disattivato.

Elimina un certificato

Elimina un certificato

Richiedi un esempio:

curl -k -X DELETE -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
https://<zevenet_server>:444/zapi/v3.2/zapi.cgi/certificates/example.pem

DELETE /certificates/<file>

Elimina un certificato per nome file nell'archivio certificati.

Esempio di risposta:

{
   "description" : "Delete certificate",
   "message" : "The Certificate example.pem has been deleted.",
   "success" : "true"
}

Elimina il certificato di attivazione

Elimina il certificato di attivazione

Richiedi un esempio:

curl -k -X DELETE -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
https://<zevenet_server>:444/zapi/v3.2/zapi.cgi/certificates/activation

DELETE /certificates/activation

Elimina il certificato di attivazione installato nell'archivio certificati. Se questo certificato viene eliminato, Load Balancer è disattivato.

Esempio di risposta:

{
   "description" : "Delete activation certificate",
   "message" : "The activation certificate has been deleted",
   "success" : "true"
}

Crea un certificato CSR

Crea un certificato CSR

Richiedi un esempio:

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.2/zapi.cgi/certificates

POST /certificates

Creare una richiesta di firma del certificato (file CSR).

Richiedi i parametri

Settore Tipologia Descrizione Obbligatorio
Nome Corda Nome ID certificato. vero
fqdn Corda Il nome di dominio completo del tuo server. vero
divisione Corda La divisione della tua organizzazione che gestisce il certificato. vero
organizzazione Corda Il nome legale della tua organizzazione. vero
località Corda La città in cui si trova la tua organizzazione. vero
stato Corda Lo stato / la regione in cui si trova la tua organizzazione. vero
nazione Corda Il codice ISO di due lettere per il Paese in cui si trova la tua organizzazione. vero
mail Corda Un indirizzo email utilizzato per contattare la tua organizzazione. vero

Esempio di risposta:

{
   "description" : "Create CSR",
   "message" : "Certificate NewCSR created",
   "success" : "true"
}

Carica un certificato

Carica un certificato

Richiedi un esempio:

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.2/zapi.cgi/certificates/example.pem

POST /certificates/<file>

Carica un certificato PEM per le farm HTTP con listener HTTPS.

Richiede il parametro --tcp-nodelaye --data-binary per caricare il file in modalità binaria.

Richiedi i parametri URI

Settore Tipologia Descrizione Obbligatorio
filetto Corda Nome del file del certificato da caricare e salvare nell'archivio dei certificati. vero

Esempio di risposta:

{
   "description" : "Upload PEM certificate",
   "message" : "Certificate uploaded",
   "success" : "true"
}

Carica un certificato di attivazione

Carica un certificato di attivazione

Richiedi un esempio:

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.2/zapi.cgi/certificates/activation

POST /certificates/activation

Carica un certificato di attivazione con il formato PEM, questo certificato è necessario per abilitare tutte le funzionalità. Questo certificato viene salvato nell'archivio certificati, se il certificato di attivazione esiste nell'archivio certificati, il certificato precedente viene sovrascritto.

Esempio di risposta:

{
   "description" : "Upload activation certificate",
   "message" : "Activation certificate uploaded",
   "success" : "true"
}

Elenco dei cifrari

Elenco dei cifrari

Richiedi un esempio:

curl -k -X GET -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
https://<zevenet_server>:444/zapi/v3.2/zapi.cgi/ciphers

GET /ciphers

Elenca i codici disponibili che una farm HTTPS può utilizzare.

I Offloading SSL il chiper sarà disponibile solo se supportato dal processore.

La risposta sarà un oggetto JSON con una chiave impostata su params. Il valore di questo sarà un array di oggetti certificato, ognuno dei quali contiene gli attributi chiave di seguito.

Esempio di risposta:

{
   "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"
      }
   ]
}

Parametri di risposta

Settore Tipologia Descrizione
params Oggetto [] Elenco di oggetti certificati.

Oggetto certificato

Settore Tipologia Descrizione
cifrari Corda È usato come identificatore univoco.
descrizione Corda Nome amichevole.

Farms

Zevenet è in grado di gestire il traffico in tre modi diversi, ognuno dei quali è gestito da un modulo diverso, un servizio di bilanciamento del servizio locale o un modulo LSLB, un Global Service Load Balancer o un modulo GSLB e un modulo Datalink Service Load Balancer o DSLB.

Tutti i moduli funzionano con il concetto di profilo Farm, un profilo Farm è un gruppo di parametri pronti a fare un'azione specifica con il traffico di rete, è importante capire cosa è in grado di fare ogni profilo dell'azienda per ottenere i migliori risultati di Zevenet ADC.

Elenca tutte le fattorie

Elenca tutte le fattorie

Richiedi un esempio:

curl -k -X GET -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
https://<zevenet_server>:444/zapi/v3.2/zapi.cgi/farms

GET /farms

Elenca tutte le aziende disponibili

La risposta sarà un oggetto JSON con una chiave impostata su params. Il valore di questo sarà un array di oggetti di ripristino della farm, ognuno dei quali contiene gli attributi chiave di seguito.

Oggetto della fattoria

Settore Tipologia Descrizione
farmname Corda Nome descrittivo dell'azienda È usato come identificatore unico.
tuo profilo Corda Tipo di profilo, i valori disponibili del profilo sono: http, https or l4xnat per il modulo LSLB, GSLB per il modulo GLSB e datalink per modulo DSLB
status Corda Stato di fattoria I valori di stato disponibili sono: giù, la fattoria non è in esecuzione; riavvio necessario, la farm è attiva ma è in attesa di un'azione di riavvio; critico, la fattoria è attiva e tutti i backend sono irraggiungibili o di manutenzione; problema, la fattoria è attiva e ci sono alcuni backend irraggiungibili, ma quasi un back-end è in fase di sviluppo; manutenzione, la farm è attiva e ci sono back-up in up status, ma quasi un back-end è in modalità manutenzione; up, la fattoria è su e tutti i backend stanno lavorando con successo.
vip Corda IP virtuale in cui la farm riceve traffico
vport Corda Porta virtuale in cui la farm riceve traffico, i valori di porta disponibili sono: un numero di porta per i profili http [s], l4xnat e gslb, un gruppo di porte separato da "," o un intervallo di porte separato da ":" per i profili l4xnat, in l4xnat entrambi i valori di separazione ("," e ":") possono essere utilizzati nello stesso campo.

Esempio di risposta:

{
   "description" : "List farms",
   "params" : [
      {
         "farmname" : "httpFarm",
         "profile" : "http",
         "status" : "up",
         "vip" : "192.168.101.146",
         "vport" : "81"
      }
   ]
}

Elimina una fattoria

Elimina una fattoria

Richiedi un esempio:

curl --tlsv1 -k -X DELETE -H 'Content-Type: application/json' -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
https://<zevenet_server>:444/zapi/v3.2/zapi.cgi/farms/FarmHTTP

DELETE /farms/<farmname>

Elimina una fattoria tramite il suo nome di identità identfier.

Esempio di risposta:

{
  "description" : "Delete farm FarmHTTP",
  "message" : "The Farm FarmHTTP has been deleted.",
  "success" : "true"
}

Imposta un'azione in una fattoria

Imposta un'azione in una fattoria

Richiedi un esempio:

curl -k -X PUT -H 'Content-Type: application/json' -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
-d '{"action":"stop"}' https://<zevenet_server>:444/zapi/v3.2/zapi.cgi/farms/FarmTCP/actions

PUT /farms/<farmname>/actions

Applicare un'azione a una farm, consultare la tabella dei parametri di richiesta per le azioni.

Richiedi i parametri

Settore Tipologia Descrizione
azione Corda Imposta l'azione desiderata. Le azioni sono: Stop, la fattoria sarà fermata. inizia a, la fattoria verrà avviata e nuovo inizio, la fattoria verrà arrestata e avviata automaticamente.

Esempio di risposta:

{
  "description" : "Set a new action in FarmHTTP",
  "params" : [
     {
        "action" : "stop"
     }
  ]
}

Parametri di risposta

Se non ci sono problemi nella configurazione, zapi restituirà l'azione richiesta.

Aziende HTTP

Il profilo HTTP è un bilanciamento del carico 7 di livello avanzato (o Application Delivery Controller) con proprietà speciali del proxy. Questo profilo offre alcune funzionalità come il bilanciamento del carico 7 del livello HTTPS combinato con l'accelerazione offload SSL. Questo profilo viene implementato per i servizi Web (inclusi i server di applicazioni Web) e tutti i protocolli applicativi basati su protocolli HTTP e HTTPS come WebDav, RDP su HTTP, ICA su HTTP, ecc. Per configurare questo profilo di farm, un indirizzo IP virtuale e un sarà necessaria una porta TCP virtuale.

Recupera la fattoria per nome

Recupera la fattoria per nome

Richiedi un esempio:

curl -k -X GET -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
https://<zevenet_server>:444/zapi/v3.2/zapi.cgi/farms/httpFarm

GET /farms/<farmname>

Mostra tutte le configurazioni su una determinata fattoria.

Esempio di risposta:

{
   "description" : "List farm httpFarm",
   "ipds" : {
      "blacklists" : [
         {
            "name" : "men",
            "status" : "down"
         }
      ],
      "dos" : [],
      "rbl" : [
         {
            "name" : "protection_ssh",
            "status" : "up"
         }
      ]
   },
   "params" : {
      "addheader" : [
         {
            "header" : "load-balancer: true",
            "id" : 0
         }
      ],
      "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.",
      "headremove" : [
         {
            "id" : 0,
            "pattern" : "^client"
         }
      ],
      "httpverb" : "MSRPCext",
      "ignore_100_continue" : "true",
      "listener" : "https",
      "logs" : "false",
      "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,
         "farmguardian" : "check_tcp",
         "httpsb" : "false",
         "id" : "service3",
         "leastresp" : "false",
         "redirect" : "http://192.168.101.254/index.html",
         "redirect_code" : 302,
         "redirecttype" : "default",
         "sessionid" : "",
         "sts_status" : "false",
         "sts_timeout" : 0,
         "ttl" : 0,
         "urlp" : "",
         "vhost" : ""
      },
      {
         "backends" : [
            {
               "alias" : "http-server",
               "id" : 0,
               "ip" : "192.168.0.168",
               "port" : 80,
               "status" : "up",
               "timeout" : null,
               "weight" : null
            }
         ],
         "cookiedomain" : "",
         "cookieinsert" : "false",
         "cookiename" : "",
         "cookiepath" : "",
         "cookiettl" : 0,
         "farmguardian" : null,
         "httpsb" : "false",
         "id" : "srv",
         "leastresp" : "false",
         "persistence" : "",
         "redirect" : "",
         "redirecttype" : "",
         "sessionid" : "",
         "sts_status" : "false",
         "sts_timeout" : 0,
         "ttl" : 0,
         "urlp" : "",
         "vhost" : ""
      },
   ]
}

Parametri di risposta

La risposta sarà un oggetto JSON con il formato seguente.

Oggetto della fattoria:

Settore Tipologia Descrizione
IPDS Oggetto Elenco delle regole IPDS applicate a questa farm.
params Oggetto Parametri della configurazione della farm.
Servizi Oggetto[] Matrice con tutti i servizi creati in questa farm e la sua configurazione.

Oggetto IPDS:

Settore Tipologia Descrizione
blacklist Oggetto[] Regole della lista nera applicate alla fattoria.
dos Oggetto[] Regole DoS applicate alla farm.
RBL Oggetto[] Regole RBL applicate alla farm.

Oggetto Blacklist, DoS e RBL:

Settore Tipologia Descrizione
Nome Corda Il nome della regola.
status Corda Stato della regola.

Oggetto Parametri per le farm HTTP:

Settore Tipologia Descrizione
addheader Oggetto[] È un elenco di oggetti con le intestazioni da aggiungere al back-end.
certlist Oggetto[] Solo nel profilo https. Elenco dei certificati attivato nella farm, in formato pem, è consentito aggiungere più di un certificato pem alla stessa farm per il supporto SNI. ascoltatore con valore https è richiesto. Qui è possibile utilizzare qualsiasi certificato nell'archivio certificati.
cipherc Corda Solo nel listener https. Questo è l'elenco di cifrature personalizzato consentito che verrà accettato dalla connessione SSL, che è una stringa nello stesso formato dei cifrari OpenSSL. Questo attributo è usato solo quando cifrari il campo ha il valore sutomsecurity.
cifrari Corda Solo in listener con valore https. Utilizzato per creare un elenco di cifrari accettati dalle connessioni SSL al fine di rafforzare la connessione SSL. Le opzioni sono: per tutti i nostri marchi storicisaranno accettati tutti i cifrari; alta sicurezzasaranno accettati solo codici per alta sicurezza; customsecurity, solo le cifre caricate in cipherc il campo sarà accettato; o SSLOffloading, devolve il processo di crittografia al processo, questo codice dipende dal processore.
contimeout Numero Per quanto tempo la farm attenderà una connessione TCP al back-end in pochi secondi.
disable_sslv2 Corda Solo nel listener https. Se questo campo ha il valore vero le connessioni che utilizzano il protocollo di sicurezza SSL con la versione 2 non sono consentite; o falso se il protocollo SSLv2 è consentito.
disable_sslv3 Corda Solo nel listener https. Se questo campo ha il valore vero le connessioni che utilizzano il protocollo di sicurezza SSL con la versione 3 non sono consentite; o falso se il protocollo SSLv3 è consentito.
disable_tlsv1 Corda Solo nel listener https. Se questo campo ha il valore vero le connessioni che utilizzano il protocollo di sicurezza TLS con la versione 1 non sono consentite; o falso se il protocollo TLSv1 è consentito.
disable_tlsv1_1 Corda Solo nel listener https. Se questo campo ha il valore vero le connessioni che utilizzano il protocollo di sicurezza TLS con la versione 1.1 non sono consentite; o falso se il protocollo TLSv1.1 è consentito.
disable_tlsv1_2 Corda Solo nel listener https. Se questo campo ha il valore vero le connessioni che utilizzano il protocollo di sicurezza TLS con la versione 1.2 non sono consentite; o falso se il protocollo TLSv1.2 è consentito.
error414 Corda Messaggio personalizzato per la risposta con il codice di errore HTTP 414.
error500 Corda Messaggio personalizzato per la risposta con il codice di errore HTTP 500.
error501 Corda Messaggio personalizzato per la risposta con il codice di errore HTTP 501.
error503 Corda Messaggio personalizzato per la risposta con il codice di errore HTTP 503.
headremove Oggetto[] È un elenco di oggetti con pattern per rimuovere l'intestazione dalle richieste del client.
httpverb Corda Questo campo indica le operazioni che saranno consentite alle richieste del client HTTP. i valori disponibili sono: standardHTTP, richieste http accettate GET, POST, HEAD. extendedHTTP, accettate le richieste HTTP precedenti più PUT, DELETE. standardWebDAV, accettate le precedenti richieste HTTP più LOCK, UNLOCK, PROPFIND, PROPPATATCH, SEARCH, MKCOL, MOVE, COPY, OPTIONS, TRACE, MKACTIVITY, CHECKOUT, MERGE, REPORT, MSextWebDAV accettato le precedenti richieste http più ISCRIVITI, NON ABBONCRIVITI, NOTIFY, BPROPFIND, BPROPPATCH, POLL, BMOVE, BCOPY, BDELETE, CONNECT o MSRPCext, ha accettato le richieste HTTP precedenti più RPC_IN_DATA, RPC_OUT_DATA. Si noti che quei valori sono case-sensitve.
ignore_100_continue Corda Se questo campo ha il valore vero i 100 continua HTTP heade verrà ignorato; se il valore è falso, 100 continua l'intestazione sarà processata.
ascoltatore Corda Un listener definisce come la farm giocherà con le richieste dei client. Le opzioni sono: http per protocollo non protetto o https per protocollo sicuro.
i registri Corda La farm Registra la traccia delle connessioni HTTP. Se questo parametro ha il valore vero, i log sono abilitati; se ha il valore falso, i log sono disabilitati.
reqtimeout Numero Per quanto tempo la farm attenderà una richiesta del client in pochi secondi.
restimeout Numero Per quanto tempo la farm attenderà una risposta dai backend in pochi secondi.
resurrectime Numero Il periodo per uscire da un vero server caduto, dopo questo periodo il bilanciamento del carico controlla se il vero server è vivo, in pochi secondi.
rewritelocation Corda Se è abilitato, la farm è obbligata a modificare Location: and Content-location: le intestazioni nelle risposte ai client con l'host virtuale. Le opzioni sono: abilitato, attivato disabile, inattivo o enabled-backends viene confrontato solo l'indirizzo di back-end.
status Corda Stato di fattoria I valori di stato disponibili sono: giù, la fattoria non è in esecuzione; riavvio necessario, la farm è attiva ma è in attesa di un'azione di riavvio; critico, la fattoria è attiva e tutti i backend sono irraggiungibili o di manutenzione; problema, la fattoria è attiva e ci sono alcuni backend irraggiungibili, ma quasi un back-end è in fase di sviluppo; manutenzione, la farm è attiva e ci sono back-up in up status, ma quasi un back-end è in modalità manutenzione; up, la fattoria è su e tutti i backend stanno lavorando con successo.
vip Corda IP della farm, in cui il servizio virtuale è in ascolto.
vport Numero Porto della fattoria, dove il servizio virtuale è in ascolto.

Oggetto Certlist:

Settore Tipologia Descrizione
filetto Corda Il nome del certificato, i riferimenti al certificato nell'archivio certificati.
id Numero ID certificato, l'ordine nell'elenco, il primo sarà utilizzato per impostazione predefinita se l'intestazione dell'host virtuale non corrisponde al campo CN nel certificato. Usato per SNI.

Oggetto dei servizi per le farm HTTP:

Settore Tipologia Descrizione
backend Oggetto[] Backend definiti nel servizio.
cookiedomain Corda L'inserimento dei cookie verrà eseguito se le corrispondenze del dominio nel contenuto dei cookie. Abilitare cookieinsert il campo è obbligatiorio.
cookieinsert Corda Abilita l'inserimento di cookie per sessioni di back-end. Le opzioni sono vero, il profilo cercherà il cookie specificato nel campo cookiename, se non esiste, questo cookie verrà aggiunto, falso, non viene intrapresa alcuna azione.
cookiename Corda Il nome del cookie (ID sessione) verrà utilizzato per identificare il processo persistente ai backend. Abilitare cookieinsert il campo è obbligatiorio.
cookiepath Corda Gestisce il valore del percorso del cookie per il cookie specificato. Abilitare cookieinsert il campo è obbligatiorio.
cookiettl Numero È il tempo massimo di vita per un cookie, in secondi. Abilitare cookieinsert il campo è obbligatiorio.
farmguardian Corda È il nome FarmGuardian che controlla lo stato del backend. FarmGuardian sarà in esecuzione mentre la fattoria è in stato attivo.
httpsb Corda Questo parametro indica alla farm che i server back-end definiti nel servizio corrente stanno utilizzando la lingua HTTPS e quindi i dati verranno crittografati prima di essere inviati. vero, il profilo invia il traffico nel protocollo HTTPS ai backend, falso, il profilo invia il traffico nel protocollo HTTP ai backend.
id Corda Il nome del servizio, non può essere modificato una volta creato il servizio.
leastresp Corda Abilita il metodo di bilanciamento meno rispettato. vero il profilo verifica che il backend stia impiegando meno tempo a rispondere per inviare più connessioni a questo, falso il profilo non controlla quale backend impiega meno tempo per rispondere.
persistenza Corda Questo parametro definisce in che modo il servizio HTTP gestirà la sessione client. Le opzioni sono: "" stringa vuota, nessuna azione è intrapresa, IP la sessione di persistenza viene eseguita in base all'IP del client, BASIC la sessione di persistenza viene eseguita in base a intestazioni BASIC, URL la sessione di persistenza viene eseguita in base a un campo nell'URI, PARM la sessione di persistenza viene eseguita in base a un valore alla fine dell'URI, COOKIE la sessione di persistenza viene eseguita in base al nome di un cookie, questo cookie deve essere creato dai backend e INTESTAZIONE, la sessione di persistenza viene eseguita in base a un nome di intestazione.
reindirizzare Corda Si comporta come un back-end speciale, poiché la richiesta del client viene risolta automaticamente da un reindirizzamento a un nuovo URL. Se il reindirizzamento è configurato, la richiesta non verrà inoltrata al back-end, un reindirizzamento verrà invece risposto al client.
redirect_code Numero È il codice HTTP restituito quando viene configurato un reindirizzamento. I valori possibili sono 301, 302, 307,
redirecttype Corda Come verrà effettuato il reindirizzamento, due opzioni: difetto, l'url viene preso come host assoluto e percorso per reindirizzare a aggiungere, il percorso della richiesta originale o URI verrà aggiunto all'host e al percorso specificato con l'opzione predefinita. Se reindirizzare il campo non è configurato, questo campo sarà una stringa vuota.
sessionid Corda È disponibile se persistenza campo è URL, COOKIE o HEADER, il valore del parametro verrà cercato dalla farm nell'intestazione http e gestirà la sessione client.
sts_status Corda Stato dell'intestazione di Sicurezza del trasporto rigorosa. Per abilitare questa funzione, è necessario impostare il listener della farm come HTTPS. I valori possibili sono: vero abilitare la direttiva STS nel servizio; o falso disabilitare la direttiva STS nel servizio.
sts_timeout Numero Tempo (in secondi) che il cliente ricorda che il servizio è disponibile solo con HTTS.
TTL Numero Solo con persistenza. Questo valore indica il tempo massimo di vita per una sessione client inattiva (età massima della sessione) in secondi.
urlp Corda Consente di determinare un servizio Web relativo all'URL che il client sta richiedendo tramite uno specifico pattern URL che verrà verificato sintatticamente. È supportata l'espressione regolare PCRE.
vhost Corda Specifica la condizione determinata dal nome del dominio attraverso lo stesso IP virtuale e la stessa porta definita da una farm HTTP. È supportata l'espressione regolare PCRE.

Oggetto di backend per le farm HTTP:

Settore Tipologia Descrizione
alias Corda È un nick per aiutare a identificare il back-end. Alias
id Numero Identificatore di backend all'interno del servizio specificato.
ip Corda IP del backend in cui è in esecuzione il servizio reale.
porto Numero Porta di backend in cui è in esecuzione il servizio reale.
status Corda Stato back-end. I valori possibili sono: up, la farm è in esecuzione e il back-end è pronto per ricevere connessioni; giù, la farm è in esecuzione e il servizio ha rilevato che il backend non funziona; manutenzione, il backend è contrassegnato come non pronto per ricevere le connessioni dall'amministratore, questa opzione è utile per le attività di manutenzione del backend; indefinito, lo stato del backend non è stato controllato.
timeout Numero È il timeout del backend per rispondere a una determinata richiesta, in secondi. Se il sistema nullo utilizzerà il parametro Global Backends timeout.
peso Numero È il valore di peso per il server reale corrente, il backend con un valore di peso più alto riceverà più connessioni. Valore predefinito null, non un peso speciale utilizzato per questo backend. I valori possibili provengono da 1 a 9.

Crea una nuova fattoria

Crea una nuova fattoria

Richiedi un esempio:

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.2/zapi.cgi/farms

POST /farms

Crea una nuova farm HTTP.

Richiedi i parametri

Settore Tipologia Descrizione Obbligatorio
farmname Corda Nome descrittivo dell'azienda È usato come identificatore univoco. vero
tuo profilo Corda Il profilo della fattoria creata. Per le farm http è http. vero
vip Corda IP della farm, in cui verrà eseguito il servizio virtuale. L'IP indicato deve essere configurato nel sistema e UP vero
vport Numero Porto della fattoria, dove il servizio virtuale ascolterà. La stessa porta virtuale e l'IP virtuale non devono essere utilizzati da un'altra farm. vero

Esempio di risposta:

{
   "description" : "Creating farm 'newHTTPfarm'",
   "params" : {
      "interface" : "eth0.2",
      "farmname" : "newHTTPfarm",
      "profile" : "http",
      "vip" : "192.168.100.23",
      "vport" : 80
   }
}

Parametri di risposta

La risposta sarà un json con tutti i valori richiesti aggiornati. Vedere l'esempio di risposta per ulteriori informazioni.

Modifica una fattoria

Modifica una fattoria

Richiedi un esempio:

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", "logs":"true",
"cipherc":"TLSv1+SSLv3+HIGH:-MEDIUM:-LOW*:-ADH*"}' https://<zevenet_server>:444/zapi/v3.2/zapi.cgi/farms/FarmHTTP

PUT /farms/<farmname>

Modifica i parametri globali per una determinata farm HTTP.

Richiedi i parametri

Settore Tipologia Descrizione
contimeout Numero Per quanto tempo la farm attenderà una connessione al back-end in pochi secondi.
restimeout Numero Per quanto tempo la farm attenderà una risposta dai backend in pochi secondi.
resurrectime Numero Questo valore in secondi è il periodo in cui uscire da un back-end in blacklist e controllare se è vivo.
reqtimeout Numero Per quanto tempo la farm attenderà una richiesta del client in pochi secondi.
disable_sslv2 Corda Solo nel listener https. Se questo campo ha il valore vero le connessioni che utilizzano il protocollo di sicurezza SSL con la versione 2 non sono consentite; o falso se il protocollo SSLv2 è consentito.
disable_sslv3 Corda Solo nel listener https. Se questo campo ha il valore vero le connessioni che utilizzano il protocollo di sicurezza SSL con la versione 3 non sono consentite; o falso se il protocollo SSLv3 è consentito.
disable_tlsv1 Corda Solo nel listener https. Se questo campo ha il valore vero le connessioni che utilizzano il protocollo di sicurezza TLS con la versione 1 non sono consentite; o falso se il protocollo TLSv1 è consentito.
disable_tlsv1_1 Corda Solo nel listener https. Se questo campo ha il valore vero le connessioni che utilizzano il protocollo di sicurezza TLS con la versione 1.1 non sono consentite; o falso se il protocollo TLSv1.1 è consentito.
disable_tlsv1_2 Corda Solo nel listener https. Se questo campo ha il valore vero le connessioni che utilizzano il protocollo di sicurezza TLS con la versione 1.2 non sono consentite; o falso se l'
rewritelocation Corda Se è abilitato, la farm è obbligata a modificare Location: and Content-location: le intestazioni nelle risposte ai client con l'host virtuale. Le opzioni sono: abilitato, attivato disabile, inattivo o enabled-backends viene confrontato solo l'indirizzo di back-end.
httpverb Corda Questo campo indica le operazioni che saranno consentite alle richieste del client HTTP. i valori disponibili sono: standardHTTP, richieste http accettate GET, POST, HEAD. extendedHTTP, accettate le richieste HTTP precedenti più PUT, DELETE. standardWebDAV, accettate le precedenti richieste HTTP più LOCK, UNLOCK, PROPFIND, PROPPATATCH, SEARCH, MKCOL, MOVE, COPY, OPTIONS, TRACE, MKACTIVITY, CHECKOUT, MERGE, REPORT, MSextWebDAV accettato le precedenti richieste http più ISCRIVITI, NON ABBONCRIVITI, NOTIFY, BPROPFIND, BPROPPATCH, POLL, BMOVE, BCOPY, BDELETE, CONNECT o MSRPCext, ha accettato le richieste HTTP precedenti più RPC_IN_DATA, RPC_OUT_DATA. Si noti che quei valori sono case-sensitve.
ignore_100_continue Corda Se questo campo ha il valore vero i 100 continua HTTP heade verrà ignorato; se il valore è falso, 100 continua l'intestazione sarà processata.
error414 Corda Errore di messaggio personalizzato 414.
error500 Corda Errore di messaggio personalizzato 500.
error501 Corda Errore di messaggio personalizzato 501.
error503 Corda Errore di messaggio personalizzato 503.
ascoltatore Corda Un listener definisce come la farm giocherà con le richieste dei client. Le opzioni sono: http per protocollo non protetto o https per protocollo sicuro.
i registri Corda La farm Registra la traccia delle connessioni HTTP. Se questo parametro ha il valore vero, i log sono abilitati; se ha il valore falso, i log sono disabilitati.
cifrari Corda Solo in listener con valore https. Utilizzato per creare un elenco di cifrari accettati dalle connessioni SSL al fine di rafforzare la connessione SSL. Le opzioni sono: per tutti i nostri marchi storicisaranno accettati tutti i cifrari; alta sicurezzasaranno accettati solo codici per alta sicurezza; customsecurity, solo le cifre caricate in cipherc il campo sarà accettato; o SSLOffloading, devolve il processo di crittografia al processo, questo codice dipende dal processore.
cipherc Corda Solo nel listener https. Questo è l'elenco di cifrature personalizzato consentito che verrà accettato dalla connessione SSL, che è una stringa nello stesso formato dei cifrari OpenSSL. Questo attributo è usato solo quando cifrari il campo ha il valore sutomsecurity.
newfarmname Corda Il nome della nuova Fattoria. La fattoria deve essere fermata.
vport Numero Porto della fattoria, dove il servizio virtuale è in ascolto.
vip Corda IP della farm, in cui il servizio virtuale è in ascolto, questo IP deve essere configurato e attivato nel sistema.

Esempio di risposta:

{
   "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",
      "logs" : "true",
      "newfarmname" : "FarmHTTP",
      "reqtimeout" : 32,
      "restimeout" : 47,
      "resurrectime" : 12,
      "rewritelocation" : "enabled",
      "vip" : "178.62.126.152",
      "vport" : 88
   }
}

Parametri di risposta

La risposta sarà un json con tutti i valori richiesti aggiornati. Vedere l'esempio di risposta per ulteriori informazioni.

Aggiungi una direttiva addheader

Aggiungi una direttiva addheader

Richiedi un esempio:

curl -k -X POST -H 'Content-Type: application/json' -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
-d '{"header":"loadbalancer: true"}' https://<zevenet_server>:444/zapi/v3.2/zapi.cgi/farms/MyHttpFarm/addheader

POST /farms/<farmname>/addheader

La farm aggiungerà l'intestazione al back-end.

Richiedi i parametri

Settore Tipologia Descrizione Obbligatorio
testata Corda È una stringa con l'intestazione che verrà inviata al back-end. vero

Esempio di risposta:

{
   "description" : "Add addheader directive.",
   "message" : "Added a new item to the addheader list",
   "status" : "needed restart",
   "success" : "true"
}

Elimina una direttiva addheader

Elimina una direttiva addheader

Richiedi un esempio:

curl -k -X DELETE -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
https://<zevenet_server>:444/zapi/v3.2/zapi.cgi/farms/MyHttpFarm/addheader/0

DELETE /farms/<farmname>/addheader/<index>

Index è l'indice dell'array addheader da eliminare.

Esempio di risposta:

{
   "description" : "Delete addheader directive.",
   "message" : "The addheader 0 was deleted successfully",
   "status" : "needed restart",   
   "success" : "true"
}

Aggiungi una direttiva headremove

Aggiungi una direttiva headremove

Richiedi un esempio:

curl -k -X POST -H 'Content-Type: application/json' -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
-d '{"pattern":"^client:"}' https://<zevenet_server>:444/zapi/v3.2/zapi.cgi/farms/MyHttpFarm/headremove

POST /farms/<farmname>/headremove

Rimuovi determinate intestazioni dalle richieste in arrivo. Verranno rimosse tutte le occorrenze dell'intestazione specificata corrispondente.

Richiedi i parametri

Settore Tipologia Descrizione Obbligatorio
modello Corda È una stringa con un'espressione regolare da cercare nelle richieste del client. Se alcune intestazioni corrispondono al modello, l'intestazione verrà rimossa vero

Esempio di risposta:

{
   "description" : "Add headremove directive.",
   "message" : "Added a new item to the headremove list",
   "status" : "needed restart",   
   "success" : "true"
}

Elimina una direttiva headremove

Elimina una direttiva headremove

Richiedi un esempio:

curl -k -X DELETE -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
https://<zevenet_server>:444/zapi/v3.2/zapi.cgi/farms/MyHttpFarm/headremove/0

DELETE /farms/<farmname>/headremove/<index>

Index è l'indice dell'array headremove da eliminare.

Esempio di risposta:

{
   "description" : "Delete headremove directive.",
   "message" : "The headremove 0 was deleted successfully",
   "status" : "needed restart",   
   "success" : "true"
}

Aggiungi un certificato

Aggiungi un certificato

Richiedi un esempio:

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.2/zapi.cgi/farms/httpFarm/certificates

POST /farms/<farmname>/certificates

Includere un certificato PEM disponibile nell'elenco SNI o certlist array di una farm HTTP con un listener HTTPS. Il certificato utilizzato deve essere già caricato nel sistema, vedi Certificati> Elenca tutti i certificati per l'elenco dei certificati disponibili.

Richiedi i parametri

Settore Tipologia Descrizione Obbligatorio
filetto Corda nome del file del certificato, in precedenza il certificato deve essere caricato nel sistema. vero

Esempio di risposta:

{
   "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"
}

Elimina un certificato

Elimina un certificato

Richiedi un esempio:

curl -k -X DELETE -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
https://<zevenet_server>:444/zapi/v3.2/zapi.cgi/farms/MyHttpFarm/certificates/example.pem

DELETE /farms/<farmname>/certificates/<file>

Elimina il certificato con il nome file selezionato dalla lista di certificati nella farm HTTP con listener HTTPS. Il certificato non verrà cancellato dall'archivio certificati.

Esempio di risposta:

{
   "description" : "Delete farm certificate",
   "message" : "The Certificate example.pem has been deleted.",
   "success" : "true",
   "status": "needed restart"
}

Aggiungi una regola IPDS

Aggiungi una regola IPDS

Richiedi un esempio:

curl -k -X POST -H 'Content-Type: application/json' -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
-d '{"name":"china"}' https://<zevenet_server>:444/zapi/v3.2/zapi.cgi/farms/httpFarm/ipds/blacklists

POST /farms/<farmname>/ipds/<dos|blacklists|rbl>

Applicare una regola di blacklist, DoS o RBL alla farm.

Richiedi i parametri

Settore Tipologia Descrizione
Nome Corda Nome della regola IPDS utilizzato come identificativo univoco.

Esempio di risposta:

{
   "description" : "Apply a rule to a farm",
   "message" : "Blacklist rule china was applied successful to the farm httpFarm.",
   "success" : "true"
}

Rimuovi una regola IPDS

Rimuovi una regola IPDS

Richiedi un esempio:

curl -k -X DELETE -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
https://<zevenet_server>:444/zapi/v3.2/zapi.cgi/farms/httpFarm/ipds/blacklists/china

DELETE /farms/<farmname>/ipds/<dos|blacklists|rbl>/<name>

Rimuovi una lista nera, una regola DoS o RBL da una determinata fattoria usando il suo idenficator Nome.

Esempio di risposta:

{
   "description" : "Delete a rule form a farm",
   "message" : "Blacklist rule china was removed successful from the farm httpFarm.",
   "success" : "true"
}

HTTP - Servizi

I servizi all'interno di una farm di profili HTTP forniscono un metodo di commutazione del contenuto per fornire diversi servizi Web con proprietà, backend o persino metodi di persistenza diversi, attraverso alcune condizioni deterministiche utilizzate dal core della farm per abbinare il servizio corretto per ogni richiesta del client. Questa definizione di servizio verrà utilizzata dalla farm per determinare i server back-end che potrebbero fornire la risposta al client.

Recupera il servizio per ID

Recupera il servizio per ID

Richiedi un esempio:

curl -k -X GET -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
https://<zevenet_server>:444/zapi/v3.2/zapi.cgi/farms/cookiefarm/services/serv

GET /farms/<farmname>/services/<id>

Mostra tutte le configurazioni su un determinato servizio.

Esempio di risposta:

{
   "description" : "Get services of a farm",
   "services" : {
      "backends" : [
         {
            "alias" : "http-server",
            "id" : 0,
            "ip" : "192.168.100.254",
            "port" : 80,
            "status" : "up",
            "timeout" : 20,
            "weight" : null
         },
         {
            "alias" : "http-server",
            "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,
      "farmguardian" : "check_tcp-cut_conns",
      "httpsb" : "false",
      "id" : "serv",
      "leastresp" : "false",
      "persistence" : "COOKIE",
      "redirect" : "",
      "redirect_code" : "",
      "redirecttype" : "",
      "sessionid" : "JSESSIONID",
      "sts_status" : "false",
      "sts_timeout" : 0,
      "ttl" : 18,
      "urlp" : "(?i)^/music$",
      "vhost" : ""
   }
}

Parametri di risposta

La risposta sarà un oggetto JSON con il formato seguente.

Oggetto dei servizi per le farm HTTP:

Settore Tipologia Descrizione
backend Oggetto[] Backend definiti nel servizio.
cookiedomain Corda L'inserimento dei cookie verrà eseguito se le corrispondenze del dominio nel contenuto dei cookie. Abilitare cookieinsert il campo è obbligatiorio.
cookieinsert Corda Abilita l'inserimento di cookie per sessioni di back-end. Le opzioni sono vero, il profilo cercherà il cookie specificato nel campo cookiename, se non esiste, questo cookie verrà aggiunto, falso, non viene intrapresa alcuna azione.
cookiename Corda Il nome del cookie (ID sessione) verrà utilizzato per identificare il processo persistente ai backend. Abilitare cookieinsert il campo è obbligatiorio.
cookiepath Corda Gestisce il valore del percorso del cookie per il cookie specificato. Abilitare cookieinsert il campo è obbligatiorio.
cookiettl Numero È il tempo massimo di vita per un cookie, in secondi. Abilitare cookieinsert il campo è obbligatiorio.
farmguardian Corda È il nome FarmGuardian che controlla lo stato del backend. FarmGuardian sarà in esecuzione mentre la fattoria è in stato attivo.
httpsb Corda Questo parametro indica alla farm che i server back-end definiti nel servizio corrente stanno utilizzando la lingua HTTPS e quindi i dati verranno crittografati prima di essere inviati. vero, il profilo invia il traffico nel protocollo HTTPS ai backend, falso, il profilo invia il traffico nel protocollo HTTP ai backend.
id Corda Il nome del servizio, non può essere modificato una volta creato il servizio.
leastresp Corda Abilita il metodo di bilanciamento meno rispettato. vero il profilo verifica che il backend stia impiegando meno tempo a rispondere per inviare più connessioni a questo, falso il profilo non controlla quale backend impiega meno tempo per rispondere.
persistenza Corda Questo parametro definisce in che modo il servizio HTTP gestirà la sessione client. Le opzioni sono: "" stringa vuota, nessuna azione è intrapresa, IP la sessione di persistenza viene eseguita in base all'IP del client, BASIC la sessione di persistenza viene eseguita in base a intestazioni BASIC, URL la sessione di persistenza viene eseguita in base a un campo nell'URI, PARM la sessione di persistenza viene eseguita in base a un valore alla fine dell'URI, COOKIE la sessione di persistenza viene eseguita in base al nome di un cookie, questo cookie deve essere creato dai backend e INTESTAZIONE, la sessione di persistenza viene eseguita in base a un nome di intestazione.
reindirizzare Corda Si comporta come un back-end speciale, poiché la richiesta del client viene risolta automaticamente da un reindirizzamento a un nuovo URL. Se il reindirizzamento è configurato, la richiesta non verrà inoltrata al back-end, un reindirizzamento verrà invece risposto al client.
redirect_code Numero È il codice HTTP restituito quando viene configurato un reindirizzamento. I valori possibili sono 301, 302, 307,
redirecttype Corda Come verrà effettuato il reindirizzamento, due opzioni: difetto, l'url viene preso come host assoluto e percorso per reindirizzare a aggiungere, il percorso della richiesta originale o URI verrà aggiunto all'host e al percorso specificato con l'opzione predefinita. Se reindirizzare il campo non è configurato, questo campo sarà una stringa vuota.
sessionid Corda È disponibile se persistenza campo è URL, COOKIE o HEADER, il valore del parametro verrà cercato dalla farm nell'intestazione http e gestirà la sessione client.
sts_status Corda Stato dell'intestazione di Sicurezza del trasporto rigorosa. Per abilitare questa funzione, è necessario impostare il listener della farm come HTTPS. I valori possibili sono: vero abilitare la direttiva STS nel servizio; o falso disabilitare la direttiva STS nel servizio.
sts_timeout Numero Tempo (in secondi) che il cliente ricorda che il servizio è disponibile solo con HTTS.
TTL Numero Solo con persistenza. Questo valore indica il tempo massimo di vita per una sessione client inattiva (età massima della sessione) in secondi.
urlp Corda Consente di determinare un servizio Web relativo all'URL che il client sta richiedendo tramite uno specifico pattern URL che verrà verificato sintatticamente. È supportata l'espressione regolare PCRE.
vhost Corda Specifica la condizione determinata dal nome del dominio attraverso lo stesso IP virtuale e la stessa porta definita da una farm HTTP. È supportata l'espressione regolare PCRE.

Oggetto di backend per le farm HTTP:

Settore Tipologia Descrizione
alias Corda È un nick per aiutare a identificare il back-end. Alias
id Numero Identificatore di backend all'interno del servizio specificato.
ip Corda IP del backend in cui è in esecuzione il servizio reale.
porto Numero Porta di backend in cui è in esecuzione il servizio reale.
status Corda Stato back-end. I valori possibili sono: up, la farm è in esecuzione e il back-end è pronto per ricevere connessioni; giù, la farm è in esecuzione e il servizio ha rilevato che il backend non funziona; manutenzione, il backend è contrassegnato come non pronto per ricevere le connessioni dall'amministratore, questa opzione è utile per le attività di manutenzione del backend; indefinito, lo stato del backend non è stato controllato.
timeout Numero È il timeout del backend per rispondere a una determinata richiesta, in secondi. Se il sistema nullo utilizzerà il parametro Global Backends timeout.
peso Numero È il valore di peso per il server reale corrente, il backend con un valore di peso più alto riceverà più connessioni. Valore predefinito null, non un peso speciale utilizzato per questo backend. I valori possibili provengono da 1 a 9.

Crea un nuovo servizio

Crea un nuovo servizio

Richiedi un esempio:

curl -k -X POST -H 'Content-Type: application/json' -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
-d '{"id":"newserv"}' https://<zevenet_server>:444/zapi/v3.2/zapi.cgi/farms/FarmHTTP/services

POST /farms/<farmname>/services

Creare un servizio in un determinato profilo HTTP Farm. La farm ha bisogno di un'azione di riavvio per applicare questa modifica.

Richiedi i parametri

Settore Tipologia Descrizione Obbligatorio
id Corda Nome del servizio utilizzato come identificativo univoco. Sono ammessi solo valori alfanumerici. vero

Esempio di risposta:

{
   "description" : "New service newserv",
   "params" : {
      "id" : "newserv"
   },
   "status" : "needed restart"
}

Modifica un servizio

Modifica un servizio

Richiedi un esempio:

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_code":302,
"redirect":"http://zenloadbalancer.com","ttl":125,"sessionid":"sid","sts_status":"true","sts_timeout":21600000,
"leastresp":"true","httpsb":"true"}' https://<zevenet_server>:444/zapi/v3.2/zapi.cgi/farms/FarmHTTP/services/sev2

PUT /farms/<farmname>/services/<id>

Modifica i parametri di un servizio in un profilo HTTP. id è l'identificatore univoco del servizio che verrà modificato.

Richiedi i parametri

Settore Tipologia Descrizione
vhost Corda Specifica la condizione determinata dal nome di dominio attraverso lo stesso IP virtuale e la stessa porta definiti da una farm di profili HTTP. È supportata l'espressione regolare PCRE.
urlp Corda Consente di determinare un servizio Web relativo all'URL che il client sta richiedendo tramite uno specifico pattern URL che verrà verificato sintatticamente. È supportata l'espressione regolare PCRE.
reindirizzare Corda Funziona come un backend speciale, la richiesta del client viene risposto automaticamente da un reindirizzamento a un nuovo URL.
redirect_code Numero È il codice HTTP restituito quando viene configurato un reindirizzamento. I valori possibili sono 301, 302, 307,
redirecttype Corda Come verrà eseguito il reindirizzamento, due opzioni: difetto, l'url viene preso come host assoluto e percorso per reindirizzare a aggiungere, il percorso della richiesta originale o l'URI verranno aggiunti all'host e al percorso specificato reindirizzare campo. Questo comportamento si applicherà solo se reindirizzare non è un valore vuoto.
cookieinsert Corda Abilita l'inserimento di cookie per sessioni di back-end. Le opzioni sono vero, il profilo cercherà il cookie specificato nel campo cookiename, se non esiste, questo cookie verrà aggiunto, falso, il cookie di inserimento è disabilitato.
cookiename Corda Il nome del cookie (ID sessione) verrà utilizzato per identificare il processo persistente ai backend. Abilitare cookieinsert il campo è obbligatiorio.
cookiedomain Corda L'inserimento dei cookie verrà eseguito se le corrispondenze del dominio nel contenuto dei cookie. Abilitare cookieinsert il campo è obbligatiorio.
cookiepath Corda Gestisce il valore del percorso del cookie per il cookie specificato, se l'URI nella richiesta del client o nella risposta del backend non corrisponde a cookiepath, il metodo di persistenza dell'inserimento del cookie non viene applicato. Abilitare cookieinsert il campo è obbligatiorio.
cookiettl Numero È il tempo massimo di vita per un cookie, in secondi. Abilitare cookieinsert il campo è obbligatiorio.
persistenza Corda Questo parametro definisce in che modo il servizio HTTP gestirà la sessione client. Le opzioni sono: "" stringa vuota, nessuna azione è intrapresa, IP la sessione di persistenza viene eseguita in base all'IP del client, BASIC la sessione di persistenza viene eseguita in base a intestazioni BASIC, URL la sessione di persistenza viene eseguita in base a un campo nell'URI, PARM la sessione di persistenza viene eseguita in base a un valore separato da ";" alla fine dell'URI, COOKIE la sessione di persistenza viene eseguita in base al nome di un cookie, questo cookie deve essere creato dai backend e INTESTAZIONE, la sessione di persistenza viene eseguita in base a un nome di intestazione.
TTL Numero Solo con persistenza. Il tempo massimo di vita per una sessione client inattiva (età massima della sessione) in secondi.
sessionid Corda È disponibile se persistenza il campo è URL, COOKIE or INTESTAZIONE, il valore del parametro verrà ricercato dal profilo nell'intestazione http e gestirà la sessione client.
sts_status Corda Stato dell'intestazione di Sicurezza del trasporto rigorosa. Per abilitare questa funzione, è necessario impostare il listener della farm come HTTPS. I valori possibili sono: vero abilitare la direttiva STS nel servizio; o falso disabilitare la direttiva STS nel servizio.
sts_timeout Numero Tempo (in secondi) che il cliente ricorda che il servizio è disponibile solo con HTTS.
leastresp Corda Abilita il metodo di bilanciamento meno rispettato. vero, di conseguenza, il profilo verifica che il backend impiega meno tempo a rispondere per inviare più connessioni a questo, falso, il profilo non controlla quale backend impiega meno tempo per rispondere.
httpsb Corda Indica alla farm che i server back-end definiti nel servizio corrente stanno utilizzando la lingua HTTPS e quindi i dati verranno crittografati prima di essere inviati. vero, il profilo invia il traffico nel protocollo HTTPS ai backend, falso, il profilo invia il traffico nel protocollo HTTP ai backend.

Esempio di risposta:

{
   "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,
      "httpsb" : "true",
      "id" : "newsrv",
      "leastresp" : "true",
      "persistence" : "",
      "redirect" : "http://zenloadbalancer.com",
      "redirect_code" : 302,
      "redirecttype" : "default",
      "sessionid" : "sid",
      "sts_status" : "true",
      "sts_timeout" : 21600000,
      "ttl" : 125,
      "urlp" : "^/myapp1$",
      "vhost" : "www.mywebserver.com"
   },
   "status" : "needed restart"
}

Parametri di risposta

La risposta sarà un json con i parametri richiesti aggiornati e il status campo con riavvio necessario valore. È necessario riavviare l'azione per applicare le modifiche.

Aggiungi FarmGuardian

Aggiungi FarmGuardian

Richiedi un esempio:

curl -k -X POST -H 'Content-Type: application/json' -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
-d '{"name":"check_tcp-cut_conns"}' https://<zevenet_server>:444/zapi/v3.2/zapi.cgi/farms/FarmHTTP/services/service1/fg

POST /farms/<farmname>/services/<id>/fg

Applica FarmGuardian a un servizio.

Il parametro URI è l'identificatore univoco del servizio.

Richiedi i parametri

Settore Tipologia Descrizione
Nome Corda Identificatore univoco di FarmGuardian. I FarmGuardian vengono creati e modificati nella sezione di monitoraggio.

Esempio di risposta:

{
   "description" : "Add the farm guardian check_tcp-cut_conns to the service service1 in the farm FarmHTTP",
   "message" : "Success, The farm guardian check_tcp-cut_conns was added to the service service1 in the farm FarmHTTP"
}

Rimuovi FarmGuardian

Rimuovi FarmGuardian

Richiedi un esempio:

curl -k -X DELETE -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
https://<zevenet_server>:444/zapi/v3.2/zapi.cgi/farms/FarmHTTP/service/service1/fg/check_tcp-cut_conns

DELETE /farms/<farmname>/services/<id>/fg/<name>

Rimuovere FarmGuardian da un servizio in una farm.

Esempio di risposta:

{
   "description" : "Remove the farm guardian check_tcp-cut_conns from the service service1 in the farm FarmHTTP",
   "message" : "Sucess, check_tcp-cut_conns was removed from the service service1 in the farm FarmHTTP"
}

Spostare i servizi

Spostare i servizi

Richiedi un esempio:

curl -k -X POST -H 'Content-Type: application/json' -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
-d '{"position":0}' https://<zevenet_server>:444/zapi/v3.2/zapi.cgi/farms/FarmHTTP/services/service1/actions

POST /farms/<farmname>/services/<id>/actions

Questa azione sposta il dato un servizio su o giù nell'elenco servizi, questa opzione è utile se è necessario modificare l'ordine di priorità, notare che i servizi sono valutati nello stesso ordine mostrato. questa azione riavvia automaticamente la farm.

id è l'identificatore univoco del servizio che verrà modificato.

Richiedi parametri

Settore Tipologia Descrizione Obbligatorio
posizione Numero Posizione dove sarà il servizio. La prima posizione ha l'indice 0. vero

Esempio di risposta:

{
   "description" : "Move service",
   "message" : "service1 was moved successful.",
   "params" : {
      "position" : 0
   }
}

Elimina un servizio

Elimina un servizio

Richiedi un esempio:

curl -k -X DELETE -H 'Content-Type: application/json' -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
https://<zevenet_server>:444/zapi/v3.2/zapi.cgi/farms/FarmHTTP/services/service1

DELETE /farms/<farmname>/services/<id>

Elimina un determinato servizio di un profilo http. id è l'identificativo univoco del servizio che verrà eliminato.

Esempio di risposta:

{
  "description" : "Delete service service1 in farm FarmHTTP",
  "message" : "The service service1 in farm FarmHTTP has been deleted.",
  "success" : "true",
  "status": "needed restart"
}

HTTP - Servizi - Backend

Elenca i backend

Elenca i backend

Richiedi un esempio:

curl  -k -X GET -H 'Content-Type: application/json' -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
https://<zevenet_server>:444/zapi/v3.2/zapi.cgi/farms/httpfarm/services/service1/backends

GET /farms/<farmname>/services/<id>/backends

Ottieni l'elenco dei backend in un servizio. id è l'identificatore univoco del servizio.

Esempio di risposta:

{
   "description" : "List service backends",
   "params" : [
      {
         "alias" : null,
         "id" : 0,
         "ip" : "192.168.0.10",
         "port" : 88,
         "status" : "up",
         "timeout" : 12,
         "weight" : 1
      },
      {
         "alias" : null,
         "id" : 1,
         "ip" : "192.168.102.245",
         "port" : 80,
         "status" : "up",
         "timeout" : 22,
         "weight" : 2
      }
   ]
}

Parametri di risposta

Questa chiamata restituisce un array di oggetti di backend con i parametri muggenti.

Settore Tipologia Descrizione
alias Corda È un nick per aiutare a identificare il back-end. Alias
id Numero identificatore univoco per il back-end nel servizio. Questo identificatore è generato dal sistema.
ip Corda IP del backend in cui è in ascolto il servizio reale.
porto Numero Porta di backend in cui è in ascolto il servizio reale.
timeout Numero È il timeout del backend per rispondere a una determinata richiesta, in secondi.
peso Numero È il valore del peso per il backend corrente. I valori possibili provengono da 1 a 9.
status Corda Stato back-end. I valori possibili sono: up, la farm è in esecuzione e il back-end è pronto per ricevere connessioni; giù, la farm è in esecuzione e il servizio ha rilevato che il backend non funziona; manutenzione, il backend è contrassegnato come non pronto per ricevere le connessioni dall'amministratore, questa opzione è utile per le attività di manutenzione del backend; indefinito, lo stato del backend non è stato controllato.

Crea un nuovo back-end

Crea un nuovo back-end

Richiedi un esempio:

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://<zevenet_server>:444/zapi/v3.2/zapi.cgi/farms/httpfarm/services/newsrv/backends

POST /farms/<farmname>/services/<id>/backends

Crea un nuovo back-end in un determinato profilo HTTP. id è l'identificatore univoco del servizio.

Richiedi i parametri

Settore Tipologia Descrizione Obbligatorio
ip Corda IP del backend in cui è in ascolto il servizio reale. vero
porto Numero Porta di backend in cui è in ascolto il servizio reale. vero
timeout Numero È il timeout del backend per rispondere a una determinata richiesta.
peso Numero È il valore del peso per il backend corrente. I valori possibili provengono da 1 a 9.

Esempio di risposta:

{
   "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"
}

Parametri di risposta

La risposta sarà un json con i parametri richiesti aggiornati e il status campo con riavvio necessario valore se la farm deve essere riavviata. È necessario riavviare l'azione per applicare le modifiche.

Modifica un back-end

Modifica un back-end

Richiedi un esempio:

 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://<zevenet_server>:444/zapi/v3.2/zapi.cgi/farms/FarmHTTP/service/service1/backends/1

PUT /farms/<farmname>/services/<id>/backends/<id>

Modifica i parametri di un back-end in un servizio di un profilo HTTP.

Nome id è l'identificatore univoco del servizio, prossimo id è l'identificativo univoco del backend.

Richiedi i parametri

Settore Tipologia Descrizione
ip Corda IP del backend in cui è in ascolto il servizio reale.
porto Numero Porta di backend in cui è in ascolto il servizio reale.
timeout Numero È il timeout del backend per rispondere a una determinata richiesta, in secondi.
peso Numero È il valore del peso per il backend corrente. I valori possibili provengono da 1 a 9.

Esempio di risposta:

{
   "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"
}

Parametri di risposta

La risposta sarà un json con i parametri richiesti aggiornati e il status campo con riavvio necessario valore se la farm deve essere riavviata. È necessario riavviare l'azione per applicare le modifiche.

Back-end in manutenzione

Back-end in manutenzione

Richiedi un esempio:

 curl -k -X PUT -H 'Content-Type: application/json' -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
 -d '{"action":"maintenance","mode":"cut"}'
 https://<zevenet_server>:444/zapi/v3.2/zapi.cgi/farms/httpfarm/services/newsrv/backends/0/maintenance

PUT /farms/<farmname>/services/<id>/backends/<id>/maintenance

Impostare una determinata azione in un back-end di una farm HTTP, le azioni disponibili sono descritte di seguito.

Nome id è l'identificatore univoco del servizio, prossimo id è l'identificativo univoco del backend.

Richiedi i parametri

Settore Tipologia Descrizione Obbligatorio
azione Corda Imposta l'azione desiderata. Le azioni sono: up il back-end è pronto per ricevere le richieste dei clienti, manutenzione backend non è pronto a ricevere richieste client, questa azione è utile per arrestare il server di backend senza alcun effetto sui client.
modo Corda Scegli una modalità di manutenzione. Le opzioni disponibili sono: scolare, il backend non accetta nuove connessioni, ma continuerà a gestire le connessioni correnti; o taglio, le connessioni attuali saranno chiuse. Se questo campo non è specificato, la modalità predefinita sarà scolare.

Esempio di risposta:

{
   "description" : "Set service backend status",
   "params" : {
      "action" : "maintenance",
      "mode" : "cut"
   }
}

Elimina un back-end

Elimina un back-end

Richiedi un esempio:

curl -k -X DELETE -H 'Content-Type: application/json' -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
https://<zevenet_server>:444/zapi/v3.2/zapi.cgi/farms/newfarmHTTP/services/service1/backends/4

DELETE /farms/<farmname>/services/<id>/backends/<id>

Elimina un dato backend in un servizio di un profilo HTTP.

Nome id è l'identificatore univoco del servizio, prossimo id è l'identificativo univoco del backend.

Esempio di risposta:

{
   "description" : "Delete service backend",
   "message" : "Backend removed",
   "success" : "true"
}

L4xNAT Farms

La farm di profili L4xNAT consente di creare una farm L4 con prestazioni molto elevate e molte più connessioni simultanee rispetto ai core di bilanciamento del carico nel layer 7 come i profili di farm HTTP. Il miglioramento delle prestazioni 4 di questo livello contrasta la gestione avanzata del contenuto che i profili 7 del livello potevano gestire.

Inoltre, le farm L4xNAT potrebbero associare un intervallo di porte, non solo una porta virtuale come viene utilizzata con altri profili di livello 7. Per poter selezionare un intervallo di porte virtuali o una porta virtuale specifica nelle farm L4xNAT, è obbligatorio selezionare un tipo di protocollo. In altri casi, la farm sarà in ascolto su tutte le porte dall'IP virtuale (indicato con un carattere "*"). Una volta selezionato un protocollo TCP o UDP, sarà disponibile per specificare una porta, diverse porte tra ",", le porte comprese tra ":" o tutte le porte con "*". Sarà valida anche una combinazione di tutti loro.

Recupera la fattoria per nome

Recupera la fattoria per nome

Richiedi un esempio:

curl -k -X GET -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
https://<zevenet_server>:444/zapi/v3.2/zapi.cgi/farms/l4farm

GET /farms/<farmname>

Mostra tutte le configurazioni su una determinata fattoria.

Risposta BODY:

{
   "backends" : [
      {
         "alias" : null,
         "id" : 0,
         "ip" : "192.168.55.40",
         "port" : "88",
         "priority" : 2,
         "status" : "undefined",
         "weight" : 1
      },
      {
         "alias" : "server-1",
         "id" : 1,
         "ip" : "192.168.55.41",
         "port" : "88",
         "priority" : 3,
         "status" : "undefined",
         "weight" : 2
      }
   ],
   "description" : "List farm l4farm",
   "ipds" : {
      "blacklists" : [],
      "dos" : [],
      "rbl" : [
         {
            "name" : "protection_ssh",
            "status" : "up"
         }
      ]
   },
   "params" : {
      "algorithm" : "weight",
      "farmguardian" : "check_tcp-cut_conns",
      "listener" : "l4xnat",
      "logs" : "false",
      "nattype" : "nat",
      "persistence" : "",
      "protocol" : "tcp",
      "status" : "down",
      "ttl" : 120,
      "vip" : "192.168.100.241",
      "vport" : "88"
   }
}

Parametri di risposta

La risposta sarà un oggetto JSON con il formato seguente.

Oggetto della fattoria:

Settore Tipologia Descrizione
IPDS Oggetto Elenco delle regole IPDS applicate a questa farm.
params Oggetto Parametri della configurazione della farm.
backend Oggetto[] Tutti i server reali creati in questa farm e la sua configurazione.

Oggetto IPDS:

Settore Tipologia Descrizione
blacklist Oggetto[] Regole della lista nera applicate alla farm.
dos Oggetto[] Regole DoS applicate alla farm.
RBL Oggetto[] Regole RBL applicate alla farm.

Oggetto Blacklist, DoS e RBL:

Settore Tipologia Descrizione
Nome Corda Il nome della regola.
status Corda Stato della regola.

Oggetto Parametri per farm L4xNAT:

Settore Tipologia Descrizione
algoritmo Corda Tipo di algoritmo di bilanciamento del carico utilizzato nella farm. Le opzioni sono: leastconn connessione sempre al minor server di connessione, peso dispacciamento lineare della connessione in base al peso, prio connessioni sempre al massimo disponibile.
ascoltatore Corda Un ascoltatore definisce come la fattoria giocherà con le richieste dei client. campo informativo, non può essere modificato.
i registri Corda La farm registra le informazioni sul pacchetto del livello di trasporto, non sono disponibili informazioni sul livello dell'applicazione. Se questo parametro ha il valore vero, i log sono abilitati; se ha il valore falso, i log sono disabilitati.
nattype Corda Come funzionerà il core 4 del load balancer layer. Le opzioni sono: nat chiamata anche modalità sNAT, il backend risponde al servizio di bilanciamento del carico per inviare la risposta al client, DNAT il backend risponderà direttamente al client, il bilanciamento del carico deve essere configurato come gateway nel server back-end.
persistenza Corda Lo stesso indirizzo IP sarà connesso allo stesso server. Le opzioni sono: "" valore vuoto, la persistenza è disabilitata, ip la persistenza è abilitata attraverso, l'IP di origine viene utilizzato come ID univoco in sessione.
protocollo Corda Protocollo da bilanciare a livello 4. Le opzioni sono: per tutti i nostri marchi storici il profilo caricherà l'equilibrio di qualsiasi protocollo L4, tcp il bilanciamento del carico bilancia solo il protocollo TCP L4, udp il bilanciamento del carico bilancia solo il protocollo UDP L4, sorso il bilanciamento del carico bilancia solo il protocollo SIP o VoIP L7, FTP il bilanciamento del carico bilancia solo il protocollo FTP L7, tftp il bilanciamento del carico bilancia solo il protocollo TFTP L7.
status Corda Stato di fattoria I valori di stato disponibili sono: giù, la fattoria non è in esecuzione; riavvio necessario, la farm è attiva ma è in attesa di un'azione di riavvio; critico, la fattoria è attiva e tutti i backend sono irraggiungibili o di manutenzione; problema, la fattoria è attiva e ci sono alcuni backend irraggiungibili, ma quasi un back-end è in fase di sviluppo; manutenzione, la farm è attiva e ci sono back-up in up status, ma quasi un back-end è in modalità manutenzione; up, la fattoria è su e tutti i backend stanno lavorando con successo.
TTL Numero Questo valore di campo indica il numero di secondi in cui viene assegnata la persistenza tra l'origine del client e il back-end, in secondi. La persistenza deve essere configurata.
vip Corda IP della farm, in cui il servizio virtuale è in ascolto.
vport Corda Porto della fattoria, dove il servizio virtuale è in ascolto. Una porta unica può essere specificata, una porta gamma può essere specificata con il separatore : e diverse porte possono essere specificate con il separatore ,.
farmguardian Corda È il nome FarmGuardian che controlla lo stato del backend. FarmGuardian sarà in esecuzione mentre la fattoria è in stato attivo.

Oggetto di backend per le farm L4xNAT:

Settore Tipologia Descrizione
alias Corda È un nick per aiutare a identificare il back-end. Alias
id Numero ID per identificare il back-end nella farm.
ip Corda IP del backend in cui è in ascolto il servizio reale.
porto Numero Porta di backend in cui è in ascolto il servizio reale. Viene accettato un valore vuoto e utilizzerà la stessa configurazione delle porte virtuali.
status Corda Stato back-end. I valori possibili sono: up, la farm è in esecuzione e il back-end è pronto per ricevere connessioni; giù, la farm è in esecuzione e il servizio ha rilevato che il backend non funziona; manutenzione, il backend è contrassegnato come non pronto per ricevere le connessioni dall'amministratore, questa opzione è utile per le attività di manutenzione del backend; indefinito, lo stato del backend non è stato controllato.
priorità Numero È il valore di priorità per il server reale corrente. Connessioni sempre al massimo disponibile dove 1 è la priorità più alta e 9 è la priorità minima.
peso Numero È il valore del peso per il server reale corrente. I backend con più peso riceveranno più connessioni. I valori possibili provengono da 1 a 9.

Crea una nuova fattoria

Crea una nuova fattoria

Richiedi un esempio:

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.2/zapi.cgi/farms

POST /farms

Creare una nuova farm L4xNAT.

Richiedi i parametri

Settore Tipologia Descrizione Obbligatorio
farmname Corda Nome dell'azienda, identificatore univoco. vero
tuo profilo Corda Il profilo della fattoria creata. Per le fattorie L4xNAT è l4xnat, messaggio informativo, questo valore non può essere modificato vero
vip Corda IP della farm, in cui il servizio virtuale è in ascolto. vero
vport Corda Porto della fattoria, dove il servizio virtuale è in ascolto. Le farm L4xNAT consentono il multiporta separato da , o porta intervallo separata da :. vero

Esempio di risposta:

{
   "description" : "Creating farm 'newl4farm'",
   "params" : {
      "farmname" : "newl4farm",
      "interface" : "eth0",
      "profile" : "l4xnat",
      "vip" : "192.168.100.241",
      "vport" : "88"
   }
}

Parametri di risposta

La risposta sarà un json con tutti i valori richiesti aggiornati. Vedere l'esempio di risposta per ulteriori informazioni.

Modifica una fattoria

Modifica una fattoria

Richiedi un esempio:

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","logs":"true"}'
https://<zevenet_server>:444/zapi/v3.2/zapi.cgi/farms/newfarml4

PUT /farms/<farmname>

Modificare la configurazione di una farm L4xNAT.

Richiedi i parametri

Settore Tipologia Descrizione
newfarmname Corda Il nome della nuova Fattoria. La fattoria deve essere fermata.
algoritmo Corda Tipo di algoritmo di bilanciamento del carico utilizzato nella farm. Le opzioni sono: leastconn connessione sempre al minor server di connessione, peso dispacciamento lineare della connessione in base al peso, prio connessioni sempre al massimo disponibile.
i registri Corda La farm registra le informazioni sul pacchetto del livello di trasporto, non sono disponibili informazioni sul livello dell'applicazione. Se questo parametro ha il valore vero, i log sono abilitati; se ha il valore falso, i log sono disabilitati.
nattype Corda Come funzionerà il core 4 del load balancer layer. Le opzioni sono: nat chiamata anche modalità sNAT, il backend risponde al servizio di bilanciamento del carico per inviare la risposta al client, DNAT il backend risponderà direttamente al client, il bilanciamento del carico deve essere configurato come gateway nel server back-end.
persistenza Corda Lo stesso indirizzo IP sarà connesso allo stesso server. Le opzioni sono: "" valore vuoto, la persistenza è disabilitata, ip la persistenza è abilitata attraverso, l'IP di origine viene utilizzato come ID univoco in sessione.
protocollo Corda Protocollo da bilanciare a livello 4. Le opzioni sono: per tutti i nostri marchi storici il profilo caricherà l'equilibrio di qualsiasi protocollo L4, tcp il bilanciamento del carico bilancia solo il protocollo TCP L4, udp il bilanciamento del carico bilancia solo il protocollo UDP L4, sorso il bilanciamento del carico bilancia solo il protocollo SIP o VoIP L7, FTP il bilanciamento del carico bilancia solo il protocollo FTP L7, tftp il bilanciamento del carico bilancia solo il protocollo TFTP L7.
TTL Numero Questo valore di campo indica il numero di secondi in cui viene assegnata la persistenza tra l'origine del client e il back-end, in secondi. La persistenza deve essere configurata.
vip Corda IP della farm, in cui il servizio virtuale è in ascolto.
vport Corda Porto della fattoria, dove il servizio virtuale è in ascolto. Una porta unica può essere specificata, una porta gamma può essere specificata con il separatore : e diverse porte possono essere specificate con il separatore ,.

Esempio di risposta:

{
   "description" : "Modify farm l4farm",
   "params" : {
      "algorithm" : "weight",
      "logs" : "true",
      "nattype" : "nat",
      "newfarmname" : "l4farm",
      "persistence" : "",
      "protocol" : "tcp",
      "ttl" : 125,
      "vip" : "178.62.126.152",
      "vport" : "81"
   }
}

Parametri di risposta

La risposta sarà un json con tutti i valori richiesti aggiornati. Vedere l'esempio di risposta per ulteriori informazioni.

Aggiungi FarmGuardian

Aggiungi FarmGuardian

Richiedi un esempio:

curl -k -X POST -H 'Content-Type: application/json' -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
-d '{"name":"check_tcp-cut_conns"}' https://<zevenet_server>:444/zapi/v3.2/zapi.cgi/farms/l4Farm/fg

POST /farms/<farmname>/fg

Applica un FarmGuardian alla fattoria.

Richiedi i parametri

Settore Tipologia Descrizione
Nome Corda Identificatore univoco di FarmGuardian. I FarmGuardian vengono creati e modificati nella sezione di monitoraggio.

Esempio di risposta:

{
   "description" : "Add the farm guardian check_tcp-cut_conns to the farm fgl4",
   "message" : "Success, The farm guardian check_tcp-cut_conns was added to the farm fgl4"
}

Rimuovi FarmGuardian

Rimuovi FarmGuardian

Richiedi un esempio:

curl -k -X DELETE -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
https://<zevenet_server>:444/zapi/v3.2/zapi.cgi/farms/l4Farm/fg/check_tcp-cut_conns

DELETE /farms/<farmname>/fg/<name>

Rimuovere FarmGuardian dalla farm.

Esempio di risposta:

{
   "description" : "Remove the farm guardian check_tcp-cut_conns from the farm fgl4",
   "message" : "Sucess, check_tcp-cut_conns was removed from the farm fgl4"
}

Aggiungi una regola IPDS

Aggiungi una regola IPDS

Richiedi un esempio:

curl -k -X POST -H 'Content-Type: application/json' -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
-d '{"name":"china"}' https://<zevenet_server>:444/zapi/v3.2/zapi.cgi/farms/l4Farm/ipds/blacklists

POST /farms/<farmname>/ipds/<dos|blacklists|rbl>

Applicare una blacklist, una regola DoS o RBL a una fattoria.

Richiedi i parametri

Settore Tipologia Descrizione
Nome Corda Nome della regola IPDS utilizzato come identificativo univoco.

Esempio di risposta:

{
   "description" : "Apply a rule to a farm",
   "message" : "Blacklist rule china was applied successful to the farm l4Farm.",
   "success" : "true"
}

Rimuovi una regola IPDS

Rimuovi una regola IPDS

Richiedi un esempio:

curl -k -X DELETE -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
https://<zevenet_server>:444/zapi/v3.2/zapi.cgi/farms/l4Farm/ipds/blacklists/china

DELETE /farms/<farmname>/ipds/<dos|blacklists|rbl>/<name>

Rimuovere una regola blacklist, DoS o RBL del modulo IPDS da una determinata farm usando il suo idenficator Nome.

Esempio di risposta:

{
   "description" : "Delete a rule from a farm",
   "message" : "Blacklist rule china was removed successful from the farm l4Farm.",
   "success" : "true"
}

L4xNAT - Backends

Elenca i backend

Elenca i backend

Richiedi un esempio:

curl  -k -X GET -H 'Content-Type: application/json' -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
https://<zevenet_server>:444/zapi/v3.2/zapi.cgi/farms/l4farm/backends

GET /farms/<farmname>/backends

Ottieni l'elenco dei backend in un servizio.

Esempio di risposta:

{
   "description" : "List backends",
   "params" : [
      {
         "alias" : null,
         "id" : 0,
         "ip" : "192.5.1.1",
         "max_conns" : 400,
         "port" : 787,
         "priority" : 1,
         "status" : "up",
         "weight" : 1
      },
      {
         "alias" : "server-2",
         "id" : 1,
         "ip" : "192.5.1.3",
         "max_conns" : 200,
         "port" : 787,
         "priority" : 2,
         "status" : "up",
         "weight" : 1
      },
   ]
}

Parametri di risposta

Questa chiamata restituisce un array di oggetti di backend con i parametri muggenti.

Settore Tipologia Descrizione
alias Corda È un nick per aiutare a identificare il back-end. Alias
id Numero ID per identificare il back-end nella farm.
ip Corda IP del backend in cui è in ascolto il servizio reale.
porto Numero Porta di backend in cui è in ascolto il servizio reale. Viene accettato un valore vuoto e utilizzerà la stessa configurazione delle porte virtuali.
status Corda Stato back-end. I valori possibili sono: up, la farm è in esecuzione e il back-end è pronto per ricevere connessioni; giù, la farm è in esecuzione e il servizio ha rilevato che il backend non funziona; manutenzione, il backend è contrassegnato come non pronto per ricevere le connessioni dall'amministratore, questa opzione è utile per le attività di manutenzione del backend; indefinito, lo stato del backend non è stato controllato.
max_conns Numero È il numero massimo di connessioni simultanee per il backend. Se questo campo ha il valore 0, il backend non ha configurato alcun limite di connessione.
priorità Numero È il valore di priorità per il server reale corrente. Connessioni sempre al massimo disponibile dove 1 è la priorità più alta e 9 è la priorità minima.
peso Numero È il valore del peso per il server reale corrente. I backend con più peso riceveranno più connessioni. I valori possibili provengono da 1 a 9.

Crea un nuovo back-end

Crea un nuovo back-end

Richiedi un esempio:

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://<zevenet_server>:444/zapi/v3.2/zapi.cgi/farms/l4farm/backends

POST /farms/<farmname>/backends

Creare un nuovo back-end in una determinata farm L4xNAT.

Richiedi i parametri

Settore Tipologia Descrizione Obbligatorio
ip Corda IP del backend in cui è in ascolto il servizio reale. vero
porto Numero Porta di backend in cui è in ascolto il servizio reale. Viene accettato un valore vuoto e utilizzerà la stessa configurazione delle porte virtuali.
max_conns Numero È il numero massimo di connessioni simultanee per il backend. Se questo campo ha il valore 0, il backend non ha configurato alcun limite di connessione.
priorità Numero È il valore di priorità per il server reale corrente. Connessioni sempre al massimo disponibile dove 1 è la priorità più alta e 9 è la priorità minima.
peso Numero È il valore del peso per il server reale corrente. I backend con più peso riceveranno più connessioni. I valori possibili provengono da 1 a 9.

Esempio di risposta:

{
   "description" : "New farm backend",
   "message" : "Backend added",
   "params" : {
      "id" : 5,
      "ip" : "192.168.5.100",
      "port" : 8080,
      "max_conns" : 400,
      "priority" : null,
      "weight" : null
   }
}

Parametri di risposta

La risposta sarà un json con tutti i valori richiesti aggiornati. Vedere l'esempio di risposta per ulteriori informazioni.

Modifica un back-end

Modifica un back-end

Richiedi un esempio:

 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://<zevenet_server>:444/zapi/v3.2/zapi.cgi/farms/l4farm/backends/2

PUT /farms/<farmname>/backends/<id>

Modificare i parametri di un back-end in un servizio di una farm L4xNAT. id è l'identificativo univoco del backend.

Richiedi i parametri

Settore Tipologia Descrizione
ip Corda IP del backend in cui è in ascolto il servizio reale.
porto Numero Porta di backend in cui è in ascolto il servizio reale. Viene accettato un valore vuoto e utilizzerà la stessa configurazione delle porte virtuali.
max_conns Numero È il numero massimo di connessioni simultanee per il backend. Se questo campo ha il valore 0, il backend non ha configurato alcun limite di connessione.
priorità Numero È il valore di priorità per il server reale corrente. Connessioni sempre al massimo disponibile dove 1 è la priorità più alta e 9 è la priorità minima.
peso Numero È il valore del peso per il server reale corrente. I backend con più peso riceveranno più connessioni. I valori possibili provengono da 1 a 9.

Esempio di risposta:

{
   "description" : "Modify backend",
   "message" : "Backend modified",
   "params" : {
      "ip" : "192.168.5.40",
      "port" : 8080,
      "max_conns" : 220,
      "priority" : 4,
      "weight" : 7
   }
}

Parametri di risposta

La risposta sarà un json con tutti i valori richiesti aggiornati. Vedere l'esempio di risposta per ulteriori informazioni.

Back-end in manutenzione

Back-end in manutenzione

Richiedi un esempio:

 curl -k -X PUT -H 'Content-Type: application/json' -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
 -d '{"action":"maintenance","mode":"cut"}'
 https://<zevenet_server>:444/zapi/v3.2/zapi.cgi/farms/l4farm/backends/1/maintenance

PUT /farms/<farmname>/backends/<id>/maintenance

Impostare una determinata azione in un backend di una farm L4xNAT. id è l'identificativo univoco del backend.

Richiedi i parametri

Settore Tipologia Descrizione
azione Corda Imposta l'azione desiderata. Le azioni sono: up il back-end è pronto per ricevere le richieste dei clienti, manutenzione backend non è pronto a ricevere richieste client, questa azione è utile per arrestare il server di backend senza alcun effetto sui client.
modo Corda Scegli una modalità di manutenzione. Le opzioni disponibili sono: scolare, il backend non accetta nuove connessioni, ma continuerà a gestire le connessioni correnti; o taglio, le connessioni attuali saranno chiuse.

Esempio di risposta:

{
   "description" : "Set backend status",
   "params" : {
      "action" : "maintenance",
      "mode" : "cut"
   }
}

Parametri di risposta

La risposta sarà un json con tutti i valori richiesti aggiornati. Vedere l'esempio di risposta per ulteriori informazioni.

Elimina un back-end

Elimina un back-end

Richiedi un esempio:

curl -k -X DELETE -H 'Content-Type: application/json' -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
https://<zevenet_server>:444/zapi/v3.2/zapi.cgi/farms/l4farm/backends/4

DELETE /farms/<farmname>/backends/<id>

Elimina un dato backend in un servizio di una farm L4xNAT.

id è l'identificativo univoco del backend.

Esempio di risposta:

{
   "description" : "Delete backend",
   "message" : "Backend removed",
   "success" : "true"
}

Fattorie GSLB

Il servizio Global Load Balancing, comunemente chiamato GSLB, consente di creare un servizio di bilanciamento del carico basato sull'architettura gerarchica del servizio DNS. Questo tipo di farm fornisce un DNS autorevole con algoritmi di bilanciamento del carico e rilevamento dello stato del servizio a livello di applicazione DNS.

Recupera la fattoria per nome

Recupera la fattoria per nome

Richiedi un esempio:

curl -k -X GET -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
https://<zevenet_server>:444/zapi/v3.2/zapi.cgi/farms/gslbfarm

GET /farms/<farmname>

Mostra tutte le configurazioni su una determinata fattoria.

Esempio di risposta:

{
   "description" : "List farm gslbfarm",
   "ipds" : {
      "blacklists" : [],
      "dos" : [],
      "rbl" : [
         {
            "name" : "protection_ssh",
            "status" : "up"
         }
      ]
   },
   "params" : {
      "status" : "needed restart",
      "vip" : "192.168.100.155",
      "vport" : 60
   },
   "services" : [
      {
         "algorithm" : "roundrobin",
         "backends" : [
            {
               "alias" : "localhost",
               "id" : 1,
               "ip" : "127.0.0.1",
               "port" : 53,
               "status" : "up"
            },
            {
               "alias" : "dns-server",
               "id" : 2,
               "ip" : "192.168.55.40",
               "port" : 53,
               "status" : "up"
            },
            {
               "alias" : null,
               "id" : 4,
               "ip" : "192.135.10.2",
               "port" : 53,
               "status" : "up"
            }
         ],
         "deftcpport" : 53,
         "farmguardian" : "dns-request",
         "id" : "service1"
      },
      {
         "algorithm" : "prio",
         "backends" : [
            {
               "alias" : "localhost",
               "id" : 1,
               "ip" : "127.0.0.1",
               "port" : 80,
               "status" : "up"
            },
            {
               "alias" : "localhost",
               "id" : 2,
               "ip" : "127.0.0.1",
               "port" : 80,
               "status" : "up"
            }
         ],
         "deftcpport" : 80,
         "farmguardian" : null,
         "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"
            }
         ]
      }
   ]
}

Parametri di risposta

La risposta sarà un oggetto JSON con il formato seguente.

Oggetto della fattoria:

Settore Tipologia Descrizione
IPDS Oggetto Elenco delle regole IPDS applicate a questa farm.
params Oggetto Parametri della configurazione della farm.
Servizi Oggetto[] Matrice con tutti i servizi creati in questa farm e la sua configurazione.
zone Oggetto[] Array con tutte le zone create in questa farm e la sua configurazione.

Oggetto IPDS:

Settore Tipologia Descrizione
blacklist Oggetto[] Liste nere applicate alla fattoria.
dos Oggetto[] Regole DoS applicate alla farm.
RBL Oggetto[] Regole RBL applicate alla farm.

Oggetto Blacklist, DoS e RBL:

Settore Tipologia Descrizione
Nome Corda Il nome della regola.
status Corda Stato della regola.

Oggetto parametro per le farm GSLB:

Settore Tipologia Descrizione
vip Corda IP della farm, in cui il servizio virtuale è in ascolto.
vport Numero Porto della fattoria, dove il servizio virtuale è in ascolto.
status Corda Stato di fattoria I valori di stato disponibili sono: giù, la fattoria non è in esecuzione; riavvio necessario, la farm è attiva ma è in attesa di un'azione di riavvio; critico, la fattoria è attiva e tutti i backend sono irraggiungibili; problema, la fattoria è attiva e ci sono alcuni backend irraggiungibili, ma quasi un back-end è in fase di sviluppo; up, la fattoria è su e tutti i backend stanno lavorando con successo.

Oggetto di servizio per farm GSLB:

Settore Tipologia Descrizione
backend Oggetto[] Backend definiti nel servizio.
farmguardian Corda È il nome FarmGuardian che controlla lo stato del backend. FarmGuardian sarà in esecuzione mentre la fattoria è in stato attivo. I log di FarmGuardian non sono disponibili per le farm GSLB
id Corda Nome del servizio utilizzato come identificativo univoco.
algoritmo Corda Tipo di algoritmo di bilanciamento del carico utilizzato nel servizio. Le opzioni sono: RoundRobin, che bilancia i collegamenti tra tutti i backend, o prio che invierà tutte le connessioni al primo back-end disponibile.
deftcpport Numero Controllo dello stato della porta TCP predefinito. Questa è la porta TCP del controllo dello stato che il servizio sta per verificare per determinare se il servizio di backend è attivo. Un valore vuoto è disabilitato.

Oggetto di backend per le farm GSLB:

Settore Tipologia Descrizione
alias Corda È un nick per aiutare a identificare il back-end. Alias
id Numero Identificatore univoco per il back-end nel servizio. Questo identificatore è generato dal sistema.
ip Corda IP del backend in cui è in ascolto il servizio reale.
porto Numero Porta di backend in cui è in ascolto il servizio reale.
status Corda Stato back-end. I valori possibili sono: up, la farm è in esecuzione e il back-end è pronto per ricevere connessioni; giù, la farm è in esecuzione e il servizio ha rilevato che il backend non funziona; indefinito, lo stato del backend non è stato controllato.

Oggetto zona:

Settore Tipologia Descrizione
id Numero Il nome della zona usato come identificatore unico.
defnamesv Corda Questo sarà il server dei nomi di root del punto di ingresso che sarà disponibile come record DNS di Start of Authority (SOA).
risorse Oggetto[] Risorse definito nella zona.

Oggetto risorsa:

Settore Tipologia Descrizione
id Numero Identificatore univoco per la risorsa nella zona.
rname Corda Il nome della risorsa è il nick che il servizio DNS tradurrà per i dati reali richiesti nel campo RDATA.
TTL Numero Il valore Time to Live (facoltativo) per il record corrente che è necessario per determinare il periodo di tempo in cui il nome corrente verrà memorizzato nella cache.
Digitare Corda Tipo di record DNS Le opzioni sono: NS, A, AAAA, CNAME, DYNA, MX, SRV, TXT, PTR or NAPTR). Per ulteriori informazioni, guarda dentro GSLB - Zone - Risorse .
RDATA Corda Sono i dati reali necessari per il tipo di record, il valore di input dipende dal tipo di Nome risorsa, rname e il tipo di risorsa, Digitare.

Crea una nuova fattoria

Crea una nuova fattoria

Richiedi un esempio:

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.2/zapi.cgi/farms

POST /farms

Crea una nuova farm GSLB.

Richiedi i parametri

Settore Tipologia Descrizione Obbligatorio
farmname Corda Nome dell'azienda agricola, identificativo univoco per la fattoria. vero
tuo profilo Corda Il profilo della fattoria creata. Per le fattorie GSLB lo è GSLB. vero
vip Corda IP della farm, in cui il servizio virtuale è in ascolto. vero
vport Numero Porto della fattoria, dove il servizio virtuale è in ascolto. vero

Esempio di risposta:

{
   "description" : "Creating farm 'gslbfarm'",
   "params" : {
      "farmname" : "gslbfarm",
      "interface" : "eth0",
      "profile" : "gslb",
      "vip" : "192.168.100.241",
      "vport" : 53
   }
}

Parametri di risposta

La risposta sarà un json con tutti i valori richiesti aggiornati. Vedere l'esempio di risposta per ulteriori informazioni.

Modifica una fattoria

Modifica una fattoria

Richiedi un esempio:

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://<zevenet_server>:444/zapi/v3.2/zapi.cgi/farms/gslbfarm

PUT /farms/<farmname>

Modifica la configurazione di una farm GSLB.

Richiedi i parametri

Settore Tipologia Descrizione
newfarmname Corda Il nome della nuova Fattoria. La fattoria deve essere fermata per fare questo cambiamento.
vport Numero Porto della fattoria, dove il servizio virtuale è in ascolto.
vip Corda IP della farm, in cui il servizio virtuale è in ascolto.

Esempio di risposta:

{
   "description" : "Modify farm gslbnewname",
   "params" : {
      "newfarmname" : "gslbnewname",
      "vip" : "192.168.100.155",
      "vport" : 60
   }
}

Parametri di risposta

La risposta sarà un json con tutti i valori richiesti aggiornati. Vedere l'esempio di risposta per ulteriori informazioni.

Aggiungi una regola IPDS

Aggiungi una regola IPDS

Richiedi un esempio:

curl -k -X POST -H 'Content-Type: application/json' -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
-d '{"name":"china"}' https://<zevenet_server>:444/zapi/v3.2/zapi.cgi/farms/gslbFarm/ipds/blacklists

POST /farms/<farmname>/ipds/<dos|blacklists|rbl>

Applicare una regola di blacklist, DoS o RBL alla farm.

Richiedi i parametri

Settore Tipologia Descrizione
Nome Corda Nome della regola IPDS utilizzato come identificativo univoco.

Esempio di risposta:

{
   "description" : "Apply a rule to a farm",
   "message" : "Blacklist rule china was applied successful to the farm gslbFarm.",
   "success" : "true"
}

Rimuovi una regola IPDS

Rimuovi una regola IPDS

Richiedi un esempio:

curl -k -X DELETE -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
https://<zevenet_server>:444/zapi/v3.2/zapi.cgi/farms/gslbFarm/ipds/blacklists/china

DELETE /farms/<farmname>/ipds/<dos|blacklists|rbl>/<name>

Rimuovi una lista nera, una regola DoS o RBL da una determinata fattoria usando il suo idenficator Nome.

Esempio di risposta:

{
   "description" : "Delete a rule form a farm",
   "message" : "Blacklist rule china was removed successful from the farm gslbFarm.",
   "success" : "true"
}

GSLB - Servizi

Un servizio GSLB rappresenta un gruppo di server reali e un algoritmo associato da utilizzare per loro. Per creare un nuovo servizio, devi impostare un nome di identificazione valido e l'algoritmo desiderato da utilizzare.

I servizi disponibili sono:

Round Robin: equa condivisione. Un uguale bilanciamento del traffico verso tutti i real server attivi. Per ogni connessione in entrata, il bilanciatore assegna il prossimo round robin real server per consegnare la richiesta.

Priorità: connessioni sempre al massimo disponibile. Bilancia tutte le connessioni sullo stesso server con la priorità più alta. Se questo server non funziona, le connessioni passano al server successivo più alto. Con questo algoritmo è possibile creare un servizio cluster Active-Pasive con diversi server reali.

Oggetto dei servizi per le farm GSLB

Settore Tipologia Descrizione
backend Oggetto[] Backend definiti nel servizio.
farmguardian Corda È il nome FarmGuardian che controlla lo stato del backend. FarmGuardian sarà in esecuzione mentre la fattoria è in stato attivo.
id Corda Nome del servizio utilizzato come identificativo univoco.
algoritmo Corda Tipo di algoritmo di bilanciamento del carico utilizzato nel servizio. Le opzioni sono: RoundRobin, che bilancia i collegamenti tra tutti i backend, o prio che invierà tutte le connessioni al primo back-end disponibile.
deftcpport Corda Controllo dello stato della porta TCP predefinito. Questa è la porta TCP del controllo dello stato che il servizio sta per verificare per determinare se il servizio di backend è attivo. Un valore vuoto è disabilitato.

Crea un nuovo servizio

Crea un nuovo servizio

Richiedi un esempio:

curl -k -X POST -H 'Content-Type: application/json' -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
-d '{"id":"service1","algorithm":"roundrobin"}' https://<zevenet_server>:444/zapi/v3.2/zapi.cgi/farms/gslbfarm/services

POST /farms/<farmname>/services

Crea un servizio in una determinata fattoria GSLB. La farm deve essere riavviata per applicare questa modifica.

Richiedi i parametri

Settore Tipologia Descrizione Obbligatorio
id Corda Nome del servizio utilizzato come identificativo univoco. vero
algoritmo Corda Tipo di algoritmo di bilanciamento del carico utilizzato nel servizio. Le opzioni sono: RoundRobin, che bilancia i collegamenti tra tutti i backend, o prio che invierà tutte le connessioni al primo back-end disponibile. vero

Esempio di risposta:

{
   "description" : "New service service1",
   "params" : {
      "algorithm" : "roundrobin",
      "id" : "service1"
   },
   "status" : "needed restart"
}

Parametri di risposta

La risposta sarà un json con tutti i valori richiesti aggiornati. Vedere l'esempio di risposta per ulteriori informazioni.

Modifica un servizio

Modifica un servizio

Richiedi un esempio:

curl -k -X PUT -H 'Content-Type: application/json' -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
 -d '{"deftcpport":53}' https://<zevenet_server>:444/zapi/v3.2/zapi.cgi/farms/gslbfarm/services/service1

PUT /farms/<farmname>/services/<id>

Modifica i parametri di un servizio in una farm GSLB. id è l'identificatore univoco del servizio che verrà modificato.

Richiedi i parametri

Settore Tipologia Descrizione
deftcpport Numero Questa è la porta TCP del controllo dello stato che il servizio sta per verificare per determinare se il servizio di backend è attivo.

Esempio di risposta:

{
   "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"
}

Parametri di risposta

La risposta sarà un json con tutti i valori richiesti aggiornati. Vedere l'esempio di risposta per ulteriori informazioni.

Aggiungi FarmGuardian

Aggiungi FarmGuardian

Richiedi un esempio:

curl -k -X POST -H 'Content-Type: application/json' -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
-d '{"name":"dns-request"}' https://<zevenet_server>:444/zapi/v3.2/zapi.cgi/farms/gslbfarm/service/service1/fg

POST /farms/<farmname>/services/<id>/fg

Applica FarmGuardian a un servizio.

Il parametro URI è l'identificatore univoco del servizio.

Richiedi i parametri

Settore Tipologia Descrizione
Nome Corda Identificatore univoco di FarmGuardian. I FarmGuardian vengono creati e modificati nella sezione di monitoraggio. I log di FarmGuardian non sono disponibili per le farm di gslb.

Esempio di risposta:

{
   "description" : "Add the farm guardian dns-request to the service service1 in the farm gslbfarm",
   "message" : "Success, The farm guardian dns-request was added to the service service1 in the farm gslbfarm"
}

Rimuovi FarmGuardian

Rimuovi FarmGuardian

Richiedi un esempio:

curl -k -X DELETE -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
https://<zevenet_server>:444/zapi/v3.2/zapi.cgi/farms/gslbfarm/service/service1/fg/dns-request

DELETE /farms/<farmname>/fg/<name>

Rimuovere FarmGuardian da un servizio in una farm.

Esempio di risposta:

{
   "description" : "Remove the farm guardian dns-request from the service service1 in the farm gslbfarm",
   "message" : "Sucess, dns-request was removed from the service service1 in the farm gslbfarm"
}

Elimina un servizio

Elimina un servizio

Richiedi un esempio:

curl -k -X DELETE -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
https://<zevenet_server>:444/zapi/v3.2/zapi.cgi/farms/gslbfarm/services/service1

DELETE /farms/<farmname>/services/<id>

Elimina un determinato servizio di una farm GSLB. id è l'identificativo univoco del servizio che verrà eliminato.

Esempio di risposta:

{
  "description" : "Delete service service1 in farm gslbfarm",
  "message" : "The service service1 in farm gslbfarm has been deleted.",
  "success" : "true",
  "status": "needed restart"
}

GSLB - Servizi - Backend

Questa sezione gestirà l'elenco dei servizi reali associati a un servizio.

Elenca i backend

Elenca i backend

Richiedi un esempio:

curl  -k -X GET -H 'Content-Type: application/json' -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
https://<zevenet_server>:444/zapi/v3.2/zapi.cgi/farms/gslbfarm/services/service1/backends

GET /farms/<farmname>/services/<id>/backends

Ottieni l'elenco dei backend in un servizio. id è l'identificatore univoco del servizio.

Esempio di risposta:

{
   "description" : "List service backends",
   "params" : [
      {
         "alias" : "localhost",
         "id" : 1,
         "ip" : "127.0.0.1",
         "port":53,
         "status":"up"
      },
      {
         "alias" : "dns-server",
         "id" : 2,
         "ip" : "192.168.55.40",
         "port":53,
         "status":"up"
      }
   ]
}

Parametri di risposta

Questa chiamata restituisce un array di oggetti di backend con i parametri muggenti.

Settore Tipologia Descrizione
alias Corda È un nick per aiutare a identificare il back-end. Alias
id Numero Identificatore univoco per il back-end nel servizio. Questo identificatore è generato dal sistema.
ip Corda IP del back-end, in cui il vero servizio è in ascolto.
porto Numero Porta di backend in cui è in ascolto il servizio reale.
status Corda Stato back-end. I valori possibili sono: up, la farm è in esecuzione e il back-end è pronto per ricevere connessioni; giù, la farm è in esecuzione e il servizio ha rilevato che il backend non funziona; indefinito, lo stato del backend non è stato controllato.

Crea un nuovo back-end

Crea un nuovo back-end

Richiedi un esempio:

curl -k -X POST -H 'Content-Type: application/json' -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
-d '{"ip":"192.135.10.2"}'
https://<zevenet_server>:444/zapi/v3.2/zapi.cgi/farms/gslbfarm/services/service1/backends

POST /farms/<farmname>/services/<id>/backends

Crea un nuovo back-end in un dato servizio in una farm GSLB. id è l'identificatore univoco del servizio in cui verrà aggiunto il back-end.

I servizi prioritari hanno i backend 2 come massimo, l'host attivo e l'host passivo.

Richiedi i parametri

Settore Tipologia Descrizione Obbligatorio
ip Corda IP del back-end, in cui il vero servizio è in ascolto. vero

Esempio di risposta:

{
   "description" : "New service backend",
   "message" : "Added backend to service succesfully",
   "params" : {
      "id" : 4,
      "ip" : "192.135.10.2"
   },
   "status" : "needed restart"
}

Parametri di risposta

La risposta sarà un json con tutti i valori richiesti aggiornati. Vedere l'esempio di risposta per ulteriori informazioni.

Modifica un back-end

Modifica un back-end

Richiedi un esempio:

 curl -k -X PUT -H 'Content-Type: application/json' -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
  -d '{"ip":"192.168.2.30"}'
  https://<zevenet_server>:444/zapi/v3.2/zapi.cgi/farms/gslbfarm/services/service1/backends/1

PUT /farms/<farmname>/services/<id>/backends/<id>

Modifica i parametri di un back-end in un servizio di una farm GSLB.

Nota nel PUT sopra questo il primo id è l'identificatore univoco del servizio e il prossimo id è l'identificativo univoco del backend.

Richiedi i parametri

Settore Tipologia Descrizione
ip Corda IP del back-end, in cui il vero servizio è in ascolto.

Esempio di risposta:

{
   "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"
}

Parametri di risposta

La risposta sarà un json con tutti i valori richiesti aggiornati. Vedere l'esempio di risposta per ulteriori informazioni.

Elimina un back-end

Elimina un back-end

Richiedi un esempio:

curl -k -X DELETE -H 'Content-Type: application/json' -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
https://<zevenet_server>:444/zapi/v3.2/zapi.cgi/farms/gslbfarm/services/service1/backends/3

DELETE /farms/<farmname>/services/<servicename>/backends/<id>

Elimina un dato back-end in un servizio di una farm GSLB

Esempio di risposta:

{
   "description" : "Delete service backend",
   "message" : "Backend removed",
   "success" : "true"
}

GSLB - Zone

La sezione della zona GSLB descriverà il nome del dominio DNS, i sottodomini, gli alias e così via, che saranno necessari per generare una zona DNS completa con record di bilanciamento del carico aggiuntivi che utilizzano i servizi definiti.

Crea zona

Crea zona

Richiedi un esempio:

curl  -k -X POST -H 'Content-Type: application/json' -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
-d '{"id":"global.conf"}'
https://<zevenet_server>:444/zapi/v3.2/zapi.cgi/farms/gslbfarm/zones

POST /farms/<farmname>/zones

Crea una zona DNS.

Richiedi parametri

Questa chiamata restituisce un array di oggetti di backend con i parametri muggenti.

Settore Tipologia Descrizione Obbligatorio
id Numero Il nome della zona usato come identificatore unico. vero

Esempio di risposta:

{
   "description" : "New zone global.com",
   "params" : {
      "id" : "global.com"
   }
}

Parametri di risposta

La risposta sarà un json con tutti i valori richiesti aggiornati. Vedere l'esempio di risposta per ulteriori informazioni.

Modifica una zona

Modifica una zona

Richiedi un esempio:

curl  -k -X PUT -H 'Content-Type: application/json' -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
-d '{"defnamesv":"ns3"}'
https://<zevenet_server>:444/zapi/v3.2/zapi.cgi/farms/gslbfarm/zones/global.com

PUT /farms/<farmname>/zones/<id>

Modifica i parametri di una zona. id è l'identificativo univoco della zona che verrà modificato.

Richiedi parametri

Questa chiamata restituisce un array di oggetti di backend con i parametri muggenti.

Settore Tipologia Descrizione
defnamesv Corda Questo sarà il server dei nomi di root del punto di ingresso che sarà disponibile come record DNS di Start of Authority (SOA).

Esempio di risposta:

{
   "description" : "Modify zone global.com in farm gslbfarm",
   "params" : {
      "defnamesv" : "ns3"
   }
}

Parametri di risposta

La risposta sarà un json con tutti i valori richiesti aggiornati. Vedere l'esempio di risposta per ulteriori informazioni.

Elimina una zona

Elimina una zona

Richiedi un esempio:

curl -k -X DELETE -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
https://<zevenet_server>:444/zapi/v3.2/zapi.cgi/farms/gslbfarm/zones/dom.com

DELETE /farms/<farmname>/zones/<id>

Elimina una determinata zona di una farm GSLB.

Esempio di risposta:

{
   "description" : "Delete zone dom.com in farm gslbfarm.",
   "message" : "The zone dom.com in farm gslbfarm has been deleted.",
   "success" : "true"
}

GSLB - Zone - Risorse

Le risorse definite come il servizio DNS risolve le richieste. Le possibili risorse DNS nei bilanci di carico di Zevenet sono:

  1. NS. Nome Record del tipo server, delega una zona DNS per utilizzare i server dei nomi autorevoli forniti.
  2. A. Indirizzo tipo record, restituisce un indirizzo IPv4 di un host.
  3. CNAME. Record di tipo nome canonico, rappresenta un alias di un nome specifico.
  4. DYNA. Record di tipo di indirizzo dinamico, restituisce un indirizzo dinamico specificato da un servizio GSLB già creato all'interno della configurazione della farm in base all'algoritmo selezionato per tale servizio.
  5. AAAA. Indirizzo tipo record, restituisce un indirizzo IPv6 di un host.
  6. MX. Record di tipo Mail exchange, associa un nome di dominio a un elenco di agenti di trasferimento messaggi per quel dominio.
  7. SRV. Record del tipo localizzatore di servizi, record di posizione del servizio generalizzato, utilizzato per i nuovi protocolli invece di creare record specifici del protocollo come MX.
  8. TXT. Record di testo, è usato per memorizzare qualsiasi informazione testuale che può essere afferrata quando necessario. Solitamente i record TXT vengono utilizzati per contenere i dati SPF e verificare la proprietà del dominio.
  9. PTR. Record puntatore, puntatore a un nome canonico. A differenza di CNAME, l'elaborazione DNS si interrompe e viene restituito solo il nome. L'uso più comune è l'implementazione di ricerche DNS inverse.
  10. NAPTR. Puntatore dell'autorità di denominazione, consente la riscrittura basata su espressioni regolari di nomi di dominio che possono essere utilizzati come URI, ulteriori nomi di domini per le ricerche, ecc.

Elenca le risorse

Elenca le risorse

Richiedi un esempio:

curl  -k -X GET -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
https://<zevenet_server>:444/zapi/v3.2/zapi.cgi/farms/gslbfarm/zones/global.com/resources

GET /farms/<farmname>/zones/<id>/resources

Ottieni l'elenco delle risorse in una zona. id è l'identificativo univoco della zona.

Esempio di risposta:

{
   "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"
      }
   ]
}

Parametri di risposta

Questa chiamata restituisce un array di oggetti risorsa con i parametri muggenti.

Settore Tipologia Descrizione
id Numero Identificatore univoco per la risorsa nella zona.
rname Corda Il nome della risorsa è il nick che il servizio DNS tradurrà per i dati reali richiesti nel campo RDATA.
TTL Numero Il valore Time to Live (facoltativo) per il record corrente che è necessario per determinare il periodo di tempo in cui il nome corrente verrà memorizzato nella cache.
Digitare Corda Tipo di record DNS Le opzioni sono: NS, A, AAAA, CNAME, DYNA, MX, SRV, TXT, PTR or NAPTR). Per ulteriori informazioni, guarda dentro GSLB - Zone - Risorse .
RDATA Corda Sono i dati reali necessari per il tipo di record, il valore di input dipende dal tipo di Nome risorsa, rname e il tipo di risorsa, Digitare.

Crea una nuova risorsa

Crea una nuova risorsa

Richiedi un esempio:

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://<zevenet_server>:444/zapi/v3.2/zapi.cgi/farms/gslbfarm/zones/global.com/resources

POST /farms/<farmname>/zones/<id>/resources

Crea una nuova risorsa in una determinata zona in una farm GSLB. id è l'identificativo univoco della zona che verrà modificato dove verrà aggiunta la risorsa.

Richiedi i parametri

Settore Tipologia Descrizione Obbligatorio
rname Corda Il nome della risorsa è il nick che il servizio DNS tradurrà per i dati reali richiesti nel campo RDATA. vero
TTL Numero Il valore Time to Live per il record corrente. È il numero massimo di dispositivi router che la richiesta può fino alla morte. È utile che il pacchetto non venga inserito in un ciclo di rete.
Digitare Corda Tipo di record DNS Le opzioni sono: NS, A, AAAA, CNAME, DYNA, MX, SRV, TXT, PTR or NAPTR). Per ulteriori informazioni, guarda dentro GSLB - Zone - Risorse . vero
RDATA Corda Sono i dati reali necessari per il tipo di record, il valore di input dipende dal tipo di Nome risorsa, rname e il tipo di risorsa, Digitare. Se DYNA è selezionato in Digitare allora il valore rdata deve essere uno dei configurati Servizi in questa zona vero

Esempio di risposta:

{
   "description" : "New zone resource",
   "message" : "Resource added",
   "params" : {
      "rdata" : "192.168.0.9",
      "rname" : "resource2",
      "ttl" : 10,
      "type" : "A",
      "zone" : "global.com"
   }
}

Parametri di risposta

La risposta sarà un json con tutti i valori richiesti aggiornati. Vedere l'esempio di risposta per ulteriori informazioni.

Modifica una risorsa

Modifica una risorsa

Richiedi un esempio:

 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://<zevenet_server>:444/zapi/v3.2/zapi.cgi/farms/gslbfarm/zones/global.com/resources/1

PUT /farms/<farmname>/zones/<id>/resources/<id>

Modifica i parametri di un resouce in una zona di una farm GSLB.

Nome id è l'identificativo univoco della zona, successivamente id è l'identificativo univoco della risorsa.

Richiedi i parametri

Settore Tipologia Descrizione
rname Corda Il nome della risorsa è il nick che il servizio DNS tradurrà per i dati reali richiesti nel campo RDATA.
TTL Numero Il valore Time to Live (facoltativo) per il record corrente che è necessario per determinare il periodo di tempo in cui il nome corrente verrà memorizzato nella cache.
Digitare Corda Tipo di record DNS Le opzioni sono: NS, A, AAAA, CNAME, DYNA, MX, SRV, TXT, PTR or NAPTR). Per ulteriori informazioni, guarda dentro GSLB - Zone - Risorse .
RDATA Corda Sono i dati reali necessari per il tipo di record, il valore di input dipende dal tipo di Nome risorsa, rname e il tipo di risorsa, Digitare. Se Digitare è caricato con valore DYNA poi RDATA deve essere caricato con un disponibile Servizio Assistenza Nome

Esempio di risposta:

{
   "description" : "Modify zone resource",
   "message" : "Resource modified",
   "params" : {
      "rdata" : "192.168.200.30",
      "rname" : "resource2",
      "ttl" : null,
      "type" : "A"
   },
   "success" : "true"
}

Parametri di risposta

La risposta sarà un json con tutti i valori richiesti aggiornati. Vedere l'esempio di risposta per ulteriori informazioni.

Elimina una risorsa

Elimina una risorsa

Richiedi un esempio:

curl -k -X DELETE -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
https://<zevenet_server>:444/zapi/v3.2/zapi.cgi/farms/gslbfarm/zones/global.com/resources/3

DELETE /farms/<farmname>/zones/<id>/resources/<id>

Elimina un resouce specificato in una zona di una farm GSLB

Si noti che in DELETE URI sopra il primo id è l'identificativo univoco della zona e il prossimo id è l'identificativo univoco della risorsa.

Esempio di risposta:

{
   "description" : "Delete zone resource",
   "message" : "Resource removed",
   "success" : "true"
}

Datalink Farms

Il profilo della farm del collegamento dati consente di creare una farm basata su percorsi in cui i backend sono router o gateway in uplink. Questo tipo di profilo di farm è pronto per condividere diversi accessi WAN del router uplink utilizzando il bilanciamento del carico come multiplexor del canale di uplink (ingresso 1 e diverse uscite di linea router). Pertanto, le farm di datalink potrebbero essere utilizzate come collegamenti di comunicazione disponibili elevati e potrebbero inoltre essere utilizzate come aumento della larghezza di banda unendo la quantità di larghezza di banda tra i collegamenti di back-end dei router.

Recupera la fattoria per nome

Recupera la fattoria per nome

Richiedi un esempio:

curl -k -X GET -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
https://<zevenet_server>:444/zapi/v3.2/zapi.cgi/farms/dlink

GET /farms/<farmname>

Mostra tutte le configurazioni di una fattoria.

Esempio di risposta:

{
   "backends" : [
      {
         "alias" : "main-gateway",
         "id" : 0,
         "interface" : "eth0",
         "ip" : "192.168.100.10",
         "priority" : 2,
         "status" : "undefined",
         "weight" : 2
      },
      {
         "alias" : "secondary-gateway",
         "id" : 1,
         "interface" : "eth0",
         "ip" : "192.168.100.11",
         "priority" : 2,
         "status" : "undefined",
         "weight" : 1
      }
   ],
   "description" : "List farm dlink",
   "ipds" : {
      "blacklists" : []
   },
   "params" : {
      "algorithm" : "weight",
      "status" : "down",
      "vip" : "192.168.100.199"
   }
}

Parametri di risposta

La risposta sarà un oggetto JSON con il formato seguente.

Oggetto della fattoria:

Settore Tipologia Descrizione
IPDS Oggetto Elenco delle regole IPDS applicate a questa farm.
params Oggetto Parametri della configurazione della farm.
backend Oggetto[] Real server creati in questa fattoria e la sua configurazione.

Oggetto IPDS:

Settore Tipologia Descrizione
blacklist Stringa[] Liste nere applicate alla fattoria.

Oggetto Parametri per le farm di collegamento dati:

Settore Tipologia Descrizione
algoritmo Corda Tipo di algoritmo di bilanciamento del carico utilizzato nella farm. Le opzioni sono: peso, il bilanciatore distribuisce tra tutti i backend disponibili in base a più backend di addebito con peso maggiorato o prio, che invia tutte le connessioni al back-end con il valore minore di priorità.
status Corda Stato di fattoria I valori di stato disponibili sono: giù, la fattoria non è in esecuzione; riavvio necessario, la farm è attiva ma è in attesa di un'azione di riavvio; critico, la fattoria è attiva e tutti i backend sono irraggiungibili; problema, la fattoria è attiva e ci sono alcuni backend irraggiungibili, ma quasi un back-end è in fase di sviluppo; up, la fattoria è su e tutti i backend stanno lavorando con successo.
vip Corda IP della farm, in cui il servizio virtuale è in ascolto.

Oggetto di backend per le farm di collegamento dati:

Settore Tipologia Descrizione
alias Corda È un nick per aiutare a identificare il back-end. Alias
id Numero Identificatore univoco per il back-end nella farm.
ip Corda IP del back-end, in cui il vero servizio è in ascolto.
interfaccia Corda È l'interfaccia di rete locale a cui è connesso il back-end.
priorità Numero È il valore di priorità per il server reale corrente. Sarà usato quando algoritmo il campo è configurato come prio e la priorità più bassa avrà la preferenza
status Corda Stato back-end. I valori possibili sono: up, la farm è in esecuzione e il back-end è pronto per ricevere connessioni; giù, la farm è in esecuzione e il servizio ha rilevato che il backend non funziona; indefinito, lo stato del backend non è stato controllato.
peso Numero È il valore del peso per il server reale corrente. Verrà utilizzato quando algoritmo il campo è configurato come peso.

Crea una nuova fattoria

Crea una nuova fattoria

Richiedi un esempio:

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.2/zapi.cgi/farms

POST /farms

Creare una nuova farm di datalink.

Richiedi i parametri

Settore Tipologia Descrizione Obbligatorio
farmname Corda Nome dell'azienda, identificatore univoco. vero
tuo profilo Corda Il profilo della fattoria creata. Per le farm di datalink è datalink vero
vip Corda IP della farm, in cui il servizio virtuale è in ascolto. vero

Esempio di risposta:

{
   "description" : "Creating farm 'dlink'",
   "params" : {
      "farmname" : "dlink",
      "interface" : "eth0",
      "profile" : "datalink",
      "vip" : "192.168.100.241"
   }
}

Parametri di risposta

La risposta sarà un json con tutti i valori richiesti aggiornati. Vedere l'esempio di risposta per ulteriori informazioni.

Modifica una fattoria

Modifica una fattoria

Richiedi un esempio:

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://<zevenet_server>:444/zapi/v3.2/zapi.cgi/farms/dlink

PUT /farms/<farmname>

Modifica la configurazione di una farm di datalink.

Richiedi i parametri

Settore Tipologia Descrizione
newfarmname Corda Il nuovo nome della fattoria. La fattoria deve essere fermata.
algoritmo Corda Tipo di algoritmo di bilanciamento del carico utilizzato nella farm. Le opzioni sono: peso, il bilanciatore distribuisce tra tutti i backend disponibili in base a più backend di addebito con peso maggiorato o prio, che invia tutte le connessioni al back-end con il valore minore di priorità.
vip Corda IP della farm, in cui il servizio virtuale è in ascolto.

Esempio di risposta:

{
   "description" : "Modify farm dlink",
   "params" : {
      "algorithm" : "weight",
      "vip" : "192.168.100.199",
      "newfarmname" : "dlink2"
   }
}

Parametri di risposta

La risposta sarà un json con tutti i valori richiesti aggiornati. Vedere l'esempio di risposta per ulteriori informazioni.

Aggiungi una regola IPDS

Aggiungi una regola IPDS

Richiedi un esempio:

curl -k -X POST -H 'Content-Type: application/json' -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
-d '{"name":"china"}' https://<zevenet_server>:444/zapi/v3.2/zapi.cgi/farms/dlink2/ipds/blacklists

POST /farms/<farmname>/ipds/<blacklists>

Applicare una regola di lista nera alla farm. Un profilo datalink accetta solo le regole della lista nera.

Richiedi i parametri

Settore Tipologia Descrizione
Nome Corda Nome della regola IPDS utilizzato come identificativo univoco.

Esempio di risposta:

{
   "description" : "Apply a rule to a farm",
   "message" : "Blacklist rule china was applied successful to the farm dlink2.",
   "success" : "true"
}

Rimuovi una regola IPDS

Rimuovi una regola IPDS

Richiedi un esempio:

curl -k -X DELETE -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
https://<zevenet_server>:444/zapi/v3.2/zapi.cgi/farms/dlink2/ipds/blacklists/china

DELETE /farms/<farmname>/ipds/<blacklists>/<name>

Rimuovi una lista nera da una determinata fattoria usando il suo idenficator Nome.

Esempio di risposta:

{
   "description" : "Delete a rule form a farm",
   "message" : "Blacklist rule china was removed successful from the farm dlink2.",
   "success" : "true"
}

Aggiungi una regola IPDS

Aggiungi una regola IPDS

Richiedi un esempio:

curl -k -X POST -H 'Content-Type: application/json' -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
-d '{"name":"china"}' https://<zevenet_server>:444/zapi/v3.2/zapi.cgi/farms/dlink2/ipds/blacklists

POST /farms/<farmname>/ipds/<blacklists>

Applicare una regola blacklist a una farm.

Richiedi i parametri

Settore Tipologia Descrizione
Nome Corda Nome della regola della blacklist utilizzato come identificativo univoco.

Esempio di risposta:

{
   "description" : "Apply a rule to a farm",
   "message" : "Blacklist rule china was applied successful to the farm dlink2.",
   "success" : "true"
}

Rimuovi una regola IPDS

Rimuovi una regola IPDS

Richiedi un esempio:

curl -k -X DELETE -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
https://<zevenet_server>:444/zapi/v3.2/zapi.cgi/farms/dlink2/ipds/blacklists/china

DELETE /farms/<farmname>/ipds/<blacklists>/<name>

Rimuovere una regola blacklist del modulo IPDS da una determinata farm usando il suo idenficator Nome.

Esempio di risposta:

{
   "description" : "Delete a rule from a farm",
   "message" : "Blacklist rule china was removed successful from the farm dlink2.",
   "success" : "true"
}

Datalink - Backends

I back-end nelle farm di datalink sono i gateway attraverso il routing del servizio. Il servizio sarà multiplexor tra questi gateway, e alcuni di essi non sono disponibili, il servizio utilizza l'altro (s).

Elenca i backend

Elenca i backend

Richiedi un esempio:

curl  -k -X GET -H 'Content-Type: application/json' -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
https://<zevenet_server>:444/zapi/v3.2/zapi.cgi/farms/dlink/backends

GET /farms/<farmname>/backends

Ottieni l'elenco dei backend in un servizio.

Esempio di risposta:

[
   {
      "alias" : "main-gateway",
      "id" : 6,
      "interface" : "eth0",
      "ip" : "192.168.100.10",
      "priority" : 2,
      "status" : "undefined",
      "weight" : 2
   },
   {
      "alias" : "secondary-gateway",
      "id" : 7,
      "interface" : "eth0",
      "ip" : "192.168.100.11",
      "priority" : 2,
      "status" : "undefined",
      "weight" : 1
   }
]

Parametri di risposta

Questa chiamata restituisce un array di oggetti di backend con i parametri muggenti.

Settore Tipologia Descrizione
alias Corda È un nick per aiutare a identificare il back-end. Alias
id Numero Identificatore univoco per il back-end nella farm. Questo identificatore è generato dal sistema.
interfaccia Corda È l'interfaccia di rete locale a cui è connesso il back-end.
ip Corda IP del back-end, in cui il vero servizio è in ascolto.
priorità Numero È il valore prioritario per il back-end corrente. Sarà usato quando algoritmo il campo è configurato come prio e la priorità più bassa avrà la preferenza.
status Corda Stato back-end. I valori possibili sono: up, la farm è in esecuzione e il back-end è pronto per ricevere connessioni; giù, la farm è in esecuzione e il servizio ha rilevato che il backend non funziona; indefinito, lo stato del backend non è stato controllato.
peso Numero È il valore del peso per il backend corrente. Verrà utilizzato quando algoritmo il campo è configurato come peso.

Crea un nuovo back-end

Crea un nuovo back-end

Richiedi un esempio:

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://<zevenet_server>:444/zapi/v3.2/zapi.cgi/farms/dlink/backends

POST /farms/<farmname>/backends

Creare un nuovo back-end in una data farm di datalink.

Richiedi i parametri

Settore Tipologia Descrizione Obbligatorio
ip Corda IP del back-end, in cui il vero servizio è in ascolto. vero
interfaccia Corda È l'interfaccia di rete locale a cui è connesso il back-end. vero
priorità Numero È il valore di priorità per il server reale corrente. Verrà utilizzato quando algoritmo il campo è configurato come prio e la priorità più bassa avrà la preferenza. Il valore predefinito è 1.
peso Numero È il valore del peso per il backend corrente. Verrà utilizzato quando algoritmo il campo è configurato come peso. Il valore predefinito è 1.

Esempio di risposta:

{
   "description" : "New farm backend",
   "message" : "Backend added",
   "params" : {
      "id" : 6,
      "interface" : "eth0",
      "ip" : "192.168.100.10",
      "priority" : 2,
      "weight" : 2
   }
}

Parametri di risposta

La risposta sarà un json con tutti i valori richiesti aggiornati. Vedere l'esempio di risposta per ulteriori informazioni.

Modifica un back-end

Modifica un back-end

Richiedi un esempio:

 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,"priority":1}'
  https://<zevenet_server>:444/zapi/v3.2/zapi.cgi/farms/datalink/backends/2

PUT /farms/<farmname>/backends/<id>

Modifica i parametri di un back-end in un servizio di una farm di collegamento dati. id è l'identificativo univoco del backend.

Richiedi i parametri

Settore Tipologia Descrizione
ip Corda IP del back-end, in cui il vero servizio è in ascolto.
interfaccia Corda È l'interfaccia di rete locale a cui è connesso il back-end.
priorità Numero È la priorità del backend per rispondere a una determinata richiesta.
peso Numero È il valore del peso per il backend corrente.

Esempio di risposta:

{
   "description" : "Modify backend",
   "message" : "Backend modified",
   "params" : {
      "interface" : "eth0",
      "ip" : "192.168.102.50",
      "priority" : 1,
      "weight" : 1
   }
}

Parametri di risposta

La risposta sarà un json con tutti i valori richiesti aggiornati. Vedere l'esempio di risposta per ulteriori informazioni.

Elimina un back-end

Elimina un back-end

Richiedi un esempio:

curl -k -X DELETE -H 'Content-Type: application/json' -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
https://<zevenet_server>:444/zapi/v3.2/zapi.cgi/farms/dlink/backends/4

DELETE /farms/<farmname>/backends/<id>

Elimina un dato backend in un servizio di una farm di collegamento dati. id è l'identificativo univoco del backend.

Esempio di risposta:

{
   "description" : "Delete backend",
   "message" : "Backend removed",
   "success" : "true"
}

Network NetPoulSafe

Zevenet può funzionare con diversi tipi di interfacce di rete.

In questa sezione puoi elencare, creare, configurare, eliminare e impostare un'azione in NIC, VLAN, interfacce virtuali e di bonding.

nic: o la scheda di interfaccia di rete, è un componente hardware del computer e questo tipo di interfaccia è la base per il seguente tipo di interfacce che possono essere definite e gestite in Zevenet.

VLAN: o la lan-card virtuale è l'interfaccia gentile o di rete che fornisce servizi di segmentazione della rete. Più di un vlan può essere creato attraverso un'interfaccia nic.

bonding: Chiamati anche da altri fornitori come interfacce trunk, questo tipo di nic può essere creato con più di un'interfaccia nic. Zevenet supporta 7 diversi tipi di interfacce di collegamento.

virtuale: Questo tipo di interfaccia può essere creato su qualsiasi tipo di interfaccia sopra descritta. Questo tipo di interfaccia deve essere utilizzato per Farms ed è necessario che l'interfaccia virtuale sia definita nella stessa subnet di quella principale.

Elenca tutte le interfacce

Elenca tutte le interfacce

Richiedi un esempio:

curl -k -X GET -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
https://<zevenet_server>:444/zapi/v3.2/zapi.cgi/interfaces/nic

GET /interfaces

Ottieni un elenco di interfacce nel sistema con la loro configurazione.

Esempio di risposta:

{
   "description" : "List interfaces",
   "interfaces" : [
      {
         "alias" : null,
         "gateway" : "",
         "ip" : "",
         "mac" : "66:eb:31:0e:07:71",
         "name" : "bond2",
         "netmask" : "",
         "status" : "down",
         "type" : "bond"
      },
      {
         "alias" : null,
         "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"
      },
      {
         "alias" : null,
         "gateway" : "192.168.100.5",
         "has_vlan" : "true",
         "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"
      },
      {
         "alias" : null,
         "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"
      },
      {
         "alias" : null,
         "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"
      },
      {
         "alias" : "gestion",
         "gateway" : "192.168.100.5",
         "has_vlan" : "false",
         "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"
      },
      {
         "alias" : null,
         "gateway" : "",
         "has_vlan" : "false",
         "ip" : "",
         "mac" : "66:eb:31:0e:07:71",
         "name" : "eth2",
         "netmask" : "",
         "status" : "up",
         "type" : "nic",
         "is_slave" : "true"
      },
      {
         "alias" : null,
         "gateway" : "",
         "has_vlan" : "false",
         "ip" : "",
         "mac" : "a2:6d:80:29:87:c6",
         "name" : "eth3",
         "netmask" : "",
         "status" : "up",
         "type" : "nic",
         "is_slave" : "true"
      }
   ]
}

Parametri di risposta

La risposta sarà un oggetto JSON con una matrice di oggetti di interfaccia.

Oggetto di interfaccia:

Settore Tipologia Descrizione
alias Corda È un nick per aiutare a identificare l'interfaccia. Alias
ip Corda IP dell'interfaccia. L'IP deve trovarsi nello stesso segmento di rete rispetto all'interfaccia genitore nell'interfaccia virtuale.
has_vlan Corda vero, l'interfaccia è padre di un'interfaccia VLAN; o falso, l'interfaccia non ha alcuna interfaccia VLAN che ne aggiunga. Questo campo è solo per le interfacce NIC.
maschera di rete Corda Maschera di rete dell'interfaccia. Questo valore non può essere modificato nelle interfacce virtuali, è ereditato dall'input genitore.
porta Corda Gateway dell'interfaccia. Questo valore non può essere modificato nelle interfacce virtuali, è ereditato dall'input genitore.
Mac Corda MAC dell'interfaccia. Questo valore è ereditato dal primo slave NIC nelle interfacce di collegamento. Nelle interfacce virtuali e VLAN è ereditata dall'interfaccia genitore.
Nome Corda Nome dell'interfaccia. Viene utilizzato come identificatore univoco.
status Corda I valori possono essere up, l'interfaccia può ricevere pacchetti; giù, l'interfaccia non può ricevere pacchetti.
Digitare Corda I diversi tipi di interfacce sono: nic, VLAN, virtuale or legame.
is_slave Corda Disponibile solo nelle interfacce NIC, vero, l'interfaccia fa parte di un'interfaccia di collegamento, falso l'interfaccia non fa parte di un'interfaccia di collegamento.

Recupera il gateway predefinito

Recupera il gateway predefinito

Richiedi un esempio:

curl -k -X GET -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
https://<zevenet_server>:444/zapi/v3.2/zapi.cgi/interfaces/gateway

GET /interfaces/gateway

Il gateway predefinito è il nodo che invia tutto il traffico di destinazione che non è raggiungibile localmente da alcuna interfaccia nel servizio di bilanciamento del carico.

Ottieni i parametri dell'interfaccia gateway predefinita.

Esempio di risposta:

{
   "description" : "Default gateway",
   "params" : {
      "address" : "192.168.100.5",
      "interface" : "eth0"
   }
}

Parametri di risposta

Settore Tipologia Descrizione
indirizzo Corda È l'IP del gateway.
interfaccia Corda Nome dell'interfaccia per il gateway.

Modifica il gateway predefinito

Modifica il gateway predefinito

Richiedi un esempio:

curl -k -X PUT -H 'Content-Type: application/json' -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
-d '{"interface":"eth0","address":"192.168.100.5"}'
https://<zevenet_server>:444/zapi/v3.2/zapi.cgi/interfaces

PUT /interfaces/gateway

Modifica la configurazione dell'interfaccia gateway.

Esempio di risposta:

{
   "description" : "Modify default gateway",
   "message" : "The default gateway has been changed successfully",
   "success" : "true"
}

Richiedi i parametri

Settore Tipologia Descrizione
indirizzo Corda È l'IP del gateway.
interfaccia Corda Nome dell'interfaccia per il gateway.

Elimina la configurazione del gateway

DELETE /interfaces/gateway

Elimina la configurazione della configurazione del gateway predefinito.

avvertimento: se il gateway è disconfigurato, Zevenet non sarà raggiungibile da un segmento di rete esterno.

Elimina la configurazione del gateway

Richiedi un esempio:

curl -k -X DELETE -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
https://<zevenet_server>:444/zapi/v3.2/zapi.cgi/interfaces/gateway

Messaggio di risposta

Se il gateway è disconfigurato dallo stesso segmento di rete, verrà visualizzato questo messaggio, altrimenti la connessione perderà.

Esempio di risposta:

{
   "description" : "Remove default gateway",
   "message" : "The default gateway has been deleted successfully",
   "params" : {
      "address" : null,
      "interface" : null
   }
}

Rete - Interfacce NIC

Le interfacce NIC sono le interfacce fisiche connesse al bilanciamento del carico Zevenet.

Il sistema riconosce automaticamente le nuove interfacce una volta connessi.

Utilizzando le interfacce NIC come genitori, è possibile creare un altro tipo di interfacce con caratteristiche diverse. Le interfacce disponibili sono: VLAN,virtuale che collaborano con noi, attingono direttamente dalla storia e dalla tradizione veneziana per poi bonding.

Elenca le interfacce NIC

GET /interfaces/nic

Ottieni tutti i parametri delle interfacce NIC.

Elenca le interfacce NIC

Richiedi un esempio:

curl -k -X GET -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
https://<zevenet_server>:444/zapi/v3.2/zapi.cgi/interfaces/nic

Esempio di risposta:

{
   "description" : "List NIC interfaces",
   "interfaces" : [
      {
         "alias" : null,
         "gateway" : "192.168.100.5",
         "has_vlan" : "true",
         "ip" : "192.168.100.241",
         "is_slave" : "false",
         "mac" : "c2:56:f6:54:ff:a0",
         "name" : "eth0",
         "netmask" : "255.255.255.0",
         "status" : "up"
      },
      {
         "alias" : "gestion",
         "gateway" : "192.168.100.5",
         "has_vlan" : "false",
         "ip" : "192.168.100.102",
         "is_slave" : "false",
         "mac" : "62:30:43:36:29:ac",
         "name" : "eth1",
         "netmask" : "255.255.255.0",
         "status" : "up"
      },
      {
         "alias" : null,
         "gateway" : "",
         "has_vlan" : "false",
         "ip" : "",
         "is_slave" : "false",
         "mac" : "a2:6d:80:29:87:c6",
         "name" : "eth3",
         "netmask" : "",
         "status" : "down"
      }
   ]
}

Parametri di risposta

La risposta sarà un oggetto JSON con una matrice di oggetti di interfaccia NIC.

Oggetto interfaccia NIC:

Settore Tipologia Descrizione
alias Corda È un nick per aiutare a identificare l'interfaccia. Alias
ip Corda IP dell'interfaccia.
has_vlan Corda vero, l'interfaccia è padre di un'interfaccia VLAN; o falso, l'interfaccia non ha alcuna interfaccia VLAN che ne aggiunga.
maschera di rete Corda Definire il segmento di rete in cui funziona l'interfaccia.
porta Corda IP utilizzato per inviare pacchetti a un segmento di rete diverso.
Mac Corda Identificatore univoco del livello di collegamento. È immodificabile.
Nome Corda Nome dell'interfaccia. Viene utilizzato come identificatore univoco dell'interfaccia.
status Corda I valori possono essere up, l'interfaccia può ricevere pacchetti; giù, l'interfaccia non può ricevere pacchetti.
is_slave Corda vero l'interfaccia fa parte di un'interfaccia di legame, falso l'interfaccia non fa parte di un'interfaccia di collegamento.

Recupera interfaccia NIC

Recupera interfaccia NIC

Richiedi un esempio:

curl -k -X GET -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
https://<zevenet_server>:444/zapi/v3.2/zapi.cgi/interfaces/nic/eth1

GET /interfaces/nic/<name>

Ottieni tutti i parametri di un'interfaccia NIC. Nome è l'identificativo univoco dell'interfaccia.

Esempio di risposta:

{
   "description" : "Show NIC interface",
   "interface" : {
      "alias" : "gestion",
      "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"
   }
}

Parametri di risposta

Settore Tipologia Descrizione
alias Corda È un nick per aiutare a identificare l'interfaccia. Alias
ip Corda IP dell'interfaccia.
maschera di rete Corda Definire il segmento di rete in cui funziona l'interfaccia.
porta Corda IP utilizzato per inviare pacchetti a un segmento di rete diverso.
Mac Corda Identificatore univoco del livello di collegamento. È immodificabile.
Nome Corda Nome dell'interfaccia. Viene utilizzato come identificatore univoco dell'interfaccia.
status Corda I valori possono essere up, l'interfaccia può ricevere pacchetti; giù, l'interfaccia non può ricevere pacchetti.
Digitare Corda I diversi tipi di interfacce sono: nic, VLAN, virtuale or legame. Ciascuno è definito nel loro sottomenu di rete.
is_slave Corda vero l'interfaccia fa parte di un'interfaccia di legame, falso l'interfaccia non fa parte di un'interfaccia di collegamento.

Modifica l'interfaccia NIC

Modifica l'interfaccia NIC

Richiedi un esempio:

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://<zevenet_server>:444/zapi/v3.2/zapi.cgi/interfaces/nic/eth1

PUT /interfaces/nic/<name>

Modifica i parametri di un'interfaccia NIC. Nome è l'identificativo univoco dell'interfaccia.

Richiedi i parametri

Settore Tipologia Descrizione
ip Corda IP dell'interfaccia.
maschera di rete Corda Definire il segmento di rete in cui funziona l'interfaccia.
porta Corda IP utilizzato per inviare pacchetti di un segmento di rete diverso.
forza Corda Se una fattoria utilizza l'interfaccia, l'interfaccia non potrà essere modificata. Quindi, se questo parametro viene inviato con il valore vero, l'interfaccia sarà costretta a prendere la nuova configurazione e tutte le farm stanno usando l'interfaccia verrà riavviata.

Esempio di risposta:

{
   "description" : "Configure nic interface",
   "params" : {
      "gateway" : "192.168.100.5",
      "ip" : "192.168.100.102",
      "netmask" : "255.255.255.0",
      "force" : "true"
   }
}

Parametri di risposta

La risposta sarà un json con tutti i valori richiesti aggiornati. Vedere l'esempio di risposta per ulteriori informazioni.

Elimina la configurazione NIC

Elimina la configurazione NIC

Richiedi un esempio:

curl -k -X DELETE -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
https://<zevenet_server>:444/zapi/v3.2/zapi.cgi/interfaces/nic/eth3

DELETE /interfaces/nic/<name>

Elimina la configurazione per un'interfaccia NIC. Dopo questa azione, l'interfaccia sarà inutile e pronta per essere nuovamente configurata. Nome è l'identificativo univoco dell'interfaccia.

Esempio di risposta:

{
   "description" : "Delete nic interface",
   "message" : "The configuration for the network interface eth3 has been deleted.",
   "success" : "true"
}

Imposta l'azione dell'interfaccia NIC

Imposta l'azione dell'interfaccia NIC

Richiedi un esempio:

curl -k -X POST -H 'Content-Type: application/json' -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
-d '{"action":"down"}'
https://<zevenet_server>:444/zapi/v3.2/zapi.cgi/interfaces/nic/eth1/actions

POST /interfaces/nic/<name>/actions

Applicare un'azione a un'interfaccia NIC. Questa chiamata consente di abilitare o disabilitare un'interfaccia di rete.

Nome è l'identificativo univoco dell'interfaccia.

Richiedi i parametri

Settore Tipologia Descrizione Obbligatorio
azione Corda Azione da applicare all'interfaccia. I valori disponibili sono: up, abilitare l'interfaccia e prepararla per l'utilizzo; giù, disabilitare l'interfaccia per non ricevere o non inviare pacchetti. vero

Esempio di risposta:

{
   "description" : "Action on nic interface",
   "params" : {
      "action" : "up"
   }
}

Parametri di risposta

La risposta sarà un json con tutti i valori richiesti aggiornati. Vedere l'esempio di risposta per ulteriori informazioni.

Rete - Interfacce di legame

L'interfaccia di collegamento Linux o anche chiamata da altri fornitori come Trunk fornisce un metodo per aggregare più interfacce di rete in una singola interfaccia "vincolata" logica. Il comportamento delle interfacce legate dipende dalla modalità, Zevenet Load Balancer supporta i seguenti metodi:

Politica del round robin: Trasmette i pacchetti in ordine sequenziale dal primo slave disponibile fino all'ultimo. Questa modalità fornisce bilanciamento del carico e tolleranza agli errori.

Politica di backup attivo: È attivo solo uno slave nel legame. Uno slave diverso diventa attivo se, e solo se, lo slave attivo fallisce. L'indirizzo MAC del bond è visibile esternamente su una sola porta (adattatore di rete) per evitare di confondere lo switch. Questa modalità fornisce la tolleranza agli errori. L'opzione principale influisce sul comportamento di questa modalità.

Politica XOR: Trasmissione basata sull'indirizzo MAC di origine XOR con indirizzo MAC di destinazione. Seleziona lo stesso slave per ciascun indirizzo MAC di destinazione. Questa modalità fornisce bilanciamento del carico e tolleranza agli errori.

Politica di trasmissione: Trasmette tutto su tutte le interfacce slave. Questa modalità fornisce la tolleranza agli errori.

IEEE 802.3ad LACP: Crea gruppi di aggregazione che condividono le stesse impostazioni di velocità e duplex. Utilizza tutti gli slave nell'aggregatore attivo in base alle specifiche 802.3ad.

Pre-requisiti:

  1. Supporto dell'interfaccia di rete nei driver di base per il recupero della velocità e della duplex di ogni slave.

  2. Uno switch che supporta l'aggregazione di collegamenti IEEE 802.3ad Dynamic. La maggior parte degli switch richiede un tipo di configurazione per abilitare la modalità 802.3ad.

Trasmissione adattiva del carico di bilanciamento: Incollaggio del canale che non richiede alcun supporto speciale per gli interruttori. Il traffico in uscita viene distribuito in base al carico corrente (calcolato rispetto alla velocità) su ciascun slave. Il traffico in entrata viene ricevuto dallo slave corrente. Se lo slave ricevente non funziona, un altro slave assume l'indirizzo MAC dello slave ricevente guasto.

Pre-requisito:

Supporto del driver di base per il recupero della velocità di ogni slave.

Bilanciamento del carico adattivo: Include il bilanciamento del carico di trasmissione Adaptive più il bilanciamento del carico in ricezione per il traffico IPV4 e non richiede alcun supporto speciale per gli switch. Il bilanciamento del carico in ricezione è ottenuto dalla negoziazione ARP. Il driver di collegamento intercetta le risposte ARP inviate dal sistema locale in uscita e sovrascrive l'indirizzo hardware di origine con l'indirizzo hardware univoco di uno degli slave nel legame, in modo che i peer diversi utilizzino indirizzi hardware diversi per il server.

Elenco delle interfacce di legame

Elenco delle interfacce di legame

Richiedi un esempio:

curl -k -X GET -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
https://<zevenet_server>:444/zapi/v3.2/zapi.cgi/interfaces/bonding

GET /interfaces/bonding

Ottieni la configurazione di tutte le interfacce di bonding nel sistema.

Esempio di risposta:

{
   "description" : "List bonding interfaces",
   "interfaces" : [
      {
         "alias" : null,
         "gateway" : "",
         "ip" : "",
         "mac" : "66:eb:31:0e:07:71",
         "mode" : "broadcast",
         "name" : "bond2",
         "netmask" : "",
         "slaves" : [
            {
               "name" : "eth2"
            }
         ],
         "status" : "down"
      },
      {
         "alias" : null,
         "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"
      }
   ]
}

Parametri di risposta

La risposta sarà un oggetto JSON con un array di oggetti di interfaccia bonding.

I parametri di legame sono:

Settore Tipologia Descrizione
alias Corda È un nick per aiutare a identificare l'interfaccia. Alias
ip Corda IP dell'interfaccia.
maschera di rete Corda Definire il segmento di rete in cui funziona l'interfaccia.
porta Corda IP utilizzato per inviare pacchetti di un segmento di rete diverso.
Mac Corda Identificatore univoco del livello di collegamento. È il Mac del primo slave di interfaccia NIC.
Nome Corda Nome dell'interfaccia. Viene utilizzato come identificatore univoco dell'interfaccia.
status Corda I valori possono essere up, l'interfaccia può ricevere pacchetti; giù, l'interfaccia non può ricevere pacchetti.
schiavi Oggetto[] Membri dell'interfaccia NIC dell'interfaccia di collegamento.
modo Corda È la modalità di lavoro per l'interfaccia di incollaggio. Le opzioni sono: equilibrio-rr, Politica Round-robin; active-backup, Politica di backup attivo; equilibrio-xor, Politica XOR; BROADCAST, Politica di trasmissione; 802.3ad, IEEE 802.3ad LACP; equilibrio-TLB, Bilanciamento del carico di trasmissione adattativo; equilibrio-alb, Bilanciamento del carico adattivo. Quei valori sono definiti nella sezione Rete - Interfacce di legame.

Oggetto schiavo:

Settore Tipologia Descrizione
Nome Corda Nome è l'identificatore univoco dell'interfaccia dello slave NIC.

Recupera interfaccia Bonding

Recupera interfaccia Bonding

Richiedi un esempio:

curl -k -X GET -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
https://<zevenet_server>:444/zapi/v3.2/zapi.cgi/interfaces/bonding/bondiface

GET /interfaces/bonding/<name>

Ottieni tutti i parametri dell'interfaccia. Nome è l'identificativo univoco dell'interfaccia.

Esempio di risposta:

{
   "description" : "Show bonding interface",
   "interface" : {
      "alias" : null,
      "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"
   }
}

Parametri di risposta

La risposta sarà un oggetto JSON con un oggetto di interfaccia bonding.

I parametri di legame sono:

Settore Tipologia Descrizione
alias Corda È un nick per aiutare a identificare l'interfaccia. Alias
ip Corda IP dell'interfaccia.
maschera di rete Corda Definire il segmento di rete in cui funziona l'interfaccia.
porta Corda IP utilizzato per inviare pacchetti di un segmento di rete diverso.
Mac Corda Identificatore univoco del livello di collegamento. È il Mac del primo slave di interfaccia NIC.
Nome Corda Nome dell'interfaccia. Viene utilizzato come identificatore univoco dell'interfaccia.
status Corda I valori possono essere up, l'interfaccia può ricevere pacchetti; giù, l'interfaccia non può ricevere pacchetti.
schiavi Oggetto[] Membri dell'interfaccia NIC dell'interfaccia di collegamento.
modo Corda È la modalità di lavoro per l'interfaccia di incollaggio. Le opzioni sono: equilibrio-rr, Politica Round-robin; active-backup, Politica di backup attivo; equilibrio-xor, Politica XOR; BROADCAST, Politica di trasmissione; 802.3ad, IEEE 802.3ad LACP; equilibrio-TLB, Bilanciamento del carico di trasmissione adattativo; equilibrio-alb, Bilanciamento del carico adattivo. Questi valori sono definiti in Rete> Interfacce di collegamento.

Schiavo oggetto:

Settore Tipologia Descrizione
Nome Corda Nome è l'identificatore univoco dell'interfaccia dello slave NIC.

Crea interfaccia di Bonding

Crea interfaccia di Bonding

Richiedi un esempio:

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://<zevenet_server>:444/zapi/v3.2/zapi.cgi/interfaces/bonding

POST /interfaces/bonding

Creare un'interfaccia di legame che unisce le interfacce NIC.

L'indirizzo MAC di bonding sarà preso dalla sua prima interfaccia NIC. La modalità di legame non può essere modificata una volta creata l'interfaccia di collegamento, ma le interfacce dei membri possono essere aggiunte o eliminate nell'interfaccia di collegamento secondo necessità. Un'interfaccia NIC verrà bloccata se fa parte di un'interfaccia di collegamento.

Richiedi i parametri

Settore Tipologia Descrizione Obbligatorio
Nome Corda Nome dell'interfaccia. Viene utilizzato come identificatore univoco dell'interfaccia. vero
schiavi Stringa[] Tutte le interfacce NIC che costruiscono il legame. È richiesto il parametro NIC Nome. vero
modo Corda È la modalità di lavoro per l'interfaccia di incollaggio. Le opzioni sono: equilibrio-rr, Politica Round-robin; active-backup, Politica di backup attivo; equilibrio-xor, Politica XOR; BROADCAST, Politica di trasmissione; 802.3ad, IEEE 802.3ad LACP; equilibrio-TLB, Bilanciamento del carico di trasmissione adattativo; equilibrio-alb, Bilanciamento del carico adattivo. Questi valori sono definiti in Rete> Interfacce di collegamento. vero

Esempio di risposta:

{
   "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"
   }
}

Parametri di risposta

La risposta sarà un oggetto JSON con i parametri configurati per il legame.

Settore Tipologia Descrizione
Mac Corda Identificatore univoco del livello di collegamento. È il Mac del primo slave di interfaccia NIC.
Nome Corda Nome dell'interfaccia. Viene utilizzato come identificatore univoco dell'interfaccia.
status Corda I valori possono essere up, l'interfaccia può ricevere pacchetti; giù, l'interfaccia non può ricevere pacchetti.
schiavi Oggetto[] Interfacce NIC che costruiscono l'interfaccia di collegamento.
modo Corda È la modalità di lavoro per l'interfaccia di incollaggio. Le opzioni sono: equilibrio-rr, Politica Round-robin; active-backup, Politica di backup attivo; equilibrio-xor, Politica XOR; BROADCAST, Politica di trasmissione; 802.3ad, IEEE 802.3ad LACP; equilibrio-TLB, Bilanciamento del carico di trasmissione adattativo; equilibrio-alb, Bilanciamento del carico adattivo. Questi valori sono definiti in Rete> Interfacce di collegamento.

Schiavo oggetto:

Settore Tipologia Descrizione
Nome Corda Nome è l'identificatore univoco dell'interfaccia dello slave NIC.

Modifica interfaccia di Bonding

Modifica interfaccia di Bonding

Richiedi un esempio:

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://<zevenet_server>:444/zapi/v3.2/zapi.cgi/interfaces/bonding/bondiface

PUT /interfaces/bonding/<name>

Modifica i parametri di un'interfaccia di legame. Nome è l'identificativo univoco dell'interfaccia.

Richiedi i parametri

Settore Tipologia Descrizione
ip Corda IP dell'interfaccia.
maschera di rete Corda Definire il segmento di rete in cui funziona l'interfaccia.
porta Corda IP utilizzato per inviare pacchetti di un segmento di rete diverso.
forza Corda Se una fattoria utilizza l'interfaccia, l'interfaccia non potrà essere modificata. Quindi, se questo parametro viene inviato con il valore vero, l'interfaccia sarà costretta a prendere la nuova configurazione e tutte le farm stanno usando l'interfaccia verrà riavviata.

Esempio di risposta:

{
   "description" : "Modify bond address",
   "params" : {
      "gateway" : "192.168.100.1",
      "ip" : "192.168.100.121",
      "netmask" : "255.255.255.0",
      "force" : "true"
   }
}

Parametri di risposta

La risposta sarà un json con tutti i valori richiesti aggiornati. Vedere l'esempio di risposta per ulteriori informazioni.

Elimina configurazione legame

Elimina configurazione legame

Richiedi un esempio:

curl -k -X DELETE -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
https://<zevenet_server>:444/zapi/v3.2/zapi.cgi/interfaces/bonding/bondiface

DELETE /interfaces/bonding/<name>

Elimina la configurazione dell'interfaccia di legame. I parametri di configurazione sono: porta, ip che collaborano con noi, attingono direttamente dalla storia e dalla tradizione veneziana per poi maschera di rete.

Nome è l'identificativo univoco dell'interfaccia.

Esempio di risposta:

{
   "description" : "Delete bonding network configuration",
   "message" : "The configuration for the bonding interface bondiface has been deleted.",
   "success" : "true"
}

Imposta l'azione dell'interfaccia di legame

Imposta l'azione dell'interfaccia di legame

Richiedi un esempio:

curl -k -X POST -H 'Content-Type: application/json' -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
-d '{"action":"up"}'
https://<zevenet_server>:444/zapi/v3.2/zapi.cgi/interfaces/bonding/bondiface/actions

POST /interfaces/bonding/<name>/actions

Applicare un'azione a un'interfaccia di legame. Questa chiamata consente di eliminare l'interfaccia di collegamento e attivarla o disattivarla.

È necessario cancellare l'interfaccia di legame usando distruggere azione se si desidera sbloccare le interfacce NIC utilizzate nel legame. Il driver di incollaggio ripristinerà quindi gli indirizzi MAC che le interfacce membro avevano prima di essere aggiunte all'interfaccia di collegamento.

Nome è l'identificativo univoco dell'interfaccia.

Richiedi i parametri

Settore Tipologia Descrizione Obbligatorio
azione Corda Azione da applicare all'interfaccia. I valori disponibili sono: up abilitare l'interfaccia e prepararla per l'utilizzo, giù disabilitare l'interfaccia per non ricevere o non inviare pacchetti, distruggere eliminare il legame e ripristinare le interfacce slave NIC. vero

Esempio di risposta:

{
   "description" : "Action on bond interface",
   "params" : {
      "action" : "up"
   }
}

Parametri di risposta

La risposta sarà un json con tutti i valori richiesti aggiornati. Vedere l'esempio di risposta per ulteriori informazioni.

Aggiungi un'interfaccia slave Bonding

Aggiungi un'interfaccia slave Bonding

Richiedi un esempio:

curl -k -X POST -H 'Content-Type: application/json' -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
-d '{"name":"eth4"}'
https://<zevenet_server>:444/zapi/v3.2/zapi.cgi/interfaces/bonding/bondiface/slaves

POST /interfaces/bonding/<name>/slaves

Aggiungi un'interfaccia NIC come slave a un'interfaccia di collegamento esistente.

Nome è l'identificativo univoco dell'interfaccia.

Richiedi i parametri

Settore Tipologia Descrizione Obbligatorio
Nome Corda Interfaccia NIC Nome da aggiungere all'interfaccia di bonding. vero

Esempio di risposta:

{
   "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"
   }
}

Parametri di risposta

La risposta sarà un json con valori configurati aggiornati. Vedere l'esempio di risposta per ulteriori informazioni.

Rimuovere un'interfaccia slave Bonding

Rimuovere un'interfaccia slave Bonding

Richiedi un esempio:

curl -k -X DELETE -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
https://<zevenet_server>:444/zapi/v3.2/zapi.cgi/interfaces/bonding/bondiface/slaves/eth2

DELETE /interfaces/bonding/<name>/slaves/<name>

Elimina un'interfaccia slave NIC da un'interfaccia di collegamento. L'interfaccia di collegamento deve avere quasi un'interfaccia slave NIC.

Nome Nome Europe è DELETE la chiamata è l'identificatore univoco del nome del legame, successivamente Nome nello DELETE call è l'identificatore univoco del nome dell'interfaccia della scheda NIC.

Esempio di risposta:

{
   "description" : "Remove bonding slave interface",
   "message" : "The bonding slave interface eth2 has been removed.",
   "success" : "true"
}

Rete - Interfacce VLAN

Interfaccia VLAN consente a una scheda NIC o interfaccia di collegamento funziona in un'altra rete, quindi il IP, porta che collaborano con noi, attingono direttamente dalla storia e dalla tradizione veneziana per poi maschera di rete i campi potrebbero essere diversi dall'interfaccia genitore. L'interfaccia VLAN eredita l'indirizzo MAC dalla sua interfaccia genitore.

Il campo delle interfacce VLAN Nome apparirà con un punto "." carattere che verrà utilizzato per stabilire un tag identificatore per l'interfaccia vlan.

Elenca le interfacce VLAN

Elenca le interfacce VLAN

Richiedi un esempio:

curl -k -X GET -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
https://<zevenet_server>:444/zapi/v3.2/zapi.cgi/interfaces/vlan

GET /interfaces/vlan

Ottieni tutti i parametri delle interfacce VLAN.

Esempio di risposta:

{
   "description" : "List VLAN interfaces",
   "interfaces" : [
      {
         "alias" : null,
         "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"
      }
   ]
}

Parametri di risposta

La risposta sarà un oggetto JSON con un array di oggetti di interfaccia VLAN.

I parametri VLAN sono:

Settore Tipologia Descrizione
alias Corda È un nick per aiutare a identificare l'interfaccia. Alias
ip Corda IP dell'interfaccia. Può essere diverso dall'IP genitore dell'interfaccia.
maschera di rete Corda Definire il segmento di rete in cui funziona l'interfaccia.
porta Corda IP utilizzato per inviare pacchetti di un segmento di rete diverso.
Mac Corda MAC dell'interfaccia. Questo valore è ereditato dall'interfaccia genitore.
Nome Corda Nome dell'interfaccia. Viene utilizzato come identificatore univoco. Questo nome è una catena formata da un nome di interfaccia principale, un punto "." e un numero per l'interfaccia di rete vlan o il tag vlan.
genitore Corda È l'interfaccia utilizzata per creare questo.
status Corda I valori possono essere up l'interfaccia può ricevere pacchetti, giù l'interfaccia non può ricevere pacchetti.

Recupera l'interfaccia VLAN

Recupera l'interfaccia VLAN

Richiedi un esempio:

curl -k -X GET -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
https://<zevenet_server>:444/zapi/v3.2/zapi.cgi/interfaces/vlan/eth0.1

GET /interfaces/vlan/<name>

Ottieni tutti i parametri dell'interfaccia VLAN. Nome è l'identificativo univoco dell'interfaccia.

Esempio di risposta:

{
   "description" : "Show VLAN interface",
   "interface" : {
      "alias" : null,
      "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"
   }
}

Parametri di risposta

Settore Tipologia Descrizione
alias Corda È un nick per aiutare a identificare l'interfaccia. Alias
ip Corda IP dell'interfaccia.
maschera di rete Corda Definire il segmento di rete in cui funziona l'interfaccia.
porta Corda IP utilizzato per inviare pacchetti di un segmento di rete diverso.
Mac Corda MAC dell'interfaccia. Questo valore è ereditato dall'interfaccia genitore.
Nome Corda Nome dell'interfaccia. Viene utilizzato come identificatore univoco. Questo nome è una catena formata da un nome di interfaccia principale, un punto "." e un numero per l'interfaccia di rete vlan.
status Corda I valori possono essere up l'interfaccia può ricevere pacchetti, giù l'interfaccia non può ricevere pacchetti.

Crea un'interfaccia VLAN

Crea un'interfaccia VLAN

Richiedi un esempio:

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://<zevenet_server>:444/zapi/v3.2/zapi.cgi/interfaces/vlan

POST /interfaces/vlan

Creare un'interfaccia VLAN da una scheda NIC o interfaccia di collegamento. La nuova interfaccia VLAN condividerà MAC, anche se i seguenti parametri di rete devono essere diversi: ipe quanto segue può cambiare: porta, maschera di rete.

Richiedi i parametri

Settore Tipologia Descrizione Obbligatorio
ip Corda IP dell'interfaccia. Deve essere diverso dall'IP genitore dell'interfaccia. vero
maschera di rete Corda Definire il segmento di rete in cui funziona l'interfaccia. vero
porta Corda IP utilizzato per inviare pacchetti di un segmento di rete diverso. vero
Nome Corda Nome dell'interfaccia. Viene utilizzato come identificatore univoco. Questo nome è una catena formata da un nome di interfaccia principale, un punto "." e un numero per l'interfaccia di rete vlan. vero

Esempio di risposta:

{
   "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"
   }
}

Parametri di risposta

La risposta sarà un json con tutti i valori richiesti aggiornati. Vedere l'esempio di risposta per ulteriori informazioni.

Modifica l'interfaccia VLAN

Modifica l'interfaccia VLAN

Richiedi un esempio:

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://<zevenet_server>:444/zapi/v3.2/zapi.cgi/interfaces/vlan/eth0.1

PUT /interfaces/vlan/<name>

Modifica i parametri di un'interfaccia VLAN. Nome è l'identificativo univoco dell'interfaccia.

Richiedi i parametri

Settore Tipologia Descrizione
ip Corda IP dell'interfaccia. Può essere diverso dall'IP genitore dell'interfaccia.
maschera di rete Corda Definire il segmento di rete in cui funziona l'interfaccia.
porta Corda IP utilizzato per inviare pacchetti di un segmento di rete diverso.
forza Corda Se una fattoria utilizza l'interfaccia, l'interfaccia non potrà essere modificata. Quindi, se questo parametro viene inviato con il valore vero, l'interfaccia sarà costretta a prendere la nuova configurazione e tutte le farm stanno usando l'interfaccia verrà riavviata.

Esempio di risposta:

{
   "description" : "Modify VLAN interface",
   "params" : {
      "gateway" : "192.168.131.1",
      "ip" : "192.168.131.155",
      "netmask" : "255.255.255.0",
      "force" : "true",
   }
}

Parametri di risposta

La risposta sarà un json con tutti i valori richiesti aggiornati. Vedere l'esempio di risposta per ulteriori informazioni.

Elimina l'interfaccia VLAN

Elimina l'interfaccia VLAN

Richiedi un esempio:

curl -k -X DELETE -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
https://<zevenet_server>:444/zapi/v3.2/zapi.cgi/interfaces/vlan/eth0.1

DELETE /interfaces/vlan/<name>

Elimina un'interfaccia VLAN. Nome è l'identificativo univoco dell'interfaccia.

Esempio di risposta:

{
   "description" : "Delete VLAN interface",
   "message" : "The VLAN interface eth0.1 has been deleted.",
   "success" : "true"
}

Imposta l'azione dell'interfaccia VLAN

Imposta l'azione dell'interfaccia VLAN

Richiedi un esempio:

curl -k -X POST -H 'Content-Type: application/json' -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
-d '{"action":"down"}'
https://<zevenet_server>:444/zapi/v3.2/zapi.cgi/interfaces/vlan/eth0.1/actions

POST /interfaces/vlan/<name>/actions

Applicare un'azione a un'interfaccia VLAN. Questa chiamata consente di abilitare o disabilitare un'interfaccia di rete.

Nome è il nome identificatore univoco.

Richiedi i parametri

Settore Tipologia Descrizione Obbligatorio
azione Corda Azione da applicare all'interfaccia. I valori disponibili sono: up, abilitare l'interfaccia e prepararla per l'utilizzo; giù, disabilitare l'interfaccia per non ricevere o non inviare pacchetti. vero

Esempio di risposta:

{
   "description" : "Action on vlan interface",
   "params" : {
      "action" : "down"
   }
}

Parametri di risposta

La risposta sarà un json con tutti i valori richiesti aggiornati. Vedere l'esempio di risposta per ulteriori informazioni.

Rete - Interfacce virtuali

Le interfacce di rete consentono agli utenti di avere un'altra interfaccia di rete nello stesso segmento di rete rispetto a quella principale, quindi le interfacce virtuali ereditano sempre la configurazione di rete dal suo genitore. Il diverso parametro sarà il ip. L'interfaccia virtuale può essere creata da NIC, bonding o VLAN. Creazione di una nuova interfaccia virtuale apparirà un campo con due punti ":" carattere che verrà utilizzato per stabilire un'identificazione per l'interfaccia virtuale.

Elenca le interfacce virtuali

Elenca le interfacce virtuali

Richiedi un esempio:

curl -k -X GET -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
https://<zevenet_server>:444/zapi/v3.2/zapi.cgi/interfaces/virtual

GET /interfaces/virtual

Ottieni tutti i parametri delle interfacce virtuali.

Esempio di risposta:

{
   "description" : "List virtual interfaces",
   "interfaces" : [
      {
         "alias" : null,
         "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"
      },
      {
         "alias" : null,
         "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"
      }
   ]
}

Parametri di risposta

Settore Tipologia Descrizione
alias Corda È un nick per aiutare a identificare l'interfaccia. Alias
ip Corda IP dell'interfaccia. L'IP deve trovarsi nello stesso segmento di rete rispetto all'interfaccia genitore.
maschera di rete Corda Definire il segmento di rete in cui funziona l'interfaccia. Eredita dall'interfaccia genitore
porta Corda IP utilizzato per inviare pacchetti di un segmento di rete diverso. Eredita dall'interfaccia genitore
Mac Corda MAC dell'interfaccia. Eredita dall'interfaccia genitore
Nome Corda Nome dell'interfaccia. Viene utilizzato come identificatore univoco. Questo nome è una catena formata da un'interfaccia genitore, un carattere di due punti ":" e il nome per l'interfaccia di rete virtuale, sono consentiti caratteri alfanumerici.
genitore Corda È l'interfaccia utilizzata per creare questo.
status Corda I valori possono essere up, l'interfaccia può ricevere pacchetti; giù, l'interfaccia non può ricevere pacchetti.

Recupera interfaccia virtuale

Recupera interfaccia virtuale

Richiedi un esempio:

curl -k -X GET -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
https://<zevenet_server>:444/zapi/v3.2/zapi.cgi/interfaces/virtual/eth0:virtiface

GET /interfaces/virtual/<name>

Ottieni tutti i parametri di un'interfaccia virtuale. Nome è l'identificativo univoco dell'interfaccia.

Esempio di risposta:

{
   "description" : "Show virtual interface",
   "interface" : {
      "alias" : null,
      "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"
   }
}

Parametri di risposta

Settore Tipologia Descrizione
alias Corda È un nick per aiutare a identificare l'interfaccia. Alias
ip Corda IP dell'interfaccia. L'IP deve trovarsi nello stesso segmento di rete rispetto all'interfaccia genitore.
maschera di rete Corda Definire il segmento di rete in cui funziona l'interfaccia. Eredita dall'interfaccia genitore
porta Corda IP utilizzato per inviare pacchetti di un segmento di rete diverso. Eredita dall'interfaccia genitore
Mac Corda MAC dell'interfaccia. Eredita dall'interfaccia genitore
Nome Corda Nome dell'interfaccia. Viene utilizzato come identificatore univoco. Questo nome è una catena formata da un'interfaccia padre, un carattere di due punti ":" e una stringa alfanumerica per l'interfaccia di rete virtuale.
genitore Corda È l'interfaccia utilizzata per creare questo.
status Corda I valori possono essere up, l'interfaccia può ricevere pacchetti; giù, l'interfaccia non può ricevere pacchetti.

Crea un'interfaccia virtuale

Crea un'interfaccia virtuale

Richiedi un esempio:

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://<zevenet_server>:444/zapi/v3.2/zapi.cgi/interfaces/virtual

POST /interfaces/virtual

Crea un'interfaccia virtuale.

Richiedi i parametri

Settore Tipologia Descrizione Obbligatorio
ip Corda IP dell'interfaccia. L'IP deve trovarsi nello stesso segmento di rete rispetto all'interfaccia genitore. vero
Nome Corda Nome dell'interfaccia. Viene utilizzato come identificatore univoco. Questo nome è una catena formata da un'interfaccia padre, un carattere di due punti ":" e una stringa alfanumerica per l'interfaccia di rete virtuale. vero

Esempio di risposta:

{
   "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"
   }
}

Parametri di risposta

La risposta sarà un json con la configurazione dell'interfaccia. Vedere l'esempio di risposta per ulteriori informazioni.

Settore Tipologia Descrizione
ip Corda IP dell'interfaccia. L'IP deve trovarsi nello stesso segmento di rete rispetto all'interfaccia genitore.
maschera di rete Corda Definire il segmento di rete in cui funziona l'interfaccia. Eredita dall'interfaccia genitore
porta Corda IP utilizzato per inviare pacchetti a un segmento di rete diverso. Eredita dall'interfaccia genitore
Mac Corda MAC dell'interfaccia. Eredita dall'interfaccia genitore
Nome Corda Nome dell'interfaccia. Viene utilizzato come identificatore univoco. Questo nome è una catena formata da un'interfaccia genitore, un carattere di due punti ":" e una stringa alfanumerica per l'interfaccia di rete virtuale.

Modifica l'interfaccia virtuale

Modifica l'interfaccia virtuale

Richiedi un esempio:

curl -k -X PUT -H 'Content-Type: application/json' -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
-d '{"ip":"192.168.131.155"}'
https://<zevenet_server>:444/zapi/v3.2/zapi.cgi/interfaces/virtual/eth0:virtiface

PUT /interfaces/virtual/<name>

Modifica i parametri di un'interfaccia virtuale. Nome è l'identificativo univoco dell'interfaccia.

Richiedi i parametri

Settore Tipologia Descrizione necessario
ip Corda IP dell'interfaccia. L'IP deve trovarsi nello stesso segmento di rete rispetto all'interfaccia genitore. vero
forza Corda Se una fattoria utilizza l'interfaccia, l'interfaccia non potrà essere modificata. Quindi, se questo parametro viene inviato con il valore vero, l'interfaccia sarà costretta a prendere la nuova configurazione e tutte le farm stanno usando l'interfaccia verrà riavviata.

Esempio di risposta:

{
   "description" : "Modify virtual interface",
   "params" : {
      "ip" : "192.168.100.10",
      "force" : "true"
   }
}

Parametri di risposta

La risposta sarà un json con tutti i valori richiesti aggiornati. Vedere l'esempio di risposta per ulteriori informazioni.

Elimina l'interfaccia virtuale

Elimina l'interfaccia virtuale

Richiedi un esempio:

curl -k -X DELETE -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
https://<zevenet_server>:444/zapi/v3.2/zapi.cgi/interfaces/virtual/eth0:virtiface

DELETE /interfaces/virtual/<name>

Elimina un'interfaccia virtuale. Nome è l'identificativo univoco dell'interfaccia.

Esempio di risposta:

{
   "description" : "Delete virtual interface",
   "message" : "The virtual interface eth0:virtiface has been deleted.",
   "success" : "true"
}

Imposta l'azione dell'interfaccia virtuale

Imposta l'azione dell'interfaccia virtuale

Richiedi un esempio:

curl -k -X POST -H 'Content-Type: application/json' -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
-d '{"action":"down"}'
https://<zevenet_server>:444/zapi/v3.2/zapi.cgi/interfaces/virtual/eth0:virtiface/actions

POST /interfaces/virtual/<name>/actions

Applica un'azione a un'interfaccia virtuale. Questa chiamata consente di abilitare o disabilitare un'interfaccia di rete.

Nome è l'identificativo univoco dell'interfaccia.

Richiedi i parametri

Settore Tipologia Descrizione Obbligatorio
azione Corda Azione da applicare all'interfaccia. I valori disponibili sono: up, abilitare l'interfaccia e prepararla per l'utilizzo; giù, disabilitare l'interfaccia per non ricevere o non inviare pacchetti. vero

Esempio di risposta:

{
   "description" : "Action on virtual interface",
   "params" : {
      "action" : "down"
   }
}

Parametri di risposta

La risposta sarà un json con tutti i valori richiesti aggiornati. Vedere l'esempio di risposta per ulteriori informazioni.

Rete - Interfacce mobili

Questo tipo di interfaccia utilizza un'interfaccia virtuale definita e maschera il traffico in uscita di a nic, bonding or VLAN interfaccia con un bambino virtuale interfaccia. Questa interfaccia viene utilizzata per il comportamento di failover con stato nei profili l4xnat se è configurato un cluster.

Elenca le interfacce mobili

Elenca le interfacce mobili

Richiedi un esempio:

curl -k -X GET -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
https://<zevenet_server>:444/zapi/v3.2/zapi.cgi/interfaces/floating

GET /interfaces/floating

Mostra tutte le interfacce disponibili o configurate in cui è stato creato un IP mobile.

Esempio di risposta:

{
   "description" : "List floating interfaces",
   "params" : [
      {
         "alias" : null,
         "floating_alias" : null,
         "floating_ip" : null,
         "interface" : "bondiface",
         "interface_virtual" : null
      },
      {
         "alias" : null,
         "floating_alias" : null,
         "floating_ip" : "192.168.100.41",
         "interface" : "eth0",
         "interface_virtual" : "eth0:virtiface"
      },
      {
         "alias" : null,
         "floating_alias" : null,
         "floating_ip" : null,
         "interface" : "eth0.1",
         "interface_virtual" : null
      },
      {
         "alias" : "gestion",
         "floating_alias" : null,
         "floating_ip" : null,
         "interface" : "eth1",
         "interface_virtual" : null
      }
   ]
}

Parametri di risposta

La risposta sarà un oggetto JSON con un array di oggetti di interfaccia mobile:

A galla oggetto:

Settore Tipologia Descrizione
alias Corda È un nick per aiutare a identificare l'interfaccia. Alias
floating_alias Corda È l'alias dell'interfaccia virtuale.
floating_ip Corda IP floating utilizzato in interfaccia. floating_ip deve esistere come interfaccia virtuale figlio del interfaccia.
interfaccia Corda Interfaccia mascherata dall'IP mobile.
interface_virtual Corda È il nome dell'interfaccia virtuale dell'IP mobile utilizzato per mascherare l'interfaccia.

Recupera interfaccia mobile

Recupera interfaccia mobile

Richiedi un esempio:

curl -k -X GET -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
https://<zevenet_server>:444/zapi/v3.2/zapi.cgi/interfaces/floating/eth0

GET /interfaces/floating/<name>

Mostra se un'interfaccia ha un IP mobile configurato. Se ne ha una configurata, verrà mostrata qui.

Nome è l'identificatore univoco dell'interfaccia che può essere di tipo nic, bonding o vlan.

Esempio di risposta:

{
   "description" : "Show floating interface",
   "params" : {
      "alias" : null,
      "floating_alias" : null,
      "floating_ip" : "192.168.100.41",
      "interface" : "eth0",
      "interface_virtual" : "eth0:virtiface"
   }
}

Parametri di risposta

Settore Tipologia Descrizione
alias Corda È un nick per aiutare a identificare l'interfaccia. Alias
floating_alias Corda È l'alias dell'interfaccia virtuale.
floating_ip Corda IP floating utilizzato in interfaccia. floating_ip deve esistere come interfaccia virtuale figlio del interfaccia.
interfaccia Corda Interfaccia mascherata dall'IP mobile.
interface_virtual Corda È il nome dell'interfaccia virtuale dell'IP mobile utilizzato per mascherare l'interfaccia.

Modifica l'interfaccia mobile

Modifica l'interfaccia mobile

Richiedi un esempio:

curl -k -X PUT -H 'Content-Type: application/json' -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
-d '{"floating_ip":"192.168.100.199"}'
https://<zevenet_server>:444/zapi/v3.2/zapi.cgi/interfaces/floating/eth0

PUT /interfaces/floating/<name>

Configurare un IP mobile per una scheda NIC, un collegamento o un'interfaccia VLAN.

Nome è l'identificatore univoco dell'interfaccia che può essere di tipo nic, bonding o vlan.

Richiedi i parametri

Settore Tipologia Descrizione Obbligatorio
floating_ip Corda IP floating utilizzato in interfaccia. floating_ip deve esistere come interfaccia virtuale figlio del interfaccia. vero

Esempio di risposta:

{
   "description" : "Modify floating interface",
   "message" : "Floating interface modification done",
   "success" : "true"
}

Elimina la configurazione mobile

Elimina la configurazione mobile

Richiedi un esempio:

curl -k -X DELETE -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
https://<zevenet_server>:444/zapi/v3.2/zapi.cgi/interfaces/floating/eth0

DELETE /interfaces/floating/<name>

Rimuovere la configurazione IP mobile in un'interfaccia.

Nome è l'identificatore univoco dell'interfaccia che può essere di tipo nic, bonding o vlan.

Esempio di risposta:

{
   "description" : "Remove floating interface",
   "message" : "The floating interface has been removed.",
   "success" : "true"
}

Monitoraggio - FarmGuardian

FarmGuardian è utilizzato per lo stato avanzato di monitoraggio dei backend. Quando viene rilevato un problema, FarmGuardian disattiva automaticamente il server reale e verrà contrassegnato come nella lista nera.

Elenco FarmGuardians

Elenco FarmGuardians

Richiedi un esempio:

curl -k -X GET -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
https://<zevenet_server>:444/zapi/v3.2/zapi.cgi/monitoring/fg

GET /monitoring/fg

Elencare i FarmGuardians. Modelli e disponibili FarmGuardians appaiono nell'elenco.

Esempio di risposta:

{
   "description" : "List farm guardian checks and templates",
   "params" : [
      {
         "command" : "check_tcp -p PORT -H HOST",
         "cut_conns" : "false",
         "description" : "It does a TCP connection to test if the backend is alive",
         "farms" : [],
         "interval" : 5,
         "log" : "false",
         "name" : "check_tcp-cut_conns",
         "template" : "true"
      },
      {
         "command" : "check_tcp -p 80 -H HOST",
         "cut_conns" : "false",
         "description" : "TCP check to the port 80",
         "farms" : [
                     "web_service",
                     "my_welcome_web"
         ],
         "interval" : 7,
         "log" : "true",
         "name" : "custom-tcp",
         "template" : "false"
      },
      {
         "command" : "check_tcp -p PORT -H HOST",
         "cut_conns" : "false",
         "description" : "It does a TCP connection to test if the backend is alive",
         "farms" : [],
         "interval" : 5,
         "log" : "false",
         "name" : "check_tcp",
         "template" : "true"
      }
   ]
}

Parametri di risposta

La risposta sarà un oggetto JSON con la chiave params e il formato seguente:

Settore Tipologia Descrizione
command Corda Comando per controllare lo stato del servizio nel back-end. Quei comandi disponibili sono nel percorso libexec.
cut_conns Corda I valori possibili sono: vero, FarmGuardian taglia le connessioni correnti quando il back-end non è disponibile; o falso, se il back-end non è disponibile, sarà disabilitato ma le sessioni attive continuano.
descrizione Corda Piccola descrizione del controllo.
aziende agricole Stringa[] Fattorie in cui viene applicato FarmGuardian.
intervallo Numero Tempo tra i controlli.
ceppo Corda I valori possibili sono: vero, FarmGuardian registrerà ogni assegno; o falso, se il back-end non è disponibile, sarà disabilitato ma le sessioni attive continuano.
Nome Corda Identificativo unico.
modello Corda Se FarmGuardian è un modello, non verrà applicato a nessuna fattoria. I modelli sono utili per creare un nuovo FarmGuardian.

Recupera un FarmGuardian

Recupera un FarmGuardian

Richiedi un esempio:

curl -k -X GET -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
https://<zevenet_server>:444/zapi/v3.2/zapi.cgi/monitoring/fg/check_tcp

GET /monitoring/fg/<name>

Mostra la configurazione di un FarmGuardian.

Il parametro URI Nome è l'identificatore univoco di FarmGuardian.

Esempio di risposta:

{
   "description" : "Retrive the farm guardian check_tcp",
   "params" : {
      "command" : "check_tcp -p PORT -H HOST",
      "cut_conns" : "false",
      "description" : "It does a TCP connection to test if the backend is alive",
      "farms" : [],
      "interval" : 5,
      "log" : "false",
      "name" : "check_tcp",
      "template" : "true"
   }
}

Parametri di risposta

La risposta sarà un oggetto JSON con la chiave params e il formato seguente:

Settore Tipologia Descrizione
command Corda Comando per controllare lo stato del servizio nel back-end. Quei comandi disponibili sono nel percorso libexec.
cut_conns Corda I valori possibili sono: vero, FarmGuardian taglia le connessioni correnti quando il back-end non è disponibile; o falso, se il back-end non è disponibile, sarà disabilitato ma le sessioni attive continuano.
descrizione Corda Piccola descrizione del controllo.
aziende agricole Stringa[] Fattorie in cui viene applicato FarmGuardian.
intervallo Numero Tempo tra i controlli.
ceppo Corda I valori possibili sono: vero, FarmGuardian registrerà ogni assegno; o falso, se il back-end non è disponibile, sarà disabilitato ma le sessioni attive continuano.
Nome Corda Identificativo unico.
modello Corda Se FarmGuardian è un modello, non verrà modificato. I modelli sono utili per creare un nuovo FarmGuardian o applicarli direttamente alle fattorie.

Crea un FarmGuardian

Crea un FarmGuardian

Richiedi un esempio:

curl -k -X POST -H 'Content-Type: application/json' -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
-d '{"name":"check_tcp-cut_conns", "parent":"check_tcp"}'
https://<zevenet_server>:444/zapi/v3.2/zapi.cgi/monitoring/fg

POST /monitoring/fg

Crea un nuovo FarmGuardian.

Richiedi i parametri

La risposta sarà un oggetto JSON con la chiave params e il formato seguente:

Settore Tipologia Descrizione Obbligatorio
Nome Corda Identificativo unico. vero
genitore Corda È FarmGuardian utilizzato come modello per creare il nuovo FarmGuardian. Se questo campo non viene inviato, il nuovo FarmGuardian viene creato in bianco.

Esempio di risposta:

{
   "description" : "Create a farm guardian check_tcp-cut_conns",
   "message" : "The farm guardian check_tcp-cut_conns has been created successfully",
   "params" : {
      "command" : "check_tcp -p PORT -H HOST",
      "cut_conns" : "false",
      "description" : "It does a TCP connection to test if the backend is alive",
      "farms" : [],
      "interval" : 5,
      "log" : "false",
      "name" : "check_tcp-cut_conns",
      "template" : "true"
   }
}

Parametri di risposta

La risposta sarà un oggetto JSON con la chiave params e il formato seguente:

Settore Tipologia Descrizione
command Corda Comando per controllare lo stato del servizio nel back-end. Quei comandi disponibili sono nel percorso libexec.
cut_conns Corda I valori possibili sono: vero, FarmGuardian taglia le connessioni correnti quando il back-end non è disponibile; o falso, se il back-end non è disponibile, sarà disabilitato ma le sessioni attive continuano.
descrizione Corda Piccola descrizione del controllo.
aziende agricole Stringa[] Fattorie in cui viene applicato FarmGuardian.
intervallo Numero Tempo tra i controlli.
ceppo Corda I valori possibili sono: vero, FarmGuardian registrerà ogni assegno; o falso, se il back-end non è disponibile, sarà disabilitato ma le sessioni attive continuano.
Nome Corda Identificativo unico.
modello Corda Se FarmGuardian è un modello, non verrà modificato. I modelli sono utili per creare un nuovo FarmGuardian o applicarli direttamente alle fattorie.

Modifica un FarmGuardian

Modifica un FarmGuardian

Richiedi un esempio:

curl -k -X PUT -H 'Content-Type: application/json' -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
-d '{"interval":7,"log":"true","description":"TCP check to the port 80","command":"check_tcp -p 80 -H HOST","cut_conns":"false"}'
https://<zevenet_server>:444/zapi/v3.2/zapi.cgi/monitoring/fg/custom-tcp

PUT /monitoring/fg/<name>

Modifica un FarmGuardian.

Il parametro URI Nome è l'identificatore univoco di FarmGuardian.

Richiedi i parametri

La risposta sarà un oggetto JSON con la chiave params e il formato seguente:

Settore Tipologia Descrizione Obbligatorio
command Corda Comando per controllare lo stato del servizio nel back-end. Quei comandi disponibili sono nel percorso libexec.
cut_conns Corda I valori possibili sono: vero, FarmGuardian taglia le connessioni correnti quando il back-end non è disponibile; o falso, se il back-end non è disponibile, sarà disabilitato ma le sessioni attive continuano.
descrizione Corda Piccola descrizione del controllo.
intervallo Numero Tempo tra i controlli.
ceppo Corda I valori possibili sono: vero, FarmGuardian registrerà ogni assegno; o falso, se il back-end non è disponibile, sarà disabilitato ma le sessioni attive continuano.
forza Corda Se una fattoria in esecuzione utilizza FarmGuardian, FarmGuardian non potrà essere modificato. Quindi, se questo parametro viene inviato con il valore vero, FarmGuardian sarà costretto a prendere la nuova configurazione.

Esempio di risposta:

{
   "description" : "Modify farm guardian custom-tcp",
   "message" : "Success, some parameters have been changed in farm guardian custom-tcp.",
   "params" : {
      "command" : "check_tcp -p 80 -H HOST",
      "cut_conns" : "false",
      "description" : "TCP check to the port 80",
      "farms" : [],
      "interval" : 7,
      "log" : "true",
      "name" : "custom-tcp",
      "template" : "false"
   }
}

Parametri di risposta

La risposta sarà un oggetto JSON con la chiave params e il formato seguente:

Settore Tipologia Descrizione
command Corda Comando per controllare lo stato del servizio nel back-end. Quei comandi disponibili sono nel percorso libexec.
cut_conns Corda I valori possibili sono: vero, FarmGuardian taglia le connessioni correnti quando il back-end non è disponibile; o falso, se il back-end non è disponibile, sarà disabilitato ma le sessioni attive continuano.
descrizione Corda Piccola descrizione del controllo.
aziende agricole Stringa[] Fattorie in cui viene applicato FarmGuardian.
intervallo Numero Tempo tra i controlli.
ceppo Corda I valori possibili sono: vero, FarmGuardian registrerà ogni assegno; o falso, se il back-end non è disponibile, sarà disabilitato ma le sessioni attive continuano.
Nome Corda Identificativo unico.
modello Corda Se FarmGuardian è un modello, non verrà applicato a nessuna fattoria. I modelli sono utili per creare un nuovo FarmGuardian.

Elimina un FarmGuardian

Elimina un FarmGuardian

Richiedi un esempio:

curl -k -X DELETE -H 'Content-Type: application/json' -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
https://<zevenet_server>:444/zapi/v3.2/zapi.cgi/monitoring/fg/custom-tcp

DELETE /monitoring/fg/<name>

CANCELLA un FarmGuardian.

Il parametro URI Nome è l'identificatore univoco di FarmGuardian.

Esempio di risposta:

{
   "description" : "Delete the farm guardian custom-tcp",
   "message" : "custom-tcp has been deleted successful.",
   "success" : "true"
}

Monitoraggio - Statistiche

Mostra informazioni su sistema e fattorie. Queste informazioni saranno utili per monitorare lo stato del bilanciamento del carico Zevenet.

Mostra statistiche di sistema

Mostra statistiche di sistema

Richiedi un esempio:

curl -k -X GET -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
https://<zevenet_server>:444/zapi/v3.2/zapi.cgi/stats

GET /stats

Ottieni statistiche di sistema globali.

Esempio di risposta:

{
   "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
      }
   }
}

Parametri di risposta

Settore Tipologia Descrizione
cpu Oggetto Statistiche della CPU.
quando Corda Data del sistema
hostname Corda Nome dell'ospite.
caricare Oggetto Statistiche del carico di base.
memoria Oggetto Statistiche di memoria utilizzate.
Rete Oggetto Statistiche del traffico di rete.

Oggetto CPU:

Settore Tipologia Descrizione
colori Numero Numero di core nel processore.
inattivo Numero CPU non utilizzata da nessun programma.
iowait Numero CPU utilizzata dal processo di input o output.
irq Numero CPU utilizzata da interrupt di hardware.
bello Numero Priorità di schedulazione della CPU.
softirq Numero CPU utilizzata dalle interruzioni software.
sys Numero CPU utilizzata dal sistema.
uso Numero CPU totale utilizzata.
Utente Numero CPU utilizzata dall'utente.

Carica oggetto:

Settore Tipologia Descrizione
Last_1 Numero Carica il porcentage del sistema all'ultimo minuto.
Last_5 Numero Caricare il porcentage del sistema cinque minuti fa.
Last_15 Numero Caricare il porcentage del sistema quindici minuti fa.

Oggetto di memoria.

Settore Tipologia Descrizione
buffer Numero È la memoria utilizzata dai buffer. Questo importo è indicato in Mb.
Copia cache Numero È la memoria totale memorizzata dal sistema. Questo importo è indicato in Mb.
MemFree Numero È la memoria libera totale non memorizzata nella cache dal sistema. Questo importo è indicato in Mb.
MemTotal Numero È la memoria ram totale sul sistema. Questo importo è indicato in Mb.
memused Numero È la memoria utilizzata dal sistema. Questo importo è indicato in Mb.
SwapCached Numero È la memoria cache totale riservata.
SwapFree Numero È la memoria libera totale non memorizzata nella cache dal sistema. Questo importo è indicato in Mb.
SwapTotal Numero È la memoria di scambio totale riservata.
SwapUsed Numero È lo scambio utilizzato memoria dal sistema, su sistemi ottimali dovrebbe essere 0.

Oggetto di rete:

Settore Tipologia Descrizione
in in Numero Immettere il traffico per questo interfaccia.
fuori fuori Numero Il traffico in uscita per questo interfaccia.

Mostra il throughput dell'interfaccia

Mostra il throughput dell'interfaccia

Richiedi un esempio:

curl -k -X GET -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
https://<zevenet_server>:444/zapi/v3.2/zapi.cgi/stats/interfaces/throughput

GET /stats/interfaces/throughput

Ottieni una media al secondo del traffico in entrata e in uscita del throughput per ogni interfaccia nic, bonding e vlan.

Esempio di risposta:

{
   "description" : "throughput stats",
   "params" : {
      "bond" : {
         "in" : {
            "bytes" : "0",
            "packets" : "0"
         },
         "out" : {
            "bytes" : "0",
            "packets" : "0"
         }
      },
      "bond.2" : {
         "in" : {
            "bytes" : "0",
            "packets" : "0"
         },
         "out" : {
            "bytes" : "0",
            "packets" : "0"
         }
      },
      "eth0" : {
         "in" : {
            "bytes" : "2672",
            "packets" : "20"
         },
         "out" : {
            "bytes" : "8234",
            "packets" : "22"
         }
      },
      "eth1" : {
         "in" : {
            "bytes" : "56",
            "packets" : "1"
         },
         "out" : {
            "bytes" : "0",
            "packets" : "0"
         }
      },
      "eth1.2" : {
         "in" : {
            "bytes" : "0",
            "packets" : "0"
         },
         "out" : {
            "bytes" : "0",
            "packets" : "0"
         }
      },
   }
}

Parametri di risposta

La risposta sarà un JSON con una chiave params il cui valore è un oggetto di interfaccia con il nome dell'interfaccia come chiave e come valore un oggetto di input e output con i campi:

Settore Tipologia Descrizione
bytes Numero Numero di B / s che passa attraverso l'interfaccia.
pacchetti Numero Numero di pacchetti per secondi che attraversano l'interfaccia.

Mostra statistiche di rete

Mostra statistiche di rete

Richiedi un esempio:

curl -k -X GET -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
https://<zevenet_server>:444/zapi/v3.2/zapi.cgi/stats/system/network

GET /stats/system/network

Ottieni un riepilogo del traffico totale di input e output attraverso un'interfaccia di rete.

Esempio di risposta:

{
   "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"
        }
      ]
   }
}

Parametri di risposta

La risposta sarà un JSON con una chiave params il cui valore è un oggetto con le seguenti chiavi:

Settore Tipologia Descrizione
quando Corda Data del sistema
hostname Corda Nome dell'ospite.
interfacce Oggetto[] Statistiche del traffico di rete.

Interfacce oggetto

Settore Tipologia Descrizione
in Corda Traffico totale in ingresso in MB.
interfaccia Corda Nome dell'interfaccia
su Corda Traffico totale in uscita in MB.

Mostra statistiche sulle interfacce

Mostra statistiche sulle interfacce

Richiedi un esempio:

curl -k -X GET -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
https://<zevenet_server>:444/zapi/v3.2/zapi.cgi/stats/system/network/interfaces

GET /stats/system/network/interfaces

Ottieni un riepilogo di ogni interfaccia di rete.

Esempio di risposta:

{
   "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"
            ]
         }
      ]
   }
}

Parametri di risposta

La risposta sarà un JSON con una chiave params il cui valore è un oggetto con le chiavi legame che collaborano con noi, attingono direttamente dalla storia e dalla tradizione veneziana per poi nic.

Settore Tipologia Descrizione
legame Oggetto[] Bond interface statistics.
nic Oggetto[] Statistiche dell'interfaccia NIC.

Oggetto Bond:

Settore Tipologia Descrizione
in Corda Traffico totale in ingresso in MB.
interfaccia Corda Nome dell'interfaccia utilizzato come identificativo univoco.
ip Corda IP dell'interfaccia.
Mac Corda MAC dell'interfaccia.
su Corda Traffico totale in uscita in MB.
schiavi String [] Elenco di slave che costruiscono l'interfaccia di legame.
status Corda Stato dell'interfaccia. Il valore può essere giù, l'interfaccia è disabilitata; up, l'interfaccia è abilitata.
virtuale String [] Interfacce virtuali che ereditano da questa interfaccia.
VLAN String [] Interfacce VLAN che ereditano da questa interfaccia.

Oggetto Nic:

Settore Tipologia Descrizione
in Corda Traffico totale in ingresso in MB.
interfaccia Corda Nome dell'interfaccia utilizzato come identificativo univoco.
ip Corda IP dell'interfaccia.
Mac Corda MAC dell'interfaccia.
su Corda Traffico totale in uscita in MB.
status Corda Stato dell'interfaccia. Il valore può essere giù, l'interfaccia è disabilitata; up, l'interfaccia è abilitata.
virtuale String [] Interfacce virtuali che ereditano da questa interfaccia.
VLAN String [] Interfacce VLAN che ereditano da questa interfaccia.

Mostra le statistiche della memoria

Mostra le statistiche della memoria

Richiedi un esempio:

curl -k -X GET -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
https://<zevenet_server>:444/zapi/v3.2/zapi.cgi/stats/system/memory

GET /stats/system/memory

Ottieni un riepilogo della memoria di sistema.

Esempio di risposta:

{
   "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"
   }
}

Parametri di risposta

La risposta sarà un JSON con una chiave params il cui valore è un oggetto di memoria.

Memoria oggetto.

Settore Tipologia Descrizione
buffer Numero È la memoria utilizzata dai buffer. Questo importo è indicato in Mb.
Copia cache Numero È la memoria totale memorizzata dal sistema. Questo importo è indicato in Mb.
MemFree Numero È la memoria libera totale non memorizzata nella cache dal sistema. Questo importo è indicato in Mb.
MemTotal Numero È la memoria ram totale sul sistema. Questo importo è indicato in Mb.
memused Numero È la memoria utilizzata dal sistema. Questo importo è indicato in Mb.
SwapCached Numero È la memoria cache totale riservata.
SwapFree Numero È la memoria libera totale non memorizzata nella cache dal sistema. Questo importo è indicato in Mb.
SwapTotal Numero È la memoria di scambio totale riservata.
SwapUsed Numero È lo scambio utilizzato memoria dal sistema, su sistemi ottimali dovrebbe essere 0.
quando Corda Data del sistema
hostname Corda Nome dell'ospite.

Mostra statistiche sul carico

Mostra statistiche sul carico

Richiedi un esempio:

curl -k -X GET -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
https://<zevenet_server>:444/zapi/v3.2/zapi.cgi/stats/system/load

GET /stats/system/load

Ottieni un riepilogo del carico del sistema della CPU.

Esempio di risposta:

{
   "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"
   }
}

Parametri di risposta

Settore Tipologia Descrizione
Last_1 Numero Carica l'utilizzo del sistema l'ultimo.
Last_5 Numero Carica l'utilizzo del sistema negli ultimi cinque minuti.
Last_15 Numero Carica l'utilizzo del sistema gli ultimi cinque minuti.
quando Corda Data del sistema
hostname Corda Nome dell'ospite.

Mostra le statistiche della CPU

Mostra le statistiche della CPU

Richiedi un esempio:

curl -k -X GET -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
https://<zevenet_server>:444/zapi/v3.2/zapi.cgi/stats/system/cpu

GET /stats/system/cpu

Esempio di risposta:

{
   "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
   }
}

Parametri di risposta

Settore Tipologia Descrizione
colori Numero Numero di core nel processore.
inattivo Numero CPU non utilizzata da nessun programma.
iowait Numero CPU utilizzata dal processo di input o output.
irq Numero CPU utilizzata da interrupt di hardware.
bello Numero Priorità di schedulazione della CPU.
softirq Numero CPU utilizzata dalle interruzioni software.
sys Numero CPU utilizzata dal sistema.
uso Numero CPU totale utilizzata.
Utente Numero CPU utilizzata dall'utente.
quando Corda Data del sistema
hostname Corda Nome dell'ospite.

Mostra le statistiche delle connessioni

Mostra le statistiche delle connessioni

Richiedi un esempio:

curl -k -X GET -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
https://<zevenet_server>:444/zapi/v3.2/zapi.cgi/stats/system/connections

GET /stats/system/connections

Ottieni le connessioni correnti totali nel sistema. Il contatore somma qualsiasi tipo di connessione tracciata: ASSURED, ESTABLISHED, SYN_SENT, TIME_WAIT, LISTEN ...

Esempio di risposta:

{
   "description" : "System connections",
   "params" : {
      "connections" : 324
   }
}

Parametri di risposta

Settore Tipologia Descrizione
connessioni Numero Connessioni totali tracciate in realtà.

Mostra il numero di aziende agricole

Mostra il numero di aziende agricole

Richiedi un esempio:

curl -k -X GET -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
https://<zevenet_server>:444/zapi/v3.2/zapi.cgi/stats/farms/total

GET /stats/farms/total

Mostra il totale delle fattorie create nel sistema.

Esempio di risposta:

{
   "description" : "Number of farms.",
   "number" : 8
}

Parametri di risposta

Settore Tipologia Descrizione
numero Numero È il numero di fattorie esistenti nel sistema.

Mostra le statistiche delle aziende agricole

Mostra le statistiche delle aziende agricole

Richiedi un esempio:

curl -k -X GET -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
https://<zevenet_server>:444/zapi/v3.2/zapi.cgi/stats/farms

GET /stats/farms

Ottieni un riepilogo delle connessioni e della configurazione per tutte le farm nel sistema.

Esempio di risposta:

{
   "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"
      }
   ]
}

Parametri di risposta

Settore Tipologia Descrizione
sviluppate Numero Numero totale di connessioni stabilite correnti.
farmname Corda Nome dell'azienda, identificatore univoco.
in attesa di Numero Numero di connessioni in sospeso.
tuo profilo Corda Tipo di fattoria I valori possibili sono: datalink, l4xnat, http, https or GSLB. Ogni profilo è definito nella sua sezione.
status Corda Stato di fattoria I valori di stato disponibili sono: giù, la fattoria non è in esecuzione; riavvio necessario, la farm è attiva ma è in attesa di un'azione di riavvio; critico, la fattoria è attiva e tutti i backend sono irraggiungibili o di manutenzione; problema, la fattoria è attiva e ci sono alcuni backend irraggiungibili, ma quasi un back-end è in fase di sviluppo; manutenzione, la farm è attiva e ci sono back-up in up status, ma quasi un back-end è in modalità manutenzione; up, la fattoria è su e tutti i backend stanno lavorando con successo.
vip Corda IP della farm, in cui il servizio virtuale è in ascolto.
vport Corda Porto della fattoria, dove il servizio virtuale è in ascolto.

Mostra una statistica della fattoria

Mostra una statistica della fattoria

Richiedi un esempio:

curl -k -X GET -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
https://<zevenet_server>:444/zapi/v3.2/zapi.cgi/stats/farms/farmname

GET /stats/farms/<farmname>

Mostra lo stato attuale della farm, il loro stato di back-end e le connessioni. Ogni farm risponderà con oggetti diversi, a seconda del profilo.

Esempio di risposta per la farm HTTP:

{
   "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"
      }
   ]
}

Parametri di risposta nelle farm HTTP

Settore Tipologia Descrizione
backend Oggetto[] Mostra informazioni sui backend.
sessioni Oggetto[] Mostra informazioni sulle sessioni.

Oggetto di backend

Settore Tipologia Descrizione
sviluppate Numero Numero totale di connessioni stabilite.
id Numero Identificatore univoco di backend.
ip Corda IP in cui il vero servizio è in ascolto.
in attesa di Numero Numero di connessioni in sospeso.
porto Numero Porto in cui il vero servizio è in ascolto.
Servizio Assistenza Corda Nome del servizio utilizzato come identificatore univoco.
status Corda Stato back-end. I valori possibili sono: up, la farm è in esecuzione e il back-end è pronto per ricevere connessioni; giù, la farm è in esecuzione e il servizio ha rilevato che il backend non funziona; manutenzione, il backend è contrassegnato come non pronto per ricevere le connessioni dall'amministratore, questa opzione è utile per le attività di manutenzione del backend; indefinito, lo stato del backend non è stato controllato.

Oggetto della sessione

Settore Tipologia Descrizione
cliente Corda Identificatore univoco del client.
id Corda Identificatore univoco di backend assegnato al client.
Servizio Assistenza Corda Identificativo univoco del servizio assegnato al client.
Sessione Corda Identificatore univoco della sessione. Questo valore dipende dal tipo di persistenza.

Esempio di risposta per la farm GSLB:

{
   "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
   }
}

Parametri di risposta nelle farm GSLB

Settore Tipologia Descrizione
backend Oggetto[] Mostra informazioni sui back-end.
cliente Oggetto Statistiche relative al cliente.
Oggetto Informazioni estese sul servizio.
server Oggetto Statistiche relative al server.

Oggetto di backend

Settore Tipologia Descrizione
id Numero Identificatore univoco di backend.
ip Corda IP in cui il vero servizio è in ascolto.
porto Numero Porto in cui il vero servizio è in ascolto.
Servizio Assistenza Corda Nome del servizio utilizzato come identificatore univoco.
status Corda Stato back-end. I valori possibili sono: up, la farm è in esecuzione e il back-end è pronto per ricevere connessioni; giù, la farm è in esecuzione e il servizio ha rilevato che il backend non funziona; indefinito, lo stato del backend non è stato controllato.

Oggetto client

Settore Tipologia Descrizione
edns_big Numero Risposte maggiori di 512 byte.
edns_tc Numero La dimensione del buffer DNS esteso specificato dal client era troppo piccola per i dati richiesti.
recvfail Numero Numero di errori UDP, in cui il sistema operativo indicava che qualcosa di brutto si verificava alla ricezione.
reqs Numero Numero totale di richieste UDP gestite dal server.
sendfail Numero Numero di errori UDP, in cui il sistema operativo indicava che si verificava qualcosa di brutto durante l'invio.
tc Numero Risposte che sono state troncate con il set di bit TC.

Oggetto esteso

Settore Tipologia Descrizione
badvers Numero Richiesta che aveva un EDNS OPT-RR con una versione non supportata.
caduto Numero Richieste perse per formato non valido.
EDNS Numero La richiesta conteneva un EDNS OPT-RR.
edns_clientsub Numero Sottoinsieme di richieste edns che hanno specificato l'opzione edns_client_subnet.
FORMERR Numero La richiesta era formattata male, ma era abbastanza sana da mandare una risposta con il rERROR FORMERR.
nessun errore Numero Richieste di successo
NOTIMP Numero Servizio richiesto non implementato da questo demone, come le richieste di trasferimento di zona.
NXDOMAIN Numero Richiesta di un nome di dominio inesistente.
rifiutato Numero La richiesta è stata rifiutata dal server perché il server non è autorevole per il nome richiesto.
v6 Numero Richiesta da un client IPv6.

Oggetto server

Settore Tipologia Descrizione
recvfail Numero Numero di errori TCP, in cui il sistema operativo indica che qualcosa di brutto è successo alla ricezione.
reqs Numero Numero totale di richieste TCP gestite dal server.
sendfail Numero Numero di errori TCP, in cui il sistema operativo indicava che si verificava qualcosa di brutto durante l'invio.

Esempio di risposta per farm L4xNAT:

{
   "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" : 1,
         "id" : 5,
         "ip" : "192.168.5.100",
         "pending" : 0,
         "port" : "8080",
         "status" : "up"
      }
   ],
   "description" : "List farm stats",
   "sessions" : [
      {
         "id" : 5,
         "session" : "192.168.5.100"
      }
   ]

}

Parametri di risposta nelle farm L4xNAT

La risposta sarà un JSON con oggetto backend che collaborano con noi, attingono direttamente dalla storia e dalla tradizione veneziana per poi sessioni:

Oggetto di backend:

Settore Tipologia Descrizione
sviluppate Numero Numero totale di connessioni stabilite correnti.
id Numero Identificatore univoco di backend.
ip Corda IP in cui il vero servizio è in ascolto.
in attesa di Numero Numero di connessioni in sospeso.
porto Numero Porto in cui il vero servizio è in ascolto.
status Corda Stato back-end. I valori possibili sono: up, la farm è in esecuzione e il back-end è pronto per ricevere connessioni; giù, la farm è in esecuzione e il servizio ha rilevato che il backend non funziona; manutenzione, il backend è contrassegnato come non pronto per ricevere le connessioni dall'amministratore, questa opzione è utile per le attività di manutenzione del backend; indefinito, lo stato del backend non è stato controllato.

Oggetto della sessione:

Settore Tipologia Descrizione
id Numero Identificatore univoco di back-end al quale è assegnato il client.
Sessione Corda Identificatore univoco della sessione. È l'IP del client.

Le statistiche delle farm di Datalink non sono attualmente disponibili.

Mostra lo stato del modulo

Mostra lo stato del modulo

Richiedi un esempio:

curl -k -X GET -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
https://<zevenet_server>:444/zapi/v3.2/zapi.cgi/stats/farms/modules

GET /stats/farms/modules

Ottieni un riepilogo delle statistiche dei moduli. Questa chiamata mostra lo stato di ciascun modulo, il numero di configurati, il numero di farm messi giù e in alto.

La definizione dei moduli è in Farms .

Esempio di risposta:

{
   "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
      }
   }
}

Parametri di risposta

La risposta sarà un JSON con tre chiavi: dslb, GSLB che collaborano con noi, attingono direttamente dalla storia e dalla tradizione veneziana per poi lslb.

Settore Tipologia Descrizione
critico Numero Numero di aziende in stato critico. La farm è critica quando è attiva e tutti i backend non sono raggiungibili (down o maintenance).
giù Numero Numero di fattorie interrotte. Le fattorie vengono fermate dall'amministratore di sistema.
problema Numero Numero di aziende in stato problematico. La fattoria è un problema quando è attiva e quasi un back-end è inattivo.
totale Numero Numero di fattorie totali.
up Numero Numero di fattorie in esecuzione. Qui viene visualizzato maintenanced e è necessario riavviare lo stato della farm.

Mostra le statistiche del modulo

Mostra le statistiche del modulo

Richiedi un esempio:

curl -k -X GET -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
https://<zevenet_server>:444/zapi/v3.2/zapi.cgi/stats/farms/modules/lslb

GET /stats/farms/modules/<module>

Mostra le statistiche delle farm di un modulo specificato.

I valori disponibili per modulo parametro sono: lslb, GSLB or dslb.

Esempio di risposta:

{
   "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"
      }
   ]
}

Parametri di risposta

La risposta sarà un oggetto JSON con informazioni sulle farm nel modulo.

Settore Tipologia Descrizione
sviluppate Numero Numero totale di connessioni stabilite correnti.
farmname Corda Nome dell'azienda agricola, identificatore univoco per le aziende agricole.
in attesa di Numero Numero di connessioni in sospeso.
tuo profilo Corda Tipo di fattoria I valori possibili sono: datalink, l4xnat, http, https or GSLB. Ogni profilo è definito in se stessi sezione.
status Corda Stato di fattoria I valori di stato disponibili sono: giù, la fattoria non è in esecuzione; riavvio necessario, la farm è attiva ma è in attesa di un'azione di riavvio; critico, la fattoria è attiva e tutti i backend sono irraggiungibili o di manutenzione; problema, la fattoria è attiva e ci sono alcuni backend irraggiungibili, ma quasi un back-end è in fase di sviluppo; manutenzione, la farm è attiva e ci sono back-up in up status, ma quasi un back-end è in modalità manutenzione; up, la fattoria è su e tutti i backend stanno lavorando con successo.
vip Corda IP della farm, in cui il servizio virtuale è in ascolto.
vport Corda Porto della fattoria, dove il servizio virtuale è in ascolto.

Monitoraggio - Grafici

Questa sezione è utile per monitorare il sistema di bilanciamento del carico interno per rilevare i problemi attraverso i parametri di utilizzo della CPU, memoria di scambio, memoria ram, tutte le interfacce nework configurate, carico e memoria del disco rigido.

Inoltre, sarete in grado di accedere alla cronologia settimanale, di mammella e annuale.

I grafici con informazioni vengono risposti nel formato base64.

Elenca i grafici disponibili

Elenca i grafici disponibili

Richiedi un esempio:

curl -k -X GET -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
https://<zevenet_server>:444/zapi/v3.2/zapi.cgi/graphs

GET /graphs

Mostra un oggetto con tutti i grafici disponibili nel sistema. Mostra l'eventuale richiesta che può essere fatta.

Esempio di risposta:

{
   "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"
         ]
      }
   ]
}

Parametri di risposta

La risposta sarà un JSON tre tipi di grafici, aziende agricole, interfacce che collaborano con noi, attingono direttamente dalla storia e dalla tradizione veneziana per poi sistema.

Settore Tipologia Descrizione
aziende agricole Stringa[] Elenco dei grafici della fattoria disponibili.
interfacce Stringa[] Elenco di grafici di interfacce disponibili.
sistema Oggetto[] Elenco dei grafici di sistema disponibili. La matrice ha un oggetto con una matrice che indica i punti di montaggio del disco.

Oggetto di sistema:

L'oggetto di sistema contiene un elenco di array relativo al sistema e un oggetto disco con il formato successivo.

Settore Tipologia Descrizione
disco Stringa[] I valori di questo array sono tutti esistenti punti di mount nel sistema, ognuno ha grafici disponibili.

Mostra grafici

Mostra grafici

Richiedi un esempio per una fattoria:

curl -k -X GET -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
https://<zevenet_server>:444/zapi/v3.2/zapi.cgi/graphs/farms/httpweb

Richiedi un esempio per un'interfaccia:

curl -k -X GET -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
https://<zevenet_server>:444/zapi/v3.2/zapi.cgi/graphs/interfaces/eth3

Richiedi un esempio per un disco:

curl -k -X GET -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
https://<zevenet_server>:444/zapi/v3.2/zapi.cgi/graphs/system/disk/root/boot

GET /graphs/<graph>

I valori disponibili per grafico siamo:

Valore Descrizione
farms/<farmname> farmname, identificatore univoco della farm.
interfaces/<interface> interfaccia, identificatore univoco dell'interfaccia.
system/<system> sistema, i possibili grafici di sistema sono: cpu, caricare, RAM or swap.
system/disk/<mount point> punto di mount, è un valore di disco oggetto, restituito dalla chiamata "GET / graphs".

Esempio di risposta:

{
   "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"
      }
   ]
}

Parametri di risposta

Settore Tipologia Descrizione
frequenza Corda Periodo di tempo utilizzato per generare il grafico. I valori possibili sono: alle lezioni, settimanale, mensile or annuale.
grafici Corda Grafico in formato 64 di base.

Mostra grafico di frequenza

Mostra grafico di frequenza

Richiedi un esempio per una fattoria:

curl -k -X GET -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
https://<zevenet_server>:444/zapi/v3.2/zapi.cgi/graphs/farms/httpweb/daily

Richiedi un esempio per un'interfaccia:

curl -k -X GET -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
https://<zevenet_server>:444/zapi/v3.2/zapi.cgi/graphs/interfaces/eth3/monthly

Richiedi un esempio per un disco:

curl -k -X GET -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
https://<zevenet_server>:444/zapi/v3.2/zapi.cgi/graphs/system/disk/root/boot/yearly

GET /graphs/<graph>/<frequency>

I valori disponibili per grafico siamo:

Valore Descrizione
farms/<farmname> farmname, identificatore univoco della farm.
interfaces/<interface> interfaccia, identificatore univoco dell'interfaccia.
system/<system> sistema, i possibili grafici di sistema sono: cpu, caricare, RAM or swap.
system/disk/<mount point> punto di mount, è un valore di disco oggetto, restituito dalla chiamata "GET / graphs".

I valori disponibili per frequenza siamo:

Settore Tipologia Descrizione
frequenza Corda Periodo di tempo utilizzato per generare il grafico. I valori possibili sono: alle lezioni, settimanale, mensile or annuale.

Esempio di risposta:

{
    "description" : "Get farm graphs",
    "graph" : "PNG IN BASE 64"
}

Parametri di risposta

Settore Tipologia Descrizione
grafici Corda Grafico in formato 64 di base.

Monitoraggio - Alias

Metti un alias su un'interfaccia o un backend per identificarlo rapidamente.

Esistono due tipi di alias, l'alias dell'interfaccia può essere applicato a tutti i tipi di interfacce: NIC, bonding, vlan o virtual. È un modo semplice per mettere in relazione un nome di interfaccia con un nome più amichevole.

L'altro tipo di alias è per i backend. Questo riguarda l'IP back-end con un alias.

Gli alias sono solo informazioni visive, non sostituiscono l'IP back-end o il nome dell'interfaccia in una richiesta zapi.

Elenca gli alias

Elenca gli alias

Richiedi un esempio:

curl -k -X GET -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
https://<zevenet_server>:444/zapi/v3.2/zapi.cgi/aliases/backends

GET /aliases/<backends|interfaces>

Elenca gli alias nel sistema per interfacce o backend.

Esempio di risposta:

{
   "description" : "List the aliases",
   "params" : [
      {
         "id" : "192.168.11.13",
         "alias" : "http-backend"
      },
      {
         "id" : "127.0.0.1",
         "alias" : "localhost"
      }
   ]
}

Parametri di risposta

L'API restituisce un hash in cui la chiave è l'IP di back-end o il nome dell'interfaccia e il valore è il suo alias.

Crea o modifica un alias

Crea o modifica un alias

Richiedi un esempio:

curl -k -X PUT -H 'Content-Type: application/json' -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
-d '{"alias":"management"}'
https://<zevenet_server>:444/zapi/v3.2/zapi.cgi/aliases/interfaces/eth0

PUT /aliases/<backends|interfaces>/<id>

Se l'oggetto ha un alias, verrà sostituito, altrimenti verrà creato un alias per l'oggetto.

I id Il parametro URI è l'IP di back-end o il nome dell'interfaccia.

Richiedi i parametri

Settore Tipologia Descrizione
alias Corda È il nick per l'elemento id inviato nell'URI.

Esempio di risposta:

{
   "description" : "Set an alias",
   "message" : "Alias for eth0 has been updated successfully",
   "success" : "true"
}

Parametri di risposta

Lo zapi restituisce un messaggio di successo se il processo è stato eseguito correttamente.

Elimina un alias

Elimina un alias

Richiedi un esempio:

curl -k -X DELETE -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
https://<zevenet_server>:444/zapi/v3.2/zapi.cgi/aliases/interfaces/eth0

DELETE /aliases/<backends|interfaces>/<id>

Elimina l'alias di un'interfaccia o back-end.

I id Il parametro URI è l'IP di back-end o il nome dell'interfaccia.

Esempio di risposta:

{
   "description" : "Delete an alias",
   "message" : "The alias has been deleted.",
   "success" : "true"
}

Parametri di risposta

Lo zapi restituisce un messaggio di successo se il processo è stato eseguito correttamente.

IPDS

Questo modulo è l'implementazione di a IPS (Sistema di prevenzione delle intrusioni) e IDS (Intrusion Detection System) per offrire all'utente un livello di sicurezza. Il modulo IPDS ispeziona il traffico poco prima per raggiungere i moduli Load Balancing LSLB or GSLB, se il traffico viene rilevato come dannoso, verrà rifiutato.

Funziona applicando le regole di sicurezza al sistema che sarà definito come oggetto di diversa natura. Ognuno offre una soluzione per azioni dannose o sospette esterne. Questo strumento aiuta gli amministratori di sistema a controllare minacce e attacchi.

Le regole disponibili da applicare a Zevenet possono essere blacklist, DoS or RBL.

Elenca tutte le regole IPDS

Elenca le regole IPDS

Richiedi un esempio:

curl -k -X GET -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
https://<zevenet_server>:444/zapi/v3.2/zapi.cgi/ipds

GET /ipds

Elenca tutte le regole IPDS che escono dal sistema.

Esempio di risposta:

{
   "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"
      }
   ]
}

Parametri di risposta

La risposta sarà un oggetto JSON con una chiave impostata su params. Il valore di questo sarà un array di oggetti blacklist, ognuno dei quali contiene gli attributi chiave di seguito.

Settore Tipologia Descrizione
Nome Corda Nome della regola IPDS. È usato come identificatore univoco.
regola Corda È la natura della regola ipds. Può essere lista nera, dos or RBL.
Digitare Corda Questo campo appare nelle regole dos e definisce se la regola è sistema, si applica al bilanciatore; o fattoria, le regole si applicano a una fattoria.

IPDS - Blacklist

Liste nere consente agli utenti di utilizzare gli elenchi per filtrare o consentire il traffico in base agli IP di origine (traffico in ingresso).

Esistono due tipi di elenchi:

  1. Remoti: le liste sono ottenute da un URL, quelle liste non sono modificabili e possono essere sheduled per essere scaricate.
  2. Locale: gli utenti possono creare le proprie liste con una determinata politica, negare se l'IP incomming corrisponde, il traffico verrà rifiutato o consentire se l'IP incomming corrisponde, allora il traffico sarà consentito.

Questo modulo include precaricato elenchi forniti dal team di Zevenet, l'elenco è pronto per essere applicato alle fattorie. Inoltre, gli utenti possono creare i propri elenchi personalizzati.

Diversi elenchi possono essere applicati alla stessa farm, se l'IP di origine corrisponde a una parte dell'elenco il traffico sarà consentito o negato a seconda della politica della lista nera. Nel momento in cui l'IP coincide, non vengono più eseguiti controlli dell'elenco nero sull'IP di origine.

Se un IP sorgente è in due elenchi diversi, uno di tipo negare e altro di tipo consentire, quindi sempre la politica di autorizzazione viene valutata per prima.

Elenca tutte le regole delle liste nere

Elenca tutte le liste nere

Richiedi un esempio:

curl -k -X GET -H "ZAPI_KEY: <ZAPI_KEY_STRING>" 
https://<zevenet_server>:444/zapi/v3.2/zapi.cgi/ipds/blacklists

GET /ipds/blacklists

Elenca tutte le blacklist create dall'utente o precaricate nel sistema che possono essere applicate alle farm.

Esempio di risposta:

{
   "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"
      },
   ]
}

Parametri di risposta

La risposta sarà un oggetto JSON con una chiave impostata su params. Il valore di questo sarà un array di oggetti blacklist, ognuno dei quali contiene gli attributi chiave di seguito.

Settore Tipologia Descrizione
aziende agricole Stringa[] Le fattorie elencano dove viene applicata la lista nera.
Nome Corda Nome della lista nera È usato come identificatore univoco.
politica Corda Azione da applicare alla fonte. Le opzioni sono: negare, bloccare il traffico in ingresso da fonti della lista; o consentire accetta il traffico da fonti della lista.
precarico Corda I valori possibili sono: vero, la lista nera è stata precaricata nel sistema; o falso, la lista nera è stata creata dall'amministratore di sistema.
status Corda I valori possibili sono: up, la lista nera è attivata e il blocco (o permesso) del traffico di fonti forma la lista; o giù, in realtà la regola non è in esecuzione e non sta filtrando il traffico.
Digitare Corda Dove viene salvata la lista e chi la mantiene. I valori sono: locale, la lista viene salvata nel sistema locale e può essere modificata localmente, oppure a distanza, l'elenco viene scaricato da una fonte remota tramite a URL, Non può essere modificato localmente, quindi le modifiche devono essere prese nella sorgente remota.

Recupera una regola della lista nera

Recupera lista nera

Richiedi un esempio:

curl -k -X GET -H "ZAPI_KEY: <ZAPI_KEY_STRING>" 
https://<zevenet_server>:444/zapi/v3.2/zapi.cgi/ipds/blacklists/loc

GET /ipds/blacklists/<name>

Mostra i parametri di configurazione e descrizione della lista nera. Nome è l'identificativo univoco della lista nera.

Parametri di risposta

Esempio di elenco locale di risposta:

{
   "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"
   }
}

Oggetto lista nera locale:

Settore Tipologia Descrizione
aziende agricole Stringa[] Le fattorie elencano dove viene applicata la lista nera.
Nome Corda Nome della lista nera È usato come identificatore univoco.
politica Corda Azione da applicare a una fonte. Le opzioni sono: negare, bloccare il traffico in ingresso da fonti della lista; o consentire accetta il traffico da fonti della lista.
precarico Corda I valori possibili sono: vero, la lista nera è stata precaricata nel sistema; o falso, la lista nera è stata creata dall'amministratore di sistema.
status Corda I valori possibili sono: up, la lista nera è attivata e il blocco (o permesso) del traffico di fonti forma la lista; o giù, in realtà la regola non è in esecuzione e non sta filtrando il traffico.
Digitare Corda Dove viene salvata la lista e chi la mantiene. I valori sono: locale, l'elenco viene salvato nel sistema e gestito dall'amministratore di sistema; o a distanza, l'elenco viene scaricato da un URL remoto.
fonti Oggetto[] Elenco di IP che l'elenco controlla. Formato di rete di origine accettato: Indirizzo di rete / maschera bit o IP

Esempio di elenco remoto delle risposte:

{
   "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"
   }
}

Oggetto della lista nera remota:

Settore Tipologia Descrizione
aziende agricole Stringa[] Le fattorie elencano dove viene applicata la lista nera.
Nome Corda Nome lista nera È usato come identificatore univoco.
politica Corda Azione da applicare a una fonte. Le opzioni sono: negare, bloccare il traffico in ingresso da fonti della lista; o consentire accetta il traffico da fonti della lista.
precarico Corda I valori possibili sono: vero, la lista nera è stata precaricata nel sistema; o falso, la lista nera è stata creata dall'amministratore di sistema.
Digitare Corda Dove viene salvata la lista e chi la mantiene. I valori sono: locale, l'elenco viene salvato nel sistema e gestito dall'amministratore di sistema; o a distanza, l'elenco viene scaricato da un telecomando URL.
fonti Oggetto[] IPs di Ssource che elencano i controlli. Se la lista è di Digitare a distanza quindi il contenuto dell'elenco non viene mostrato fino al primo download.
aggiorna stato Corda Stato dell'ultimo download dell'elenco e la data dell'ultimo aggiornamento riuscito nel sistema locale.
URL Corda Da dove viene scaricato l'elenco remoto. Il formato remoto deve essere un elenco di uno source rete / maschera bit o IP per riga.
frequenza Corda Frequenza di aggiornamento dell'elenco remoto. Le opzioni sono: alle lezioni, aggiorna tutti i giorni, una volta o periodicamente, questo è indicato in frequency_type campo; settimanale, aggiorna una volta alla settimana; o mensile, aggiorna una volta al mese.
frequency_type Corda Questo parametro completa il frequenza ogni giorno quando il suo valore è giornaliero. I valori possibili sono: esattamente. definire un'ora nel giorno; o periodo, definire un periodo di tempo per l'aggiornamento durante il giorno.
giorno Stringa o numero Questo parametro completa il parametro frequenza quando frecuency valore è settimanale or mensile. Se frecuency is settimanale questo parametro deve essere un aday della settimana (lunedi, martedì, mercoledì, giovedì, venerdì, sabato or domenica) Se frequenza valore è mensile allora questo parametro deve essere un giorno del mese (un numero tra 1 che collaborano con noi, attingono direttamente dalla storia e dalla tradizione veneziana per poi 31).
a che ora Oggetto È una struttura che dipende dai campi frequenza.
status Corda I valori possibili sono: up, la lista nera è attivata e il blocco (o permesso) del traffico di fonti forma la lista; o giù, in realtà la regola non è in esecuzione e non sta filtrando il traffico.

Oggetto orario per frequenza giornaliera e periodo frequency_type

Settore Tipologia Descrizione
periodo Numero Con quale frequenza l'elenco viene aggiornato.
unità Corda Unità di periodo. Le opzioni sono: verbale, indica che l'elenco verrà aggiornato ogni minuto configurato; o orario, la lista verrà aggiornata ogni ora configurata.

Oggetto temporale per altre frequenze

Settore Tipologia Descrizione
ora Numero Ora per aggiornare la lista. Il valore deve essere un numero tra 0 che collaborano con noi, attingono direttamente dalla storia e dalla tradizione veneziana per poi 23.
verbale Numero Minuti per aggiornare la lista. Il valore deve essere un numero tra 0 che collaborano con noi, attingono direttamente dalla storia e dalla tradizione veneziana per poi 59.

Oggetto delle fonti

Settore Tipologia Descrizione
id Numero Identificatore univoco di origine nell'elenco.
source Corda Indirizzi IP o segmenti netti che l'elenco controlla.

Crea una regola di lista nera

Crea una nuova lista nera

Richiedi un esempio per un elenco locale:

curl -k -X POST -H "ZAPI_KEY: <ZAPI_KEY_STRING>" -H 'Content-Type: application/json'
-d '{"name":"newListLoc", "type":"local", "policy":"allow"}'
https://<zevenet_server>:444/zapi/v3.2/zapi.cgi/ipds/blacklists

Richiedi un esempio per un elenco remoto:

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://<zevenet_server>:444/zapi/v3.2/zapi.cgi/ipds/blacklists

POST /ipds/blacklists

Creare una lista nera da utilizzare nelle farm. Le liste nere possono essere di due tipi:

  1. Locale: le fonti vengono aggiunte dall'utente. L'elenco viene salvato localmente.
  2. Remoto: le fonti sono ottenute da una postazione remota. Questa posizione è indicata da un URL. Il formato di elenco remoto supportato è uno Indirizzo di rete / bit maschera or IP linea per linea.

Richiedi i parametri

Settore Tipologia Descrizione Obbligatorio
Nome Corda Nome della lista nera È usato come identificatore univoco. vero
Digitare Corda Dove viene salvata la lista e chi la manutenziona. I valori sono: locale, la lista viene salvata in sistema e manutenzione per sistema di amministrazione; o a distanza, la lista è presa da un servizio esterno attraverso a URL e il servizio dell'amministratore manterrà l'elenco. vero
politica Corda Azione da applicare a una fonte. Le opzioni sono: negare, bloccare il traffico in ingresso da fonti della lista; o consentire accetta il traffico da fonti della lista. Il valore predefinito è negato.
URL Corda Da dove viene scaricato l'elenco remoto. Il formato remoto deve essere un elenco di uno source per riga nel formato Indirizzo di rete / bit maschera or IP. vero per la lista remota
{
   "description" : "Post list list1",
   "params" : {
      "farms" : [],
      "name" : "newListLoc",
      "policy" : "deny",
      "preload" : "false",
      "type" : "local"
   }
}

Parametri di risposta

La risposta sarà un oggetto JSON con una chiave impostata su params. Il valore di questo sarà un array di oggetti blacklist, ognuno dei quali contiene i seguenti attributi chiave.

Settore Tipologia Descrizione
aziende agricole Stringa[] Le fattorie elencano dove viene applicata la lista nera.
Nome Corda Nome della lista nera È usato come identificatore univoco.
politica Corda Azione da applicare a una fonte. Le opzioni sono: negare, bloccare il traffico in ingresso da fonti della lista; o consentire accetta il traffico da fonti della lista.
precarico Corda I valori possibili sono: vero, la lista nera è stata precaricata nel sistema; o falso, la lista nera è stata creata per l'amministratore di sistema.
Digitare Corda Dove viene salvata la lista e chi la manutenziona. I valori sono: locale, la lista viene salvata in sistema e manutenzione per sistema di amministrazione; o a distanza, la lista è presa da un servizio esterno attraverso a URL e il servizio dell'amministratore manterrà l'elenco.

Modifica una regola della lista nera

Modifica una lista nera

Richiedi un esempio per un elenco locale:

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://<zevenet_server>:444/zapi/v3.2/zapi.cgi/ipds/blacklists/whiteList

PUT /ipds/blacklists/<name>

Modifica la configurazione di una regola di lista nera. Nome è l'identificativo univoco della lista nera.

Richiedi i parametri per un elenco locale:

Settore Tipologia Descrizione
Nome Corda Nome della lista nera È usato come identificatore univoco. Solo è modificabile su no precarico elenchi.
politica Corda Azione da applicare a una fonte. Le opzioni sono: negare, bloccare il traffico in ingresso da fonti della lista; o consentire accetta il traffico da fonti della lista.
source Stringa[] È un elenco di indirizzi IP o segmenti netti che l'elenco controlla. Per cambiare solo una fonte, vedi la sezione documentazione IPDS> Liste nere> Modifica l'origine di una lista nera. Solo le fonti sono modificate sul no precarico elenchi.

Esempio di risposta:

{
   "description" : "Modify list whiteList.",
   "params" : {
      "name" : "whiteList",
      "policy" : "allow",
      "preload" : "false",
      "type" : "local"
   }
}

Parametri di risposta

La risposta sarà un json con tutti i valori richiesti aggiornati. Vedere l'esempio di risposta per ulteriori informazioni.

Richiedi un esempio per un elenco remoto:

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://<zevenet_server>:444/zapi/v3.2/zapi.cgi/ipds/blacklists/newListRem

Richiedi un esempio per l'aggiornamento di un elenco ogni ora 2:

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://<zevenet_server>:444/zapi/v3.2/zapi.cgi/ipds/blacklists/newListRem

Richiedi un esempio per aggiornare un elenco tutti i giorni su 2: 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://<zevenet_server>:444/zapi/v3.2/zapi.cgi/ipds/blacklists/newListRem

Richiedi un esempio per l'aggiornamento di tutti i lunedì su 0: 00 AM:

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://<zevenet_server>:444/zapi/v3.2/zapi.cgi/ipds/blacklists/newListRem

Richiedi un esempio per l'aggiornamento del giorno 1 del mese su 12: 00 PM:

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://<zevenet_server>:444/zapi/v3.2/zapi.cgi/ipds/blacklists/newListRem

Richiedi i parametri per un elenco remoto

Settore Tipologia Descrizione
aziende agricole Stringa[] Le fattorie elencano dove viene applicata la lista nera.
Nome Corda Nome della lista nera È usato come identificatore univoco.
politica Corda Azione da applicare a una fonte. Le opzioni sono: negare, bloccare il traffico in ingresso da fonti della lista; o consentire accetta il traffico da fonti della lista.
URL Corda Da dove viene scaricato l'elenco remoto.
frequenza Corda Frequenza di aggiornamento dell'elenco remoto. Le opzioni sono: alle lezioni, aggiorna tutti i giorni, una volta o periodicamente, questo è indicato in frequency_type campo; settimanale, aggiorna una volta alla settimana; o mensile, aggiorna una volta al mese.
frequency_type Corda Questo parametro completa il frequenza ogni giorno quando il suo valore è giornaliero. I valori possibili sono: esattamente. definire un'ora nel giorno; o periodo, definire un periodo di tempo per l'aggiornamento durante il giorno.
giorno Stringa o numero Questo parametro completa il frequenza quando il suo valore è settimanale o mensile. Se è settimanale, questo parametro deve essere un giorno della settimana (lunedi, martedì, mercoledì, giovedì, venerdì, sabato or domenica) altrimenti se frequenza è mensile quindi questo parametro deve essere un mese giorno (numero tra 1 che collaborano con noi, attingono direttamente dalla storia e dalla tradizione veneziana per poi 31).
a che ora Oggetto È una struttura che dipende dai campi frequenza.

Oggetto del periodo di tempo

Questi sono i campi quando verrà configurato un periodo di tempo.

È necessaria la configurazione frequenza con il valore alle lezionie frequency_type con il valore periodo.

Settore Tipologia Descrizione
periodo Numero Quanto spesso aggiornare la lista.
unità Corda Unità di periodo. Le opzioni sono: verbale or orario, indicare l'unità di misura per gli aggiornamenti dell'elenco.

Oggetto ora esatta del tempo

Questi sono i campi quando verrà configurata un'ora esatta.

Questo oggetto viene utilizzato con le successive configurazioni:

frequenza il campo ha il valore alle lezioni che collaborano con noi, attingono direttamente dalla storia e dalla tradizione veneziana per poi frequency_type is esattamente.

frequenza il campo ha il valore settimanale che collaborano con noi, attingono direttamente dalla storia e dalla tradizione veneziana per poi giorno è il giorno della settimana in cui l'elenco si aggiorna.

frequenza il campo ha il valore mensile che collaborano con noi, attingono direttamente dalla storia e dalla tradizione veneziana per poi giorno è il numero del giorno del mese in cui l'elenco si aggiorna.

Settore Tipologia Descrizione
ora Numero Ora per aggiornare la lista. Il valore deve essere un numero tra 0 che collaborano con noi, attingono direttamente dalla storia e dalla tradizione veneziana per poi 23.
verbale Numero Minuti per aggiornare la lista. Il valore deve essere un numero tra 0 che collaborano con noi, attingono direttamente dalla storia e dalla tradizione veneziana per poi 59.

Esempio di risposta:

{
   "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"
   }
}

Parametri di risposta

La risposta sarà un json con tutte le configurazioni di lista. Vedere l'esempio di risposta per ulteriori informazioni.

Elimina una regola blacklist

Elimina un elenco di liste nere

Richiedi un esempio:

curl -k -X DELETE -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
https://<zevenet_server>:444/zapi/v3.2/zapi.cgi/ipds/blacklists/remoteList

DELETE /ipds/blacklists/<name>

Elimina una lista nera. Nome è l'identificativo univoco della lista nera.

Esempio di risposta:

{
   "description" : "Delete list 'remoteList'",
   "message" : "The list remoteList has been deleted successful.",
   "success" : "true"
}

Elenca la fonte da una lista nera

Elenca la fonte da una lista nera

Richiedi un esempio:

curl -k -X DELETE -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
https://<zevenet_server>:444/zapi/v3.2/zapi.cgi/ipds/blacklists/localList

GET /ipds/blacklists/<name>/sources

Elenca le fonti di una lista nera. Nome è l'identificativo univoco della lista nera.

Esempio di risposta:

{
   "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"
      }
   ]
}

Parametri di risposta

La risposta sarà un JSON con la chiave params e matrice di oggetti di origine come valore.

Oggetto di origine:

Settore Tipologia Descrizione
id Numero Identificatore univoco di origine nell'elenco.
source Stringa[] Indirizzi IP o segmenti netti che l'elenco controlla.

Aggiungi una fonte a una lista nera

Aggiungi una fonte a una lista nera

Richiedi un esempio:

curl -k -X POST -H "ZAPI_KEY: <ZAPI_KEY_STRING>" -H 'Content-Type: application/json'
-d '{"source":"192.168.3.1"}'
https://<zevenet_server>:444/zapi/v3.2/zapi.cgi/ipds/blacklists/localList/sources

POST /ipds/blacklists/<name>/sources

Spingere una nuova fonte in una lista nera. Disponibile solo per elenchi locali e elenchi non precaricati. Nome è l'identificativo univoco della lista nera.

Richiedi i parametri

Settore Tipologia Descrizione Obbligatorio
source Corda Indirizzo IP o segmento netto controllato dall'elenco. vero

Esempio di risposta:

{
   "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"
      }
   ]
}

Parametri di risposta

La risposta sarà un json con tutti i valori richiesti aggiornati. Vedere l'esempio di risposta per ulteriori informazioni.

Modifica una fonte di una lista nera

Modifica una fonte di una lista nera

Richiedi un esempio:

curl -k -X PUT -H "ZAPI_KEY: <ZAPI_KEY_STRING>" -H 'Content-Type: application/json'
-d '{"source":"192.168.3.1"}'
https://<zevenet_server>:444/zapi/v3.2/zapi.cgi/ipds/blacklists/localList/sources/2

PUT /ipds/blacklists/<name>/sources/<id>

Modifica una fonte di una lista nera.

Nome è l'identificativo univoco della lista nera. id è l'identificativo univoco di origine.

Richiedi i parametri

Settore Tipologia Descrizione Obbligatorio
source Corda Indirizzo IP o segmento netto controllato dall'elenco. vero

Esempio di risposta:

{
   "description" : "Put source into localList",
   "message" : "Source 2 has been modified successful.",
   "params" : {
         "id" : 2,
         "source" : "192.168.3.1"
    }
}

Parametri di risposta

La risposta sarà un json con la fonte aggiornata. Vedere l'esempio di risposta per ulteriori informazioni.

Elimina una fonte di una lista nera

Elimina una fonte di una lista nera

Richiedi un esempio:

curl -k -X DELETE -H "ZAPI_KEY: <ZAPI_KEY_STRING>" 
https://<zevenet_server>:444/zapi/v3.2/zapi.cgi/ipds/blacklists/localList/sources/2

DELETE /ipds/blacklists/<name>/sources/<id>

Rimuovere una fonte da una lista nera.

Nome è l'identificativo univoco della lista nera. id è l'identificativo univoco di origine.

Esempio di risposta:

{
   "description" : "Delete source from the list localList",
   "message" : "Source 2 has been deleted successful.",
   "success" : "true"
}

Applicare un'azione a una regola di lista nera

Applica un'azione

Richiedi un esempio per un elenco remoto:

curl -k -X POST -H 'Content-Type: application/json' -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
-d '{"action":"update"}' 
https://<zevenet_server>:444/zapi/v3.2/zapi.cgi/ipds/blacklists/remoteList/actions

POST /ipds/blacklists/<name>/actions

Applicare un'azione a una lista nera. Nome è l'identificativo univoco della lista nera.

Richiedi i parametri

Settore Tipologia Descrizione Obbligatorio
azione Corda Azione desiderata da applicare a una regola della lista nera. I valori disponibili sono: inizia a, attiva la blaclist in tutte le fattorie in cui viene applicata; Stop, arresta la lista nera per tutte le farm in cui è applicata la regola della lista nera, il traffico non verrà bloccato o consentito; update, questa azione può essere applicata solo a a distanza blacklist, questa azione aggiorna la lista delle fonti dal telecomando URL. vero

Esempio di risposta:

{
   "description" : "Update a remote list",
   "update" : "Sync OK. Last update: 2017-02-01 05:31:57"
}

Parametri di risposta

La risposta sarà un json con lo stato di download. Vedere l'esempio di risposta per ulteriori informazioni.

Settore Tipologia Descrizione Obbligatorio
update Corda Stato dell'ultimo download dell'elenco e la data dell'ultimo aggiornamento riuscito.

IPDS - DoS

La protezione DoS ha diversi tipi di regole, dipende dalla regola di protezione, si applica a una parte diversa del sistema di bilanciamento. Quindi ci sono sistema regole che applica tutto il bilanciamento. Regole orientate alla connessione, specifiche per fattoria lavorare con il protocollo TCP. Prima di applicare una regola a a fattoria, crea un oggetto con la configurazione desiderata. Successivamente, applicato a tutte le aziende agricole di cui hai bisogno. Il sistema le regole hanno già creato l'oggetto e hanno solo una possibile configurazione. Una volta configurato, abilitarlo.

Regole Farm DoS

È necessario creare un oggetto prima di applicare una regola a una farm.

limitsec

Limite di nuova connessione al secondo e origine. Disponibile solo nelle farm funziona con il protocollo TCP.

Settore Tipologia Descrizione
Nome Corda È l'identificatore univoco della regola oggetto.
limitare Numero È il numero massimo di nuove connessioni al secondo per una fonte.
limit_burst Numero È un picco consentito di nuove connessioni. Un'unità burst si rigenera quando passano i secondi "limite".

limitconns

Limita le connessioni correnti totali per sorgente. Disponibile solo nelle farm funziona con il protocollo TCP.

Settore Tipologia Descrizione
Nome Corda È l'identificatore univoco della regola oggetto.
limit_conns Numero È il numero massimo di connessione corrente da una fonte.

bogustcpflags

Controllare il protocollo TCP è rispettato. Questa regola non ha parametri di configurazione, quindi crea solo un oggetto che potrai utilizzare in tutte le farm. Disponibile solo nelle farm funziona con il protocollo TCP.

Settore Tipologia Descrizione
Nome Corda È l'identificatore univoco della regola oggetto.

limitrst

Limita il numero di richieste di connessione di ripristino al secondo. Disponibile solo nelle farm funziona con il protocollo TCP.

Settore Tipologia Descrizione
Nome Corda È l'identificatore univoco della regola oggetto.
limitare Numero È il numero massimo di richieste di ripristino al secondo per una fonte.
limit_burst Numero È un picco consentito di richiesta di ripristino. Un'unità burst si rigenera quando passano i secondi "limite".

Regole di sistema DoS

Nelle regole DoS di sistema, l'oggetto non è stato creato.

sshbruteforce

Limite della nuova connessione ssh.

Settore Tipologia Descrizione
Nome Corda È l'identificatore univoco della regola oggetto. L'identificatore è stato definito come ssh_brute_force.
colpi Numero Il numero di hit per la fonte prima delle connessioni è bloccato.
a che ora Numero Tempo in secondi per ripristinare il colpi contrastare.

Elenca tutti i tipi di regole DoS

Elenca tutti i tipi di regole DoS

Richiedi un esempio:

curl -k -X GET -H "ZAPI_KEY: <ZAPI_KEY_STRING>" 
https://<zevenet_server>:444/zapi/v3.2/zapi.cgi/ipds/dos/rules

GET /ipds/dos/rules

Mostra un elenco di regole DoS. Non sono oggetti ma tipi per definirlo.

Ogni regola ha diversi parametri di configurazione

Esempio di risposta:

{
   "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"
         },
      ]
   }
}

Parametri di risposta

La risposta JSON ha due array fattoria che collaborano con noi, attingono direttamente dalla storia e dalla tradizione veneziana per poi sistema. Ogni elemento dell'array è un tipo di regola da applicare a una farm o al sistema.

Settore Tipologia Descrizione
descrizione Corda Breve descrizione della regola.
regola Corda identificatore univoco della regola del tipo.

Elenca tutte le regole DoS

Elenca tutti gli oggetti DoS

Richiedi un esempio:

curl -k -X GET -H "ZAPI_KEY: <ZAPI_KEY_STRING>" 
https://<zevenet_server>:444/zapi/v3.2/zapi.cgi/ipds/dos

GET /ipds/dos

Mostra la configurazione di tutti gli oggetti DoS esistenti.

Esempio di risposta:

{
   "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"
      },
   ]
}

Parametri di risposta

La risposta sarà una matrice con tutti gli oggetti DoS disponibili.

Settore Tipologia Descrizione
Nome Corda È l'identificatore univoco della regola oggetto.
regola Corda È l'identificatore della regola del tipo.
Digitare Corda I valori possibili sono: fattoria, la regola si applica alle fattorie; o sistema, la regola si applica al sistema.
status Corda I valori possibili sono: up, la regola DoS è attiva e il traffico di filtraggio; o giù, la regola non è in esecuzione e non sta filtrando il traffico.

Addionally dipendono dalla regola, l'oggetto contiene i parametri successivi

limitsec

Settore Tipologia Descrizione
aziende agricole Stringa[] Fattorie in cui viene applicata la regola.
limitare Numero È il numero massimo di nuove connessioni al secondo per una fonte.
limit_burst Numero È un picco consentito di nuove connessioni. Un'unità burst si rigenera quando passano i secondi "limite".

limitconns

Settore Tipologia Descrizione
aziende agricole Stringa[] Fattorie in cui viene applicata la regola.
limit_conns Numero È il numero massimo di connessione corrente da una fonte.

bogustcpflags

Settore Tipologia Descrizione
aziende agricole Stringa[] Fattorie in cui viene applicata la regola.

limitrst

Settore Tipologia Descrizione
aziende agricole Stringa[] Fattorie in cui viene applicata la regola.
limitare Numero È il numero massimo di richieste di ripristino al secondo per una fonte.
limit_burst Numero È un picco consentito di richiesta di ripristino. Un'unità burst si rigenera quando passano i secondi "limite".

sshbruteforce

Settore Tipologia Descrizione
colpi Numero Il numero di hit per la fonte prima delle connessioni è bloccato.
a che ora Numero Tempo in secondi per ripristinare il colpi contrastare.

Recupera una regola DoS

Recupera una regola DoS

Richiedi un esempio per la regola della farm:

curl -k -X GET -H "ZAPI_KEY: <ZAPI_KEY_STRING>" 
https://<zevenet_server>:444/zapi/v3.2/zapi.cgi/ipds/dos/limitConnHttp

Esempio di richiesta per la regola di sistema:

curl -k -X GET -H "ZAPI_KEY: <ZAPI_KEY_STRING>" 
https://<zevenet_server>:444/zapi/v3.2/zapi.cgi/ipds/dos/ssh_brute_force

GET /ipds/dos/<name>

Ogni oggetto DoS può avere una configurazione diversa. Nome è l'identificatore univoco della regola DoS.

Esempio di risposta per la regola della farm:

{
   "description" : "Get DoS limitConnHttp settings",
   "params" : {
      "farms" : [],
      "limit_conns" : 10,
      "name" : "limitConnHttp",
      "rule" : "limitconns",
      "status" : "down",
      "type" : "farm"
   }
}

Esempio di risposta per la regola di sistema:

{
   "description" : "Get DoS ssh_brute_force settings",
   "params" : {
      "hits" : 5,
      "name" : "ssh_brute_force",
      "port" : 22,
      "rule" : "sshbruteforce",
      "status" : "down",
      "time" : 180,
      "type" : "system"
   }
}

Parametri di risposta

La risposta sarà una matrice con tutti gli oggetti DoS disponibili.

Settore Tipologia Descrizione
Nome Corda È l'identificatore univoco della regola oggetto.
regola Corda È l'identificatore della regola del tipo.
Digitare Corda I valori possibili sono: fattoria, la regola si applica alle fattorie; o sistema, la regola si applica al sistema.
status Corda I valori possibili sono: up, la regola DoS è attiva e il traffico di filtraggio; o giù, la regola non è in esecuzione e non sta filtrando il traffico.

Addionally dipendono dalla regola, l'oggetto contiene i parametri successivi

limitsec

Settore Tipologia Descrizione
aziende agricole Stringa[] Fattorie in cui viene applicata la regola.
limitare Numero È il numero massimo di nuove connessioni al secondo per una fonte.
limit_burst Numero È un picco consentito di nuove connessioni. Un'unità burst si rigenera quando passano i secondi "limite".

limitconns

Settore Tipologia Descrizione
aziende agricole Stringa[] Fattorie in cui viene applicata la regola.
limit_conns Numero È il numero massimo di connessione corrente da una fonte.

bogustcpflags

Settore Tipologia Descrizione
aziende agricole Stringa[] Fattorie in cui viene applicata la regola.

limitrst

Settore Tipologia Descrizione
aziende agricole Stringa[] Fattorie in cui viene applicata la regola.
limitare Numero È il numero massimo di richieste di ripristino al secondo per una fonte.
limit_burst Numero È un picco consentito di richiesta di ripristino. Un'unità burst si rigenera quando passano i secondi "limite".

sshbruteforce

Settore Tipologia Descrizione
colpi Numero Il numero di hit per la fonte prima delle connessioni è bloccato.
a che ora Numero Tempo in secondi per ripristinare il colpi contrastare.

Crea una regola DoS

Crea una regola DoS

Richiedi un esempio:

curl -k -X POST -H 'Content-Type: application/json' -H "ZAPI_KEY: <ZAPI_KEY_STRING>" 
-d '{"name":"limitUsers", "rule":"limitsec"}'
https://<zevenet_server>:444/zapi/v3.2/zapi.cgi/ipds/dos

POST /ipds/dos

Creare un oggetto DoS per utilizzarlo come farms come è necessario.

Ogni oggetto DoS può avere una configurazione diversa.

Richiedi i parametri

Settore Tipologia Descrizione Obbligatorio
Nome Corda È l'identificatore univoco della regola oggetto. vero
regola Corda È l'identificatore della regola del tipo. Le opzioni sono: limitconns, limitsec, limitrst or bogustcpflags. vero

Esempio di risposta:

{
   "description" : "Post a DoS rule",
   "params" : {
      "farms" : [],
      "limit" : 2,
      "limit_burst" : 2,
      "name" : "limitUsers",
      "rule" : "limitsec",
      "type" : "farm"
   }
}

Parametri di risposta

La risposta sarà un json con la configurazione predefinita per la regola creata. Vedere l'esempio di risposta per ulteriori informazioni.

Modifica una regola DoS

Modifica una regola DoS

Richiedi un esempio:

curl -k -X PUT -H 'Content-Type: application/json' -H "ZAPI_KEY: <ZAPI_KEY_STRING>" 
-d '{"hits":"10","status":"up","time":"100"}'
https://<zevenet_server>:444/zapi/v3.2/zapi.cgi/ipds/dos/ssh_brute_force

PUT /ipds/dos/<name>

Modifica una regola DoS. Nome è l'identificatore univoco della regola DoS.

Richiedi i parametri

Ogni tipo di regola può essere parametri diversi. I parametri modificabili sono i seguenti:

limitsec

Settore Tipologia Descrizione
limitare Numero È il numero massimo di nuove connessioni al secondo per una fonte.
limit_burst Numero È un picco consentito di nuove connessioni. Un'unità burst si rigenera quando passano i secondi "limite".

limitconns

Settore Tipologia Descrizione
limit_conns Numero È il numero massimo di connessione corrente da una fonte.

bogustcpflags

Nessun parametro.

limitrst

Settore Tipologia Descrizione
limitare Numero È il numero massimo di richieste di ripristino al secondo per una fonte.
limit_burst Numero È un picco consentito di richiesta di ripristino. Un'unità burst si rigenera quando passano i secondi "limite".

sshbruteforce

Settore Tipologia Descrizione
colpi Numero Il numero di hit per la fonte prima delle connessioni è bloccato.
a che ora Numero Tempo in secondi per ripristinare il colpi contrastare.
status Corda I valori possibili sono: up, la regola DoS è attiva e il traffico di filtraggio; o giù, la regola non è in esecuzione e non sta filtrando il traffico.

Esempio di risposta:

{
   "description" : "Put DoS rule settings",
   "params" : {
      "hits" : 10,
      "name" : "ssh_brute_force",
      "port" : 22,
      "rule" : "sshbruteforce",
      "status" : "up",
      "time" : 100,
      "type" : "system"
   },
   "success" : "true"
}

Parametri di risposta

La risposta sarà un json con tutti i valori richiesti aggiornati. Vedere l'esempio di risposta per ulteriori informazioni.

Elimina una regola DoS

Elimina una regola DoS

Richiedi un esempio:

curl -k -X DELETE -H "ZAPI_KEY: <ZAPI_KEY_STRING>" 
https://<zevenet_server>:444/zapi/v3.2/zapi.cgi/ipds/dos/limitConnHttp

DELETE /ipds/dos/<name>

Le regole di sistema non possono essere eliminate. Per disabilitarlo, imposta lo stato su giù. Nome è l'identificatore univoco della regola DoS.

Esempio di risposta:

{
   "description" : "Delete DoS rule",
   "message" : "Deleted limitConnHttp successful.",
   "success" : "true"
}

Applica un'azione a una regola DoS

Applica un'azione

Richiedi un esempio per un elenco remoto:

curl -k -X POST -H 'Content-Type: application/json' -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
-d '{"action":"start"}'
https://<zevenet_server>:444/zapi/v3.2/zapi.cgi/ipds/dos/conns_maximum/actions

POST /ipds/dos/<name>/actions

Applica un'azione a una regola di dos. Nome è l'identificatore univoco della regola dos.

Richiedi i parametri

Settore Tipologia Descrizione Obbligatorio
azione Corda Azione desiderata da applicare a una regola DoS. I valori disponibili sono: inizia a, attiva la regola DoS in tutte le farm in cui viene applicata; Stop, disattiva il DoS per tutte le farm in cui viene applicata la regola DoS, il traffico non verrà bloccato o consentito. vero

Esempio di risposta:

{
   "description" : "Apply a action to a DoS rule",
   "params" : {
      "action" : "start"
   }
}

Parametri di risposta

Se non ci sono problemi nella configurazione, zapi restituirà l'azione richiesta.

IPDS - RBL

RBLGli elenchi blackhole in tempo reale consentono di creare un sistema di sicurezza che delega, allo tedioso compito di manutenzione di un sistema di sicurezza aggiornato, a uno specialista. RBL controlla il traffico di input del bilanciamento del carico in un database esterno tramite il protocollo DNS. Il proprietario del server DNS è responsabile dell'aggiornamento e della fornitura di fonti di qualità. Il traffico di input proveniente da una sorgente IP presente nel database DNS verrà eliminato.

Per lavorare con il servizio RBL, verranno aggiunti i primi domini DNS, ogni dominio DNS è contenuto in uno specifico elenco di fornitori che ordina la fonte per diversi criteri come tipo di attacco realizzato o gravità di un attacco.

Una volta creati i domini DNS, è necessario creare una regola RBL con la configurazione della regola. Quindi collega i domini DNS con la regola RBL. Ogni regola può esaminare diversi domini.

Ultima applicazione della regola RBL a tutte le farm desiderate.

Elenca tutte le regole RBL

Elenca tutte le regole RBL

Richiedi un esempio:

curl -k -X GET -H "ZAPI_KEY: <ZAPI_KEY_STRING>" 
https://<zevenet_server>:444/zapi/v3.2/zapi.cgi/ipds/rbl

GET /ipds/rbl

Elencare tutte le regole RBL disponibili nel servizio di bilanciamento del carico.

Esempio di risposta:

{
   "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
      }
   ]
}

Parametri di risposta

La risposta sarà un oggetto JSON con una chiave impostata su params. Il valore di questo sarà un array di oggetti RBL, ognuno dei quali contiene gli attributi chiave di seguito.

Settore Tipologia Descrizione
dimensione della cache Numero È il numero di sorgenti IP che la regola RBL può memorizzare nella cache.
cache_time Numero È il tempo (in secondi) in cui una sorgente IP verrà bloccata.
domini Stringa[] È una lista con tutti i domini che la regola sta interrogando.
aziende agricole Stringa[] Le fattorie elencano dove viene applicata la lista nera.
local_traffic Corda Se questo campo ha il valore vero, la regola RBL esaminerà il traffico dai segmenti della rete privata; o se il suo valore è falso la regola RBL ignorerà il traffico dai segmenti della rete privata. Il traffico locale non verrà mai bloccato da un DNS pubblico.
log_level Numero È il livello del registro di gravità. Può avere un valore tra 0 e 7, essendo 0 di emergenza e 7 di debug.
Nome Corda Nome della regola RBL. È usato come identificatore univoco.
only_logging Corda Se il valore è vero, quando un IP corrisponde a un dominio, verrà registrato; o se questo campo ha il valore falso, quando un IP corrisponde a un dominio, l'IP verrà registrato e il pacchetto verrà eliminato.
QUEUE_SIZE Numero È il numero di pacchetti che la regola può mantenere in coda.
status Corda Mostra lo stato della regola RBL. Il suo valore può essere giù, se la regola non funziona; o up la regola sta funzionando.
threadmax Corda Si tratta del numero di pacchetti che la regola può interrogare simultaneamente ai server DNS. Il suo valore massimo è 700. Quando il numero di pacchetti di input è maggiore di threadmax, i prossimi pacchetti saranno automaticamente accettati.

Recupera una regola RBL

Recupera regola RBL

Richiedi un esempio:

curl -k -X GET -H "ZAPI_KEY: <ZAPI_KEY_STRING>" 
https://<zevenet_server>:444/zapi/v3.2/zapi.cgi/ipds/rbl/protection_ssh

GET /ipds/rbl/<name>

Mostra la configurazione RBL e i suoi parametri di descrizione. Nome è l'identificatore univoco della regola RBL.

Parametri di risposta

Esempio di risposta:

{
   "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
   }
}

Oggetto regola RBL:

Settore Tipologia Descrizione
dimensione della cache Numero È il numero di sorgenti IP che la regola RBL può memorizzare nella cache.
cache_time Numero È il tempo (in secondi) in cui una sorgente IP verrà bloccata.
domini Stringa[] È una lista con tutti i domini che la regola sta interrogando.
aziende agricole Stringa[] Le fattorie elencano dove viene applicata la lista nera.
local_traffic Corda Se questo campo ha il valore vero, la regola RBL esaminerà il traffico dai segmenti della rete privata; o se il suo valore è falso la regola RBL ignorerà il traffico dai segmenti della rete privata. Il traffico locale non verrà mai bloccato da un DNS pubblico.
log_level Numero È il livello del registro di gravità. Può avere un valore tra 0 e 7, essendo 0 di emergenza e 7 di debug.
Nome Corda Nome della regola RBL. È usato come identificatore univoco.
only_logging Corda Se il valore è vero, quando un IP corrisponde a un dominio, verrà registrato; o se questo campo ha il valore falso, quando un IP corrisponde a un dominio, l'IP verrà registrato e il pacchetto verrà eliminato.
QUEUE_SIZE Numero È il numero di pacchetti che la regola può mantenere in coda.
status Corda Mostra lo stato della regola RBL. Il suo valore può essere giù, se la regola non funziona; o up la regola sta funzionando.
threadmax Corda Si tratta del numero di pacchetti che la regola può interrogare simultaneamente ai server DNS. Il suo valore massimo è 700. Quando il numero di pacchetti di input è maggiore di threadmax, i prossimi pacchetti saranno automaticamente accettati.

Crea una regola RBL

Crea una nuova regola RBL

Richiedi un esempio:

curl -k -X POST -H "ZAPI_KEY: <ZAPI_KEY_STRING>" -H 'Content-Type: application/json'
-d '{"name":"all"}'
https://<zevenet_server>:444/zapi/v3.2/zapi.cgi/ipds/rbl

POST /ipds/rbl

Creare una regola RBL da utilizzare nelle farm.

Richiedi i parametri

Settore Tipologia Descrizione Obbligatorio
Nome Corda Nome della regola RBL. È usato come identificatore univoco. vero
{
   "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
   }
}

Parametri di risposta

La risposta sarà un oggetto JSON con una chiave impostata su params. Il valore di questo sarà un array di oggetti RBL, ognuno dei quali contiene i seguenti attributi chiave.

Settore Tipologia Descrizione
dimensione della cache Numero È il numero di sorgenti IP che la regola RBL può memorizzare nella cache.
cache_time Numero È il tempo (in secondi) in cui una sorgente IP verrà bloccata.
domini Stringa[] È una lista con tutti i domini che la regola sta interrogando.
aziende agricole Stringa[] Le fattorie elencano dove viene applicata la lista nera.
local_traffic Corda Se questo campo ha il valore vero, la regola RBL esaminerà il traffico dai segmenti della rete privata; o se il suo valore è falso la regola RBL ignorerà il traffico dai segmenti della rete privata. Il traffico locale non verrà mai bloccato da un DNS pubblico.
log_level Numero È il livello del registro di gravità. Può avere un valore tra 0 e 7, essendo 0 di emergenza e 7 di debug.
Nome Corda Nome della regola RBL. È usato come identificatore univoco.
only_logging Corda Se il valore è vero, quando un IP corrisponde a un dominio, verrà registrato; o se questo campo ha il valore falso, quando un IP corrisponde a un dominio, l'IP verrà registrato e il pacchetto verrà eliminato.
QUEUE_SIZE Numero È il numero di pacchetti che la regola può mantenere in coda.
status Corda Mostra lo stato della regola RBL. Il suo valore può essere giù, se la regola non funziona; o up la regola sta funzionando.
threadmax Corda Si tratta del numero di pacchetti che la regola può interrogare simultaneamente ai server DNS. Il suo valore massimo è 700. Quando il numero di pacchetti di input è maggiore di threadmax, i prossimi pacchetti saranno automaticamente accettati.

Modifica una regola RBL

Modifica una regola RBL

Richiedi un esempio:

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://<zevenet_server>:444/zapi/v3.2/zapi.cgi/ipds/rbl/all

PUT /ipds/rule/<name>

Modifica la configurazione di una regola RBL. Nome è l'identificatore univoco della regola RBL.

Richiedi parametri:

Settore Tipologia Descrizione
dimensione della cache Numero È il numero di sorgenti IP che la regola RBL può memorizzare nella cache.
cache_time Numero È il tempo (in secondi) in cui una sorgente IP verrà bloccata.
local_traffic Corda Se questo campo ha il valore vero, la regola RBL esaminerà il traffico dai segmenti della rete privata; o se il suo valore è falso la regola RBL ignorerà il traffico dai segmenti della rete privata. Il traffico locale non verrà mai bloccato da un DNS pubblico.
log_level Numero È il livello del registro di gravità. Può avere un valore tra 0 e 7, essendo 0 di emergenza e 7 di debug.
Nome Corda Nome della regola RBL. È usato come identificatore univoco.
only_logging Corda Se il valore è vero, quando un IP corrisponde a un dominio, verrà registrato; o se questo campo ha il valore falso, quando un IP corrisponde a un dominio, l'IP verrà registrato e il pacchetto verrà eliminato.
QUEUE_SIZE Numero È il numero di pacchetti che la regola può mantenere in coda.
threadmax Corda Si tratta del numero di pacchetti che la regola può interrogare simultaneamente ai server DNS. Il suo valore massimo è 700. Quando il numero di pacchetti di input è maggiore di threadmax, i prossimi pacchetti saranno automaticamente accettati.

Esempio di risposta:

{
   "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
   }
}

Parametri di risposta

La risposta sarà un oggetto JSON con una chiave impostata su params. Il valore di questo sarà un array di oggetti RBL, ognuno dei quali contiene i seguenti attributi chiave.

Settore Tipologia Descrizione
dimensione della cache Numero È il numero di sorgenti IP che la regola RBL può memorizzare nella cache.
cache_time Numero È il tempo (in secondi) in cui una sorgente IP verrà bloccata.
domini Stringa[] È una lista con tutti i domini che la regola sta interrogando.
aziende agricole Stringa[] Le fattorie elencano dove viene applicata la lista nera.
local_traffic Corda Se questo campo ha il valore vero, la regola RBL esaminerà il traffico dai segmenti della rete privata; o se il suo valore è falso la regola RBL ignorerà il traffico dai segmenti della rete privata. Il traffico locale non verrà mai bloccato da un DNS pubblico.
log_level Numero È il livello del registro di gravità. Può avere un valore tra 0 e 7, essendo 0 di emergenza e 7 di debug.
Nome Corda Nome della regola RBL. È usato come identificatore univoco.
only_logging Corda Se il valore è vero, quando un IP corrisponde a un dominio, verrà registrato; o se questo campo ha il valore falso, quando un IP corrisponde a un dominio, l'IP verrà registrato e il pacchetto verrà eliminato.
QUEUE_SIZE Numero È il numero di pacchetti che la regola può mantenere in coda.
status Corda Mostra lo stato della regola RBL. Il suo valore può essere giù, se la regola non funziona; o up la regola sta funzionando.
threadmax Corda Si tratta del numero di pacchetti che la regola può interrogare simultaneamente ai server DNS. Il suo valore massimo è 700. Quando il numero di pacchetti di input è maggiore di threadmax, i prossimi pacchetti saranno automaticamente accettati.

Copia una regola RBL

Copia una regola RBL

Richiedi un esempio:

curl -k -X POST -H 'Content-Type: application/json' -H "ZAPI_KEY: <ZAPI_KEY_STRING>" 
-d '{"name":"copied_rule"}'
https://<zevenet_server>:444/zapi/v3.2/zapi.cgi/ipds/rbl/all_reported

POST /ipds/rule/<name>

Copia una regola RBL per creare una nuova regola. Nome è l'identificatore univoco della regola RBL.

Richiedi parametri:

Settore Tipologia Descrizione necessario
Nome Corda Nome della regola RBL per la nuova regola. È usato come identificatore univoco. vero

Esempio di risposta:

{
   "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
   }
}

Parametri di risposta

La risposta sarà un oggetto JSON con una chiave impostata su params. Il valore di questo sarà un array di oggetti RBL, ognuno dei quali contiene i seguenti attributi chiave.

Settore Tipologia Descrizione
dimensione della cache Numero È il numero di sorgenti IP che la regola RBL può memorizzare nella cache.
cache_time Numero È il tempo (in secondi) in cui una sorgente IP verrà bloccata.
domini Stringa[] È una lista con tutti i domini che la regola sta interrogando.
aziende agricole Stringa[] Le fattorie elencano dove viene applicata la lista nera.
local_traffic Corda Se questo campo ha il valore vero, la regola RBL esaminerà il traffico dai segmenti della rete privata; o se il suo valore è falso la regola RBL ignorerà il traffico dai segmenti della rete privata. Il traffico locale non verrà mai bloccato da un DNS pubblico.
log_level Numero È il livello del registro di gravità. Può avere un valore tra 0 e 7, essendo 0 di emergenza e 7 di debug.
Nome Corda Nome della regola RBL. È usato come identificatore univoco.
only_logging Corda Se il valore è vero, quando un IP corrisponde a un dominio, verrà registrato; o se questo campo ha il valore falso, quando un IP corrisponde a un dominio, l'IP verrà registrato e il pacchetto verrà eliminato.
QUEUE_SIZE Numero È il numero di pacchetti che la regola può mantenere in coda.
status Corda Mostra lo stato della regola RBL. Il suo valore può essere giù, se la regola non funziona; o up la regola sta funzionando.
threadmax Corda Si tratta del numero di pacchetti che la regola può interrogare simultaneamente ai server DNS. Il suo valore massimo è 700. Quando il numero di pacchetti di input è maggiore di threadmax, i prossimi pacchetti saranno automaticamente accettati.

Elimina una regola RBL

Elimina un RBL

Richiedi un esempio:

curl -k -X DELETE -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
https://<zevenet_server>:444/zapi/v3.2/zapi.cgi/ipds/rbl/sip

DELETE /ipds/rbl/<name>

Elimina una determinata regola RBL. Nome è l'identificatore univoco della regola RBL.

Esempio di risposta:

{
   "description" : "Delete RBL 'sip'",
   "message" : "The rule sip has been deleted successful.",
   "success" : "true"
}

Elenca tutti i domini RBL

Elenca tutti i domini RBL

Richiedi un esempio:

curl -k -X GET -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
https://<zevenet_server>:444/zapi/v3.2/zapi.cgi/ipds/rbl/domains

GET /ipds/rbl/domains

Elencare tutti i domini disponibili per il collegamento con le regole RBL.

Esempio di risposta:

{
   "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
         }
      ]
   }
}

Parametri di risposta

La risposta sarà un JSON con la chiave params e due tipi di domini elencano come valore.

Oggetto di origine:

Settore Tipologia Descrizione
precaricato Oggetto[] È una lista con i domini aggiunti dal team di Zevenet.
Utente Oggetto[] È un elenco con i domini aggiunti dall'amministratore del bilanciamento del carico.

precaricato e oggetto utente:

Settore Tipologia Descrizione
id Numero[] È l'id che identifica un dominio.
dominio Stringa[] È il dominio in cui la regola rbl esegue le query.

Aggiungi un dominio

Aggiungi un dominio

Richiedi un esempio:

curl -k -X POST -H "ZAPI_KEY: <ZAPI_KEY_STRING>" -H 'Content-Type: application/json'
-d '{"domain":"web.dnsbl.sorbs.net"}'
https://<zevenet_server>:444/zapi/v3.2/zapi.cgi/ipds/rbl/domains

POST /ipds/rbl/domains

Aggiungi un nuovo dominio all'elenco dei domini utente.

Richiedi i parametri

Settore Tipologia Descrizione Obbligatorio
dominio Corda È una zona di un fornitore RBL in cui una regola RBL farà query. vero

Esempio di risposta:

{
   "description" : "Post a RBL domain.",
   "message" : "",
   "params" : {
      "domains" : [
         "zen.spamhaus.org",
         "sip.blocklist.de",
         "web.dnsbl.sorbs.net"
      ]
   }
}

Parametri di risposta

La risposta sarà un json con un elenco di tutti i domini aggiunti dall'amministratore del bilanciamento del carico.

Settore Tipologia Descrizione
domini Stringa[] È un elenco con i domini aggiunti dall'amministratore del bilanciamento del carico.

Modifica un dominio

Modifica un dominio

Richiedi un esempio:

curl -k -X PUT -H "ZAPI_KEY: <ZAPI_KEY_STRING>" -H 'Content-Type: application/json'
-d '{"domain":"ssh.blocklist.de"}'
https://<zevenet_server>:444/zapi/v3.2/zapi.cgi/ipds/rbl/domains/2

PUT /ipds/rbl/domains/<id>

Modifica un dominio o l'elenco dei domini utente di un altro che viene inviato come parametro.

id è l'identificativo dell'utente del dominio.

Richiedi i parametri

Settore Tipologia Descrizione
dominio Corda È un dominio che sostituisce il dominio inviato nell'URI.

Esempio di risposta:

{
   "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
         }
      ]

   }
}

Parametri di risposta

La risposta sarà un json con un elenco di tutti i domini aggiunti dall'amministratore del bilanciamento del carico.

Oggetto dominio utente:

Settore Tipologia Descrizione
id Numero[] È l'id che identifica un dominio.
dominio Stringa[] È il dominio in cui la regola rbl esegue le query.

Elimina un dominio

Elimina un dominio

Richiedi un esempio:

curl -k -X DELETE -H "ZAPI_KEY: <ZAPI_KEY_STRING>" 
https://<zevenet_server>:444/zapi/v3.2/zapi.cgi/ipds/rbl/domains/1

DELETE /ipds/rbl/domains/<id>

Elimina un dominio dall'elenco dei domini utente.

id è l'identificativo utente del dominio che verrà eliminato.

Esempio di risposta:

{
   "description" : "Delete a RBL domain.",
   "message" : "RBL domain web.dnsbl.sorbs.net has been deleted successful.",
   "success" : "true"
}

Applicare un'azione in una regola RBL

Applica un'azione

Richiedi un esempio:

curl -k -X POST -H 'Content-Type: application/json' -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
-d '{"action":"stop"}' https://<zevenet_server>:444/zapi/v3.2/zapi.cgi/ipds/rbl/<name>/action

POST /ipds/rbl/<name>/actions

Applicare un'azione a una regola RBL, consultare la tabella dei parametri di richiesta per le azioni. Per applicare un'azione a una regola è necessario che la regola venga applicata almeno a una farm e che dovrebbe avere almeno un dominio abilitato.

Nome è l'identificatore univoco della regola RBL.

Richiedi i parametri

Settore Tipologia Descrizione
azione Corda Applica l'azione desiderata. Le azioni sono: Stop, la regola RBL verrà arrestata e le farm forward del traffico in cui viene applicata la regola non verranno eliminate. inizia a, la regola RBL verrà avviata e tutto il traffico in avanti verso le farm in cui viene applicata questa regola verrà eliminato.

Esempio di risposta:

{
   "description" : "Apply a action to a RBL rule",
   "params" : {
      "action" : "start"
   }
}

Parametri di risposta

Se non ci sono problemi nella configurazione, zapi restituirà l'azione richiesta.

Sistema

Le opzioni di sistema offrono la possibilità di personalizzare i servizi in esecuzione nel bilanciatore e i parametri globali.

Mostra la versione

Mostra la versione

Richiedi un esempio:

curl -k -X GET -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
https://<zevenet_server>:444/zapi/v3.2/zapi.cgi/system/version

GET /system/version

Mostra informacion sulla versione del prodotto.

Esempio di risposta:

{
   "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"
   }
}

Parametri di risposta

La risposta sarà un oggetto JSON con i seguenti parametri.

Settore Tipologia Descrizione
appliance_version Corda Versione dell'application. Mostra anche hypervisor se è una macchina virtuale.
hostname Corda Nome host
kernel_version Corda Versione del kernel Linux
system_date Corda Data del sistema
zevenet_version Corda Versione Zevenet.

Mostra DNS

Mostra DNS

Richiedi un esempio:

curl -k -X GET -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
https://<zevenet_server>:444/zapi/v3.2/zapi.cgi/system/dns

GET /system/dns

Mostra la configurazione del servizio DNS.

Esempio di risposta:

{
   "description" : "Get dns",
   "params" : {
      "primary" : "8.8.8.8",
      "secondary" : null
   }
}

Parametri di risposta

La risposta sarà un oggetto JSON con i seguenti parametri.

Settore Tipologia Descrizione
primario Corda DNS primario configurato nel sistema.
secondario Corda DNS secondario configurato nel sistema.

Modifica DNS

Modifica DNS

Richiedi un esempio:

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.2/zapi.cgi/system/dns

POST /system/dns

Modifica la configurazione del servizio DNS.

Richiedi i parametri

Settore Tipologia Descrizione
primario Corda DNS primario configurato nel sistema.
secondario Corda DNS secondario configurato nel sistema.

Esempio di risposta:

{
   "description" : "Post dns",
   "params" : {
      "primary" : "8.8.4.4",
      "secondary" : "8.8.8.8"
   }
}

Parametri di risposta

La risposta sarà un json con tutti i valori richiesti aggiornati. Vedere l'esempio di risposta per ulteriori informazioni.

Mostra SSH

Mostra SSH

Richiedi un esempio:

curl -k -X GET -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
https://<zevenet_server>:444/zapi/v3.2/zapi.cgi/system/ssh

GET /system/ssh

Mostra la configurazione del servizio SSH.

Esempio di risposta:

{
   "description" : "Get ssh",
   "params" : {
      "listen" : "*",
      "port" : "22"
   }
}

Parametri di risposta

Settore Tipologia Descrizione
ascolta Corda IP del sistema in cui il servizio SSH è in ascolto. Il carattere * è usato per ascoltare tutti gli IP configurati.
porto Corda Porta configurata per il servizio SSH.

Modifica SSH

Modifica SSH

Richiedi un esempio:

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.2/zapi.cgi/system/ssh

POST /system/ssh

Modifica la configurazione del servizio SSH.

Richiedi i parametri

La risposta sarà un oggetto JSON con i seguenti parametri.

Settore Tipologia Descrizione
ascolta Corda IP del sistema in cui il servizio SSH è in ascolto. Il carattere * è usato per ascoltare tutti gli IP configurati.
porto Corda Porta configurata per il servizio SSH.

Esempio di risposta:

{
   "description" : "Post ssh",
   "params" : {
      "listen" : "192.168.100.241",
      "port" : "22"
   }
}

Parametri di risposta

La risposta sarà un json con tutti i valori richiesti aggiornati. Vedere l'esempio di risposta per ulteriori informazioni.

Mostra SNMP

Mostra SNMP

Richiedi un esempio:

curl -k -X GET -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
https://<zevenet_server>:444/zapi/v3.2/zapi.cgi/system/snmp

GET /system/snmp

Mostra la configurazione del servizio SNMP.

Esempio di risposta:

{
   "description" : "Get snmp",
   "params" : {
      "community" : "public",
      "ip" : "*",
      "port" : "161",
      "scope" : "0.0.0.0/0",
      "status" : "false"
   }
}

Parametri di risposta

La risposta sarà un oggetto JSON con i seguenti parametri.

Settore Tipologia Descrizione
community Corda Nome della comunità. Comunità di sola lettura utilizzata.
ip Corda IP dell'interfaccia in cui è in esecuzione il servizio SNMP. È sicuro mantenere tutte le interfacce abilitate usando carattere *.
porto Corda Porta in cui è in esecuzione il servizio SNMP.
portata Corda IP o subnet con accesso (IP / bit). Gli IP client consentiti per accedere al servizio SNMPD, nel caso in cui si desideri consentire l'accesso a un solo IP, utilizzare il bit "/ 32".
status Corda Stato del servizio SNMP. I valori possibili sono: vero, il servizio è in esecuzione; o falso, il servizio è fermo.

Modifica SNMP

Modifica SNMP

Richiedi un esempio:

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.2/zapi.cgi/system/snmp

POST /system/snmp

Modifica la configurazione del servizio SNMP.

Richiedi i parametri

Settore Tipologia Descrizione
community Corda Nome della comunità. Comunità di sola lettura utilizzata.
ip Corda IP dell'interfaccia in cui è in esecuzione il servizio SNMP. È sicuro mantenere tutte le interfacce abilitate usando carattere *.
porto Corda Porta in cui è in esecuzione il servizio SNMP.
portata Corda IP o subnet con accesso (IP / bit). Gli IP client consentiti per accedere al servizio SNMPD, nel caso in cui si desideri consentire l'accesso a un solo IP, utilizzare il bit "/ 32".
status Corda Stato del servizio SNMP. I valori possibili sono: vero, il servizio è in esecuzione; o falso, il servizio è fermo.

Esempio di risposta:

{
   "description" : "Post snmp",
   "params" : {
      "community" : "public",
      "ip" : "192.168.100.241",
      "port" : "170",
      "scope" : "0.0.0.0/0",
      "status" : "true"
   }
}

Parametri di risposta

La risposta sarà un json con tutti i valori richiesti aggiornati. Vedere l'esempio di risposta per ulteriori informazioni.

Recupera licenza

Recupera licenza

Richiedi un esempio:

curl -k -X GET -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
https://<zevenet_server>:444/zapi/v3.2/zapi.cgi/system/license/txt

GET /system/license/<format>

Mostra la licenza Zevenet in un formato. Il disponibile formato i valori sono html or txt.

Mostra NTP

Mostra NTP

Richiedi un esempio:

curl -k -X GET -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
https://<zevenet_server>:444/zapi/v3.2/zapi.cgi/system/ntp

GET /system/ntp

Mostra la configurazione del servizio NTP.

Esempio di risposta:

{
   "description" : "Get ntp",
   "params" : {
      "server" : "pool.ntp.org"
   }
}

Parametri di risposta

La risposta sarà un oggetto JSON con i seguenti parametri.

Settore Tipologia Descrizione
server Corda Server in cui il client NTP esegue le richieste.

Modifica NTP

Modifica NTP

Richiedi un esempio:

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.2/zapi.cgi/system/ntp

POST /system/ntp

Modifica la configurazione del servizio NTP.

Richiedi i parametri

Settore Tipologia Descrizione
server Corda Server in cui il client NTP esegue le richieste.

Esempio di risposta:

{
   "description" : "Post ntp",
   "params" : "pool.ntp.org"
}

Parametri di risposta

La risposta sarà un json con tutti i valori richiesti aggiornati. Vedere l'esempio di risposta per ulteriori informazioni.

Mostra server HTTP

Mostra server HTTP

Richiedi un esempio:

curl -k -X GET -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
https://<zevenet_server>:444/zapi/v3.2/zapi.cgi/system/http

GET /system/http

Mostra la configurazione del servizio HTTP. È dove sono in esecuzione le API e la GUI di Zevenet.

Esempio di risposta:

{
   "description" : "Get http",
   "params" : {
      "ip" : "*",
      "port" : "444"
   }
}

Parametri di risposta

La risposta sarà un oggetto JSON con i seguenti parametri.

Settore Tipologia Descrizione
ip Corda IP in cui il server HTTP è in ascolto. Il carattere * è usato per ascoltare tutti gli IP configurati.
porto Corda Porta in cui il servizio HTTP è in ascolto.

Modifica server HTTP

Modifica server HTTP

Richiedi un esempio:

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.2/zapi.cgi/system/http

POST /system/http

Modifica la configurazione del servizio HTTP.

Richiedi i parametri

Settore Tipologia Descrizione
ip Corda IP in cui il server HTTP è in ascolto. Il carattere * è usato per ascoltare tutti gli IP configurati.
porto Corda Porta in cui il servizio HTTP è in ascolto.

Esempio di risposta:

{
   "description" : "Post http",
   "params" : {
      "ip" : "192.168.100.241",
      "port" : "80"
   }
}

Parametri di risposta

La risposta sarà un json con tutti i valori richiesti aggiornati. Vedere l'esempio di risposta per ulteriori informazioni.

Recupera l'utente corrente

Recupera l'utente corrente

Richiedi un esempio:

curl -k -X GET -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
https://<zevenet_server>:444/zapi/v3.2/zapi.cgi/system/users

GET /system/users

Mostra informazioni sull'utente corrente. L'utente corrente è l'utente che ottiene da ZAPI_KEY o l'utente registrato dal webgui

Esempio di risposta:

{
   "description" : "Retrieve the user root",
   "params" : {
      "user" : "root",
      "zapi_permissions" : "true"
   }
}

Parametri di risposta

La risposta sarà un oggetto JSON con una matrice dei seguenti parametri.

Settore Tipologia Descrizione
Utente Corda È il proprietario dell'utente del ZAPI_KEY. Può essere l'utente predefinito root o un utente RBAC.
zapi_permissions Corda Se il valore è vero, l'utente può utilizzare l'API Zevenet utilizzando zapikey dell'utente; o se il valore è falso, l'utente ha disabilitato l'uso dello zapi.

Modifica l'utente corrente

Modifica l'utente corrente

Richiedi un esempio:

curl -k -X POST -H 'Content-Type: application/json' -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
-d '{"password":"CDe0c3ck","newpassword":"v2mfcvv2","zapi_permissions":"false","zapikey":"vCeH60mQFf2MgH5"}'

https://<zevenet_server>:444/zapi/v3.2/zapi.cgi/system/users

POST /system/users

Modifica la configurazione dell'utente corrente. L'utente corrente è l'utente che ottiene da ZAPI_KEY o l'utente registrato dal webgui.

Richiedi parametri:

Settore Tipologia Descrizione Obbligatorio
zapikey Corda Ogni utente può avere uno zapikey. Con questo zapikey l'utente può eseguire azioni tramite zapikey con i permessi del ruolo dell'utente.
zapi_permissions Corda I valori possibili sono: vero, per abilitare l'accesso al servizio di bilanciamento del carico attraverso lo zapi; o falso, per non permettere l'accesso attraverso lo zapi.
nuova password Corda Nuova password utente per accedere tramite la GUI Web.
parola d'ordine Corda Password utente corrente È richiesto quando nuova password è inviato.

Esempio di risposta:

{
   "description" : "Modify the user Shadi",
   "message" : "Settings was changed successful."
}

Elenca i file di registro

Elenca i file di registro

Richiedi un esempio:

curl -k -X GET -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
https://<zevenet_server>:444/zapi/v3.2/zapi.cgi/system/logs

GET /system/logs

Elencare i file di registro disponibili.

Esempio di risposta:

{
   "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"
      }
   ]
}

Parametri di risposta

La risposta sarà un JSON con una matrice di file di registro. I parametri di ogni oggetto sono:

Settore Tipologia Descrizione
quando Corda La data dell'ultima modifica del file.
filetto Corda Nome file dei file di registro. Viene utilizzato come identificatore univoco del registro.

Mostra le righe di un file di registro

Mostra le righe di un file di registro

Richiedi un esempio:

curl -k -X GET -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
https://<zevenet_server>:444/zapi/v3.2/zapi.cgi/system/logs/kern.log/lines/2

GET /system/logs/<file>/lines/<lines>

Elenca un numero di righe di un file di registro. Il parametro URI filetto è il file di registro dalla lettura. Linee è il numero di linee da mostrare dalla finale.

Esempio di risposta:

{
   "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"
   ]
}

Parametri di risposta

La risposta sarà un JSON con una matrice di file di registro. La chiave è log e il suo valore è una matrice con il numero di righe richieste.

Scarica un file di registro

Scarica un file di registro

Richiedi un esempio:

curl -k -X GET -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
https://<zevenet_server>:444/zapi/v3.2/zapi.cgi/system/logs/syslog.2.gz > log.gz

GET /system/logs/<file>

Scarica un file di registro dei file di registro disponibili elencati durante la richiesta GET.

filetto è l'identificativo univoco del file di registro.

Sistema - Backup

Con l'opzione Backup è possibile salvare la configurazione attuale del sistema e scaricarla.

In questa sezione, sarai in grado di creare, ripristinare, caricare e scaricare i file di backup.

Elenca i backup

Elenca i backup

Richiedi un esempio:

curl -k -X GET -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
https://<zevenet_server>:444/zapi/v3.2/zapi.cgi/system/backup

GET /system/backup

Esempio di risposta:

{
   "description" : "Get backups",
   "params" : [
      {
         "date" : "Fri Feb  3 06:01:04 2017",
         "name" : "newbackup"
      },
      {
         "date" : "Fri Feb  3 05:50:48 2017",
         "name" : "firstConf"
      }
   ]
}

Parametri di risposta

La risposta sarà un JSON con una serie di backup. I parametri di ogni elemento dell'array sono:

Settore Tipologia Descrizione
quando Corda La data dell'ultima modifica.
Nome Corda È il nome del file usato come identificatore univoco. L'estensione del file è .tar.gz.

Crea un backup

Crea un backup

Richiedi un esempio:

curl -k -X POST -H 'Content-Type: application/json' -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
 -d '{"name":"firstConf"}'
 https://<zevenet_server>:444/zapi/v3.2/zapi.cgi/system/backup

POST /system/backup

Creare un backup della configurazione di sistema della configurazione corrente.

Richiedi i parametri

Settore Tipologia Descrizione
Nome Corda È il nome del file usato come identificatore univoco. L'estensione del file è .tar.gz.

Esempio di risposta:

{
   "description" : "Create a backups",
   "message" : "Backup firstConf was created successful.",
   "params" : "firstConf"
}

Scarica un backup

Scarica un backup

Richiedi un esempio:

curl -k -X GET -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
 https://<zevenet_server>:444/zapi/v3.2/zapi.cgi/system/backup/firstConf > ~/zevenetConf.tar.gz

Il file di backup è in formato GZ TAR.

GET /system/backup/<name>

Scarica un backup della configurazione di sistema. Nome è l'identificatore univoco di backup.

Carica un backup

Carica un backup

Richiedi un esempio:

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.2/zapi.cgi/system/backup/newbackup

PUT /system/backup/<name>

Carica un backup memorizzato locale su Zevenet. Nome è l'identificatore univoco di backup che verrà memorizzato in Zevenet.

Richiedi i parametri

È necessario utilizzare –data-binary per caricare un backup.

Esempio di risposta:

{
   "description" : "Upload a backup",
   "message" : "Backup newbackup was created successful.",
   "params" : "newbackup"
}

Elimina un backup

Elimina un backup

Richiedi un esempio:

curl -k -X DELETE -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
https://<zevenet_server>:444/zapi/v3.2/zapi.cgi/system/backup/firstConf

DELETE /system/backup/<name>

Elimina un file di backup dal sistema Zevenet. Nome è l'identificatore univoco di backup.

Esempio di risposta:

{
   "description" : "Delete backup firstConf'",
   "message" : "The list firstConf has been deleted successful.",
   "success" : "true"
}

Applica un backup

Applica un backup

Richiedi un esempio:

curl -k -X POST -H 'Content-Type: application/json' -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
-d '{"action":"apply"}'
https://<zevenet_server>:444/zapi/v3.2/zapi.cgi/system/backup/firstConf/actions

POST /system/backup/<name>/actions

Ripristina la configurazione da un file di backup. Nome è l'identificatore univoco di backup.

Richiedi i parametri

Settore Tipologia Descrizione
azione Corda Per ripristinare la configurazione di backup, il valore deve essere applicare.

Esempio di risposta:

{
   "description" : "Apply a backup to the system",
   "params" : {
      "action" : "apply"
   }
}

Sistema - Notifiche

Le notifiche sono formate da due elementi: Mittente metodo e tipo di allarme.

Nella sezione di avviso potrai scegliere il tipo di avviso che desideri ricevere. In realtà, gli avvisi si concentrano sul back-end o sullo stato del cluster, quindi il bilanciatore invierà una notifica se alcuni switch.

Nella sezione metodo sarà possibile scegliere quale mittente verrà utilizzato quando Zevenet deve inviare una notifica.

Mostra lo stato di allerta

Mostra lo stato di allerta

Richiedi un esempio:

curl -k -X GET -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
https://<zevenet_server>:444/zapi/v3.2/zapi.cgi/system/notifications/alerts

GET /system/notifications/alerts

Elencare tutti i tipi di avvisi con il loro stato.

Esempio di risposta:

{
   "description" : "Get notifications alert status",
   "params" : [
      {
         "alert" : "backends",
         "status" : "disabled"
      },
      {
         "alert" : "cluster",
         "status" : "disabled"
      }
   ]
}

Parametri di risposta

Settore Tipologia Descrizione
allarme Corda Tipo di avviso, viene utilizzato come identificatore univoco di avviso. Gli avvisi disponibili sono: backend, notifica quando un back-end cambia stato; o gruppo, invia una notifica quando il nodo master del cluster passa ad un altro nodo.
status Corda Mostra se l'avviso è disabile, il sistema non invia notifiche quando si verifica un evento; o abilitato, il sistema invia un avviso quando viene rilevato un cambiamento di stato.

Recupera avvisi di notifica

Recupera avvisi di notifica

Richiedi un esempio:

curl -k -X GET -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
https://<zevenet_server>:444/zapi/v3.2/zapi.cgi/system/notifications/alerts/backends

GET /system/notifications/alerts/<alert>

Mostra la configurazione su un tipo di avviso.

allarme è l'identificatore univoco di avviso.

Esempio di risposta:

{
   "description" : "Get notifications alert backends settings",
   "params" : {
      "avoidflappingtime" : 5,
      "prefix" : "",
      "status" : "disabled"
   }
}

Parametri di risposta

Settore Tipologia Descrizione
avoidflappingtime Numero A volte i backend sono disponibili o meno in un breve periodo di tempo, questo campo consente di configurare un periodo di tempo per evitare il messaggio di notifica mentre il backend sta cambiando lo stato, una volta che questo periodo di tempo si conclude, se lo stato del backend è diverso da avviare, quindi la notifica viene inviata.
prefisso Corda È un prefisso per l'oggetto dell'email, che viene inviato dal sistema per questo tipo di avviso.
status Corda Mostra se l'avviso è disabile, il sistema non invia notifiche quando si verifica un evento; o abilitato, il sistema invia un avviso quando viene rilevato un cambiamento di stato.

Modifica avviso di notifica

Modifica avvisi di notifica

Richiedi un esempio:

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.2/zapi.cgi/system/notifications/alerts/backends

POST /system/notifications/alerts/<alert>

allarme è l'identificatore univoco di avviso.

Richiedi i parametri

Settore Tipologia Descrizione
avoidflappingtime Numero A volte i backend sono disponibili o meno in un breve periodo di tempo, questo campo consente di configurare un periodo di tempo per evitare il messaggio di notifica mentre il backend sta cambiando lo stato, una volta che questo periodo di tempo si conclude, se lo stato del backend è diverso da avviare, quindi la notifica viene inviata. Questo parametro non è negli avvisi cluster, il cluster ha il proprio tempo di swich.
prefisso Corda È un prefisso per l'oggetto dell'email, che viene inviato dal sistema per questo tipo di avviso.

Esempio di risposta:

{
   "description" : "Set notifications alert backends",
   "params" : {
      "avoidflappingtime" : 10,
      "prefix" : "[backend alert]"
   }
}

Parametri di risposta

La risposta sarà un json con tutti i valori richiesti aggiornati. Vedere l'esempio di risposta per ulteriori informazioni.

Abilita avvisi

Abilita avvisi

Richiedi un esempio:

curl -k -X POST -H 'Content-Type: application/json' -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
{"action":"enable"}
https://<zevenet_server>:444/zapi/v3.2/zapi.cgi/system/notifications/alerts/backends/actions

POST /system/notifications/alerts/<alert>/actions

Abilita o disabilita le notifiche per un tipo di avviso.

allarme è l'identificatore univoco di avviso.

Richiedi i parametri

Settore Tipologia Descrizione
azione Corda Le azioni disponibili per gli avvisi sono disable, il sistema non invia notifiche quando si verifica un evento; o enable, il sistema invia un avviso quando viene rilevato un cambiamento di stato.

Esempio di risposta:

{
   "description" : "Set notifications alert backends actions",
   "params" : {
      "action" : "enable"
   }
}

Parametri di risposta

La risposta sarà un json con tutti i valori richiesti aggiornati. Vedere l'esempio di risposta per ulteriori informazioni.

Recupera la configurazione della posta elettronica

Recupera la configurazione della posta elettronica

Richiedi un esempio:

curl -k -X GET -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
https://<zevenet_server>:444/zapi/v3.2/zapi.cgi/system/notifications/methods/email

GET /system/notifications/methods/email

Mostra tutte le configurazioni del mittente dell'e-mail.

Nota: la porta SMTP utilizzata per l'invio di e-mail è TCP 25 anche se TLS è abilitato.

Esempio di risposta:

{
   "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"
   }
}

Parametri di risposta

Settore Tipologia Descrizione
da Corda L'account e-mail che invia l'e-mail, questo account verrà visualizzato nell'intestazione SMTP Da: e verrà utilizzato se il destinatario risponde all'e-mail.
metodo Corda È l'identificatore univoco del metodo. In realtà il metodo disponibile è email.
parola d'ordine Corda Password per Utente Account SMTP, questa password è necessaria se il server richiede l'autenticazione SMTP.
server Corda Viene inviato il server SMTP tramite l'e-mail.
tls Corda Abilita la convalida TLS per l'invio di e-mail, questa proprietà utilizza STARTTLS e questa funzione deve essere supportata nel server SMTP. Alcuni server SMTP richiedono di abilitarlo. I valori possibili sono: vero, La convalida TLS è abilitata per l'invio di e-mail; o falso, l'invio di e-mail non utilizza la convalida TLS.
a Corda Account email che riceve l'email, questo account verrà visualizzato nell'intestazione SMTP A.
Utente Corda Account email autorizzato a inviare e-mail, questo account è necessario se il server richiede l'autenticazione SMTP.

Modifica la configurazione della posta elettronica

Modifica la configurazione della posta elettronica

Richiedi un esempio:

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.2/zapi.cgi/system/notifications/methods/email

POST /system/notifications/methods/email

Modifica la configurazione del metodo del mittente dell'e-mail.

Richiedi i parametri

Settore Tipologia Descrizione
da Corda L'account e-mail che invia l'e-mail, questo account verrà visualizzato nell'intestazione SMTP Da: e verrà utilizzato se il destinatario risponde all'e-mail.
parola d'ordine Corda Password per Utente Account SMTP, questa password è necessaria se il server richiede l'autenticazione SMTP.
server Corda Viene inviato il server SMTP tramite l'e-mail.
tls Corda Abilita la convalida TLS per l'invio di e-mail, questa proprietà utilizza STARTTLS e questa funzione deve essere supportata nel server SMTP. Alcuni server SMTP richiedono di abilitarlo. I valori possibili sono: vero, La convalida TLS è abilitata per l'invio di e-mail; o falso, l'invio di e-mail non utilizza la convalida TLS.
a Corda Account email che riceve l'email, questo account verrà visualizzato nell'intestazione SMTP A.
Utente Corda Account email autorizzato a inviare e-mail, questo account è necessario se il server richiede l'autenticazione SMTP.

Esempio di risposta:

{
   "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"
   }
}

Parametri di risposta

La risposta sarà un json con tutti i valori richiesti aggiornati. Vedere l'esempio di risposta per ulteriori informazioni.

Invia una mail di prova

Invia una mail di prova

Richiedi un esempio:

curl -k -X POST -H 'Content-Type: application/json'  -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
-d '{"action":"test"}'
https://<zevenet_server>:444/zapi/v3.2/zapi.cgi/system/notifications/methods/email/actions

POST /system/notifications/methods/email/actions

Invia una mail di prova con la configurazione email, per testarla.

Richiedi i parametri

Settore Tipologia Descrizione
azione Corda Il valore per inviare una mail di prova è test.

Esempio di risposta:

{
   "description" : "Send test mail",
   "message" : "Test mail sent successful.",
   "success" : "true"
}

Scarica un file supportato

Scarica un file supportato

Richiedi un esempio:

curl -k -X GET -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
https://<zevenet_server>:444/zapi/v3.2/zapi.cgi/system/supportsave > supportsave.tar.gz

GET /system/supportsave

Ottieni un'immagine di stato del sistema con tutte le configurazioni e i processi in esecuzione nel sistema. Questo supporta, è necessario trovare problemi o assistenza.

Sistema - Cluster

Il cluster è l'elemento fatto da un nodo principale, che gestisce le connessioni fordward dei backend e un nodo di backup che controlla il master, è pronto a fare lo swich sul nodo master se passa allo stato down.

Quando è attivo uno stato, il nodo di backup ripristinerà tutto lo stato della connessione. Quindi, il client non ha rilevato un'interruzione nel servizio.

Ciò consente di mettere il bilanciatore del carico in alta disponibilità. Quindi, se ci sono problemi in uno Zevenet, il servizio continuerà a funzionare con la configurazione caricata.

Mostra la configurazione del cluster

Mostra la configurazione del cluster

Richiedi un esempio:

curl -k -X GET -H "ZAPI_KEY: <ZAPI_KEY_STRING>" 
https://<zevenet_server>:444/zapi/v3.2/zapi.cgi/system/cluster

GET /system/cluster

Mostra tutte le configurazioni sul cluster.

Risposta BODY:

{
   "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"
         }
      ]
   }
}

Parametri di risposta

La risposta sarà un oggetto JSON con la configurazione del cluster e un array con i nodi in esso contenuti.

Oggetto del cluster:

Settore Tipologia Descrizione
INTERVALLO Numero È il tempo di attesa tra due verifiche dello stato del nodo principale.
failback Corda Quale nodo preferisce essere master. I valori possono essere a Nome nodo, per dare la preferenza a un nodo; o disabile, se qualsiasi nodo può essere master e non ha priorità per uno.
interfaccia Corda Interfaccia in cui è configurato l'IP del nodo.
nodi Oggetto[] I nodi del cluster.

Oggetto Nodo:

Settore Tipologia Descrizione
ip Corda È l'IP configurato nel nodo per verificare lo stato del nodo e per eseguire la replica delle informazioni.
Nome Corda È il nome host del nodo e viene utilizzato come identificatore univoco del nodo.
nodo Corda I valori possibili sono: locale, se il nodo è che sta ricevendo la richiesta zapi; o a distanza, se è l'altro nodo configurato nel cluster.

Abilita un cluster

Abilita un cluster

Richiedi un esempio:

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.2/zapi.cgi/system/cluster

POST /system/cluster

Fai un cluster comunicando due bilancieri.

Richiedi i parametri

Settore Tipologia Descrizione Obbligatorio
remote_ip Corda IP dell'host remoto utilizzato per il cluster. vero
local_ip Corda IP dell'host locale utilizzato per il cluster. vero
remote_password Corda Password utente root per il bilanciamento remoto. vero

Risposta BODY:

{
   "description" : "Enabling cluster",
   "message" : "Cluster enabled successfully",
   "success" : "true"
}

Modifica la configurazione del cluster

Modifica la configurazione del cluster

Richiedi un esempio:

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.2/zapi.cgi/system/cluster

PUT /system/cluster

Configurare i parametri della modalità di lavoro per il cluster.

Richiedi i parametri

Settore Tipologia Descrizione
INTERVALLO Numero È il tempo di attesa tra due verifiche dello stato del nodo principale.
failback Corda Quale nodo preferisce essere master. I valori possono essere a Nome nodo, per dare la preferenza a un nodo; o disabile, se qualsiasi nodo può essere master e non ha priorità per uno.

Risposta BODY:

{
   "description" : "Modifying the cluster configuration",
   "params" : {
      "check_interval" : "4",
      "failback" : "disabled"
   }
}

Disabilita il cluster

Disabilita il cluster

Richiedi un esempio:

curl -k -X DELETE -H 'Content-Type: application/json' 
https://<zevenet_server>:444/zapi/v3.2/zapi.cgi/system/cluster

DELETE /system/cluster

Rimuovere il cluster.

Risposta BODY:

{
   "description" : "Disabling cluster",
   "message" : "Cluster disabled successfully",
   "success" : "true"
}

Modalità di manutenzione

Modalità di manutenzione

Richiedi un esempio:

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.2/zapi.cgi/system/cluster/actions

POST /system/cluster/actions

Modificare il nodo del cluster locale in modalità di manutenzione.

Risposta BODY:

{
   "description" : "Setting maintenance mode",
   "message" : "Local cluster node changed to maintenance mode successfully",
   "success" : "true"
}

Richiedi i parametri

Settore Tipologia Descrizione Obbligatorio
azione Corda Azione da applicare al cluster. L'azione disponibile è manutenzione. vero
status Corda Stato per mettere il nodo, i valori possibili sono enable, metterlo in modalità di manutenzione; o disable, metti il ​​nodo disponibile. vero

Mostra lo stato dei nodi

Mostra lo stato dei nodi

Richiedi un esempio:

curl -k -X GET -H "ZAPI_KEY: <ZAPI_KEY_STRING>" 
https://<zevenet_server>:444/zapi/v3.2/zapi.cgi/system/cluster/nodes

GET /system/cluster/nodes

Mostra lo stato di tutti i nodi.

Risposta BODY:

{
   "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"
      }
   ]
}

Parametri di risposta

La risposta sarà un JSON con chiave param e valore una matrice di oggetto di stato del nodo.

Oggetto di stato del nodo

Settore Tipologia Descrizione
ip Corda È l'IP configurato nel nodo per verificare lo stato del nodo e per eseguire la replica delle informazioni.
Nome Corda È il nome host del nodo e viene utilizzato come identificatore univoco del nodo.
nodo Corda I valori possibili sono: locale, se il nodo è che sta ricevendo la richiesta zapi; o a distanza, se è l'altro nodo configurato nel cluster.
messaggio Corda Messaggio descrittivo che indica lo stato e la modalità di lavoro del nodo.
ruolo Corda Modalità di lavoro effettiva di questo nodo. I valori possibili sono: Mastercard, questo nodo sta gestendo le connessioni tra backend e client; o di riserva, questo nodo ha risposto alle connessioni dello stato master e alla configurazione master e sta verificando che il servizio master funzioni.
status Corda Indicare se alcuni processi del cluster non stanno funzionando.

Mostra lo stato del cluster localhost

Mostra lo stato del cluster localhost

Richiedi un esempio:

curl -k -X GET -H "ZAPI_KEY: <ZAPI_KEY_STRING>" 
https://<zevenet_server>:444/zapi/v3.2/zapi.cgi/system/cluster/nodes/localhost

GET /system/cluster/nodes/localhost

Mostra lo stato del nodo locale.

Risposta BODY:

{
   "description" : "Cluster status for localhost",
   "params" : {
      "message" : "Node online and active",
      "name" : "canoDEV4100",
      "role" : "master",
      "status" : "ok"
   }
}

Parametri di risposta

Settore Tipologia Descrizione
messaggio Corda Messaggio descrittivo che indica lo stato e la modalità di lavoro del nodo.
Nome Corda È il nome host del nodo e viene utilizzato come identificatore univoco del nodo.
ruolo Corda Modalità di lavoro effettiva di questo nodo. I valori possibili sono: Mastercard, questo nodo sta gestendo le connessioni tra backend e client; o di riserva, questo nodo ha risposto alle connessioni dello stato master e alla configurazione master e sta verificando che il servizio master funzioni.
status Corda Indicare se alcuni processi del cluster non stanno funzionando.

RBAC

RBAC è la soluzione per un controllo di accesso basato sui ruoli. Quindi, Zevenet può essere manager e amministrare in base a ruoli diversi, limitando l'accesso alle configurazioni e alle risorse per i gruppi.

Un gruppo può vedere le risorse, le farm e le interfacce virtuali, ovvero il proprietario. È possibile definire autorizzazioni diverse per applicare azioni sulle risorse, quindi ad esempio un gruppo potrebbe gestire una farm e un'altra potrebbe monitorarla.

Tre elmenti sono usati per lavorare con RBAC: ruoli, un rol è un insieme di autorizzazioni per diversi elementi di bilanciamento del carico. utenti, ogni utente potrà accedere al load balancer per api, per webgui o entrambi, con il ruolo del gruppo dell'utente. gruppo, è un insieme di utenti e un insieme di risorse (farm e interfacce virtuali). Un gruppo deve avere un ruolo assegnato.

RBAC - Utenti

Un utente può accedere al load balancer con il ruolo del gruppo dell'utente tramite l'api, con zapikey dell'utente e applicandogli i permessi zapi, oppure tramite la web gui con il nome utente e la password se l'utente dispone dei permessi web gui.

Elenca gli utenti

Elenca tutti gli utenti

Richiedi un esempio:

curl -k -X GET -H "ZAPI_KEY: <ZAPI_KEY_STRING>" 
https://<zevenet_server>:444/zapi/v3.2/zapi.cgi/rbac/users

GET /rbac/users

Elenca tutti gli utenti RBAC e le loro configurazioni

Esempio di risposta:

{
   "description" : "List the RBAC users",
   "params" : [
      {
         "group" : "monitor",
         "name" : "sarah",
         "webgui_permissions" : "true",
         "zapi_permissions" : "true"
      },
      {
         "group" : "system-admin",
         "name" : "john",
         "webgui_permissions" : "true",
         "zapi_permissions" : "true"
      },
      {
         "group" : "web-admin",
         "name" : "aaron",
         "webgui_permissions" : "true",
         "zapi_permissions" : "false"
      }
   ]
}

Parametri di risposta

La risposta sarà un oggetto JSON con una chiave impostata su params. Il valore di questo sarà un array di oggetti utente, ognuno dei quali contiene gli attributi chiave di seguito.

Settore Tipologia Descrizione
gruppo Corda È il nome del gruppo in cui si trova l'utente. L'utente può essere solo in un gruppo.
Nome Corda Nome utente, identifica l'utente e utilizzato per accedere tramite la GUI Web.
webgui_permissions Corda I valori possibili sono: vero, per abilitare l'accesso al sistema di bilanciamento del carico attraverso il web gui; o falso, per non permettere l'accesso attraverso il web gui.
zapi_permissions Corda I valori possibili sono: vero, per abilitare l'accesso al servizio di bilanciamento del carico attraverso lo zapi; o falso, per non permettere l'accesso attraverso lo zapi.

Recupera un utente

Recupera un utente

Richiedi un esempio:

curl -k -X GET -H "ZAPI_KEY: <ZAPI_KEY_STRING>" 
https://<zevenet_server>:444/zapi/v3.2/zapi.cgi/rbac/users/sarah

GET /rbac/users/<name>

Mostra la configurazione dell'utente. Nome è il nome utente ed è un identificativo univoco.

Esempio di risposta:

{
   "description" : "Get the user sarah",
   "params" : {
         "group" : "monitor",
         "name" : "sarah",
         "webgui_permissions" : "true",
         "zapi_permissions" : "true"
      }
}

Parametri di risposta

La risposta sarà un oggetto JSON con una chiave impostata su params. Il valore di questo sarà un array di oggetti utente, ognuno dei quali contiene gli attributi chiave di seguito.

Settore Tipologia Descrizione
gruppo Corda È il nome del gruppo in cui si trova l'utente. L'utente può essere solo in un gruppo.
Nome Corda Nome utente, identifica l'utente e utilizzato per accedere tramite la GUI Web.
webgui_permissions Corda I valori possibili sono: vero, per abilitare l'accesso al sistema di bilanciamento del carico attraverso il web gui; o falso, per non permettere l'accesso attraverso il web gui.
zapi_permissions Corda I valori possibili sono: vero, per abilitare l'accesso al servizio di bilanciamento del carico attraverso lo zapi; o falso, per non permettere l'accesso attraverso lo zapi.

Crea un utente

Crea un nuovo utente

Richiedi un esempio:

curl -k -X POST -H "ZAPI_KEY: <ZAPI_KEY_STRING>" -H 'Content-Type: application/json'
-d '{ "name":"monica","password":"aCX2kl5m9"}'
https://<zevenet_server>:444/zapi/v3.2/zapi.cgi/rbac/users

POST /rbac/users

Crea un utente, l'utente viene creato senza ruolo e gruppo.

Richiedi i parametri

Settore Tipologia Descrizione Obbligatorio
Nome Corda Nome utente, identifica l'utente e utilizzato per accedere tramite la GUI Web. vero
parola d'ordine Corda È la password utilizzata dall'utente per accedere attraverso la GUI Web. vero
{
   "description" : "Create the RBAC user, monica",
   "message" : "Added the RBAC user monica",
   "params" : {
      "user" : {
         "group" : "",
         "name" : "monica",
         "webgui_permissions" : "false",
         "zapi_permissions" : "false"
      }
   }
}

Parametri di risposta

La risposta sarà un oggetto JSON con una chiave impostata su params. Il valore di questo sarà un oggetto con la chiave utenti con gli attributi chiave di seguito.

Settore Tipologia Descrizione
gruppo Corda È il nome del gruppo in cui si trova l'utente. L'utente può essere solo in un gruppo.
Nome Corda Nome utente, identifica l'utente e utilizzato per accedere tramite la GUI Web.
webgui_permissions Corda I valori possibili sono: vero, per abilitare l'accesso al sistema di bilanciamento del carico attraverso il web gui; o falso, per non permettere l'accesso attraverso il web gui.
zapi_permissions Corda I valori possibili sono: vero, per abilitare l'accesso al servizio di bilanciamento del carico attraverso lo zapi; o falso, per non permettere l'accesso attraverso lo zapi.

Modifica un utente

Modifica un utente

Richiedi un esempio:

curl -k -X PUT -H 'Content-Type: application/json' -H "ZAPI_KEY: <ZAPI_KEY_STRING>" 
-d '{ "zapi_permissions":"true","webgui_permissions":"true","newpassword":"8fhM42W1","zapikey":"m3dW2MyYt4Hgv3"}'
https://<zevenet_server>:444/zapi/v3.2/zapi.cgi/rbac/users/monica

PUT /rbac/users/<name>

Modifica la configurazione di un utente. Nome è il nome utente ed è un identificativo univoco.

Richiedi parametri:

Settore Tipologia Descrizione Obbligatorio
zapikey Corda Ogni utente può avere uno zapikey. Con questo zapikey l'utente può agire attraverso lo zapikey con le autorizzazioni del ruolo dell'utente. .
webgui_permissions Corda I valori possibili sono: vero, per abilitare l'accesso al sistema di bilanciamento del carico attraverso il web gui; o falso, per non permettere l'accesso attraverso il web gui.
zapi_permissions Corda I valori possibili sono: vero, per abilitare l'accesso al servizio di bilanciamento del carico attraverso lo zapi; o falso, per non permettere l'accesso attraverso lo zapi.
nuova password Corda Nuova password utente per accedere tramite la GUI Web.

Esempio di risposta:

{
   "description" : "Modify the RBAC user monica",
   "message" : "Settings were changed successful.",
   "params" : {
      "group" : "",
      "name" : "monica",
      "webgui_permissions" : "true",
      "zapi_permissions" : "true"
   }
}

Parametri di risposta

La risposta sarà un oggetto JSON con una chiave impostata su params. Il valore di questo sarà un oggetto utente con gli attributi chiave di seguito.

Settore Tipologia Descrizione
gruppo Corda È il nome del gruppo in cui si trova l'utente. L'utente può essere solo in un gruppo.
Nome Corda Nome utente, identifica l'utente e utilizzato per accedere tramite la GUI Web.
webgui_permissions Corda I valori possibili sono: vero, per abilitare l'accesso al sistema di bilanciamento del carico attraverso il web gui; o falso, per non permettere l'accesso attraverso il web gui.
zapi_permissions Corda I valori possibili sono: vero, per abilitare l'accesso al servizio di bilanciamento del carico attraverso lo zapi; o falso, per non permettere l'accesso attraverso lo zapi.

Elimina un utente

Elimina un utente

Richiedi un esempio:

curl -k -X DELETE -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
https://<zevenet_server>:444/zapi/v3.2/zapi.cgi/rbac/users/john

DELETE /rbac/users/<name>

Elimina un utente RBAC. Nome è il nome utente ed è un identificativo univoco.

Esempio di risposta:

{
   "description" : "Delete the RBAC user john",
   "message" : "The RBAC user john has been deleted successful.",
   "success" : "true"
}

RBAC - Ruoli

Struttura del ruolo

Esempio di ruolo, queste sono tutte combinazioni possibili di oggetti e azioni:

{
   "params" : {
      "activation-certificate" : {
         "delete" : "false",
         "show" : "false",
         "upload" : "false"
      },
      "alias" : {
         "delete" : "false",
         "list" : "false",
         "modify" : "false"         
      },
      "backup" : {
         "apply" : "false",
         "create" : "false",
         "delete" : "false",
         "download" : "false",
         "upload" : "false"
      },
      "certificate" : {
         "create" : "false",
         "delete" : "false",
         "download" : "false",
         "show" : "false",
         "upload" : "false"
      },
      "cluster" : {
         "create" : "false",
         "delete" : "false",
         "maintenance" : "false",
         "modify" : "false"
      },
      "farm" : {
         "action" : "false",
         "create" : "false",
         "delete" : "false",
         "maintenance" : "false",
         "modify" : "false"
      },
      "farmguardian" : {
         "modify" : "false"
      },
      "interface" : {
         "modify" : "false"
      },
      "interface-virtual" : {
         "action" : "false",
         "create" : "false",
         "delete" : "false",
         "modify" : "false"
      },
      "ipds" : {
         "modify" : "false"
      },
      "log" : {
         "download" : "false",
         "show" : "false"
      },
      "notification" : {
         "action" : "false",
         "modify" : "false",
         "show" : "false",
         "test" : "false"
      },
      "rbac-group" : {
         "create" : "false",
         "delete" : "false",
         "list" : "false",
         "modify" : "false",
         "show" : "false"
      },
      "rbac-role" : {
         "create" : "false",
         "delete" : "false",
         "modify" : "false",
         "show" : "false"
      },
      "rbac-user" : {
         "create" : "false",
         "delete" : "false",
         "list" : "false",
         "modify" : "false",
         "show" : "false"
      },
      "supportsave" : {
         "download" : "false"
      },
      "system-service" : {
         "modify" : "false"
      }
   }
}

Un ruolo definisce un insieme di autorizzazioni applicate a un gruppo. Tutti gli utenti del gruppo ereditano il ruolo del gruppo. Un ruolo è un insieme di oggetti, ogni oggetto ha azioni. Un'azione può avere il valore: "true", per consentire l'azione o "false" per bloccare l'azione.

Ogni oggetto ha a disposizione le azioni mostrate nell'esempio di ruolo. Ad esempio, per un'azienda agricola, le azioni disponibili sono: "azione", "crea", "elimina", "manutenzione" e "modifica"; o per un oggetto alias, sono: "cancella", "lista" e "modifica".

Gli oggetti

Settore Descrizione
attivazione certificato Definisce le azioni applicate al certificato di attivazione Zevenet.
alias Definisce le azioni per gestire la caratteristica alias.
di riserva Definisce le azioni per gestire i backup.
a livello internazionale Definisce le azioni per gestire i certificati SSL.
gruppo Definisce le azioni per gestire il cluster.
fattoria Definisce le azioni per amministrare le fattorie. Solo l'utente potrà gestire le aziende agricole del gruppo dell'utente.
farmguardian Definisce le azioni per gestire i controlli dello stato dell'azienda. Per applicare un farmguardian a una farm, l'oggetto richiesto è fattoria.
interfaccia Definisce le azioni per amministrare il Rete menu. Le interfacce virtuali sono un'eccezione, sono gestite dal virtuali interfacce oggetto.
interfaccia virtuale Definisce le azioni per amministrare le interfacce virtuali. Solo l'utente potrà gestire le interfacce del gruppo dell'utente.
IPDS Definisce le azioni per gestire le regole IPDS. Per applicare una regola a una farm, l'oggetto richiesto è fattoria.
ceppo Definisce le azioni per gestire i registri del bilanciamento del carico.
notifica Definisce le azioni per gestire le notifiche: avvisi e metodi inviati.
RBAC-gruppo Definisce le azioni per gestire i gruppi RBAC.
RBAC-ruolo Definisce le azioni per gestire i ruoli RBAC.
rbac-utente Definisce le azioni per gestire gli utenti RBAC.
supportsave Definisce le azioni per gestire i supporti di Zevenet.
Sistema-service Definisce le azioni per gestire il remoto e i servizi locali.

Le azioni

Settore Descrizione
stratagemma Elenca gli elementi disponibili di un oggetto.
Mostra Restituisce un oggetto e la sua configurazione.
scaricare Scarica un oggetto dal servizio di bilanciamento del carico.
caricare Carica un oggetto sul servizio di bilanciamento del carico.
manutenzione Modifica lo stato di un oggetto tra manutenzione e up.
azione Applica un'azione all'oggetto. Ogni oggetto ha le sue azioni.
creare Crea un nuovo elemento per un tipo di oggetto.
delete Cancella in modo permanente un oggetto.
modificare Modifica la configurazione di un oggetto. A volte, se l'oggetto non ha le azioni: creare, delete or azione azioni, queste azioni sono applicate da modificare permesso.

Elenca i ruoli

Elenca tutti i ruoli

Richiedi un esempio:

curl -k -X GET -H "ZAPI_KEY: <ZAPI_KEY_STRING>" 
https://<zevenet_server>:444/zapi/v3.2/zapi.cgi/rbac/roles

GET /rbac/roles

Elenca tutti i ruoli RBAC

Esempio di risposta:

{
   "description" : "List the RBAC roles",
   "params" : [
      "example",
      "admin",
      "monitor"
   ]
}

Parametri di risposta

La risposta sarà un oggetto JSON con una chiave impostata su params. Il valore di questo sarà un array di nomi di ruoli. Ogni nome è l'identificatore di un ruolo

Recupera un ruolo

Recupera un ruolo

Richiedi un esempio:

curl -k -X GET -H "ZAPI_KEY: <ZAPI_KEY_STRING>" 
https://<zevenet_server>:444/zapi/v3.2/zapi.cgi/rbac/roles/monitor

GET /rbac/roles/<name>

Mostra la configurazione dell'utente. Nome è il nome utente ed è un identificativo univoco.

Parametri di risposta

La risposta sarà un oggetto JSON con una chiave impostata su params. Il valore di questo sarà una struttura di ruolo. Le chiavi sono gli oggetti permessi, che identificano dove agiranno e come parametri di questo oggetto sono le azioni da controllare. Se l'azione ha il valore "true", questo sarà consentito al ruolo; se l'azione ha il valore "false", l'azione verrà bloccata.

Crea un ruolo

Crea un nuovo ruolo

Richiedi un esempio:

curl -k -X POST -H "ZAPI_KEY: <ZAPI_KEY_STRING>" -H 'Content-Type: application/json'
-d '{ "name":"web-monitor"}'
https://<zevenet_server>:444/zapi/v3.2/zapi.cgi/rbac/roles

POST /rbac/roles

Creare un ruolo genererà un nuovo ruolo da un modello con tutte le autorizzazioni impostate come falso per impostazione predefinita.

Richiedi i parametri

Settore Tipologia Descrizione Obbligatorio
Nome Corda Nome del ruolo, viene utilizzato come identificativo univoco. vero

Parametri di risposta

La risposta sarà un oggetto JSON con una chiave impostata su params. Il valore di questo sarà una struttura con i permessi. Un permesso è una chiave, che identifica l'oggetto su cui agirà e come parametri di questo oggetto sono le azioni da controllare. Se l'azione ha il valore "true", questo sarà consentito al ruolo; se l'azione ha il valore "false", l'azione verrà bloccata.

Modifica un ruolo

Modifica un ruolo

Richiedi un esempio:

curl -k -X PUT -H 'Content-Type: application/json' -H "ZAPI_KEY: <ZAPI_KEY_STRING>" 
-d ''{ "ipds":{"action":"true"}, "farm":{"maintenance":"true", "action":"true"} }'
https://<zevenet_server>:444/zapi/v3.2/zapi.cgi/rbac/roles/web-monitor

PUT /rbac/users/<name>

Modifica le autorizzazioni del ruolo. Nome è il nome del ruolo ed è un identificatore univoco.

Richiedi parametri:

Settore Azioni Descrizione
attivazione certificato delete, Mostra che collaborano con noi, attingono direttamente dalla storia e dalla tradizione veneziana per poi caricare Definisce le azioni applicate al certificato di attivazione Zevenet.
alias delete, stratagemma che collaborano con noi, attingono direttamente dalla storia e dalla tradizione veneziana per poi modificare Definisce le azioni per gestire la caratteristica alias.
di riserva applicare, creare, delete, scaricare che collaborano con noi, attingono direttamente dalla storia e dalla tradizione veneziana per poi caricare Definisce le azioni per gestire i backup.
a livello internazionale creare, delete, scaricare, Mostra che collaborano con noi, attingono direttamente dalla storia e dalla tradizione veneziana per poi caricare Definisce le azioni per gestire i certificati SSL.
gruppo creare, delete, manutenzione che collaborano con noi, attingono direttamente dalla storia e dalla tradizione veneziana per poi modificare Definisce le azioni per gestire il cluster.
fattoria azione, creare, delete, manutenzione che collaborano con noi, attingono direttamente dalla storia e dalla tradizione veneziana per poi modificare Definisce le azioni per amministrare le fattorie. Solo l'utente potrà gestire le aziende agricole del gruppo dell'utente.
farmguardian modificare Definisce le azioni per gestire i controlli dello stato dell'azienda. Per applicare un farmguardian a una farm, l'oggetto richiesto è fattoria.
interfaccia modificare Definisce le azioni per amministrare il Rete menu. Le interfacce virtuali sono un'eccezione, sono gestite dal virtuali interfacce oggetto.
interfaccia virtuale azione, creare, delete che collaborano con noi, attingono direttamente dalla storia e dalla tradizione veneziana per poi modificare Definisce le azioni per amministrare le interfacce virtuali. Solo l'utente potrà gestire le interfacce del gruppo dell'utente.
IPDS azione che collaborano con noi, attingono direttamente dalla storia e dalla tradizione veneziana per poi modificare Definisce le azioni per gestire le regole IPDS. Per applicare una regola a una farm, l'oggetto richiesto è fattoria.
ceppo scaricare che collaborano con noi, attingono direttamente dalla storia e dalla tradizione veneziana per poi Mostra Definisce le azioni per gestire i registri del bilanciamento del carico.
notifica azione, modificare, Mostra che collaborano con noi, attingono direttamente dalla storia e dalla tradizione veneziana per poi test Definisce le azioni per gestire le notifiche: avvisi e metodi inviati.
RBAC-gruppo creare, delete, stratagemma, modificare che collaborano con noi, attingono direttamente dalla storia e dalla tradizione veneziana per poi Mostra Definisce le azioni per gestire i gruppi RBAC.
RBAC-ruolo creare, delete, modificare che collaborano con noi, attingono direttamente dalla storia e dalla tradizione veneziana per poi Mostra Definisce le azioni per gestire i ruoli RBAC.
rbac-utente creare, delete, stratagemma, modificare che collaborano con noi, attingono direttamente dalla storia e dalla tradizione veneziana per poi Mostra Definisce le azioni per gestire gli utenti RBAC.
supportsave scaricare Definisce le azioni per gestire i supporti di Zevenet.
Sistema-service modificare Definisce le azioni per gestire il remoto e i servizi locali.

    Ogni tipo di azione spiegata di seguito:

Azioni Descrizione
stratagemma Elenca gli elementi disponibili di un oggetto. vero per dare il permesso, falso rimuovere il permesso.
Mostra Restituisce un oggetto e la sua configurazione. vero per dare il permesso, falso rimuovere il permesso.
scaricare Scarica un oggetto dal servizio di bilanciamento del carico. vero per dare il permesso, falso rimuovere il permesso.
caricare Carica un oggetto sul servizio di bilanciamento del carico. vero per dare il permesso, falso rimuovere il permesso.
manutenzione Modifica lo stato di un oggetto tra manutenzione e up. vero per dare il permesso, falso rimuovere il permesso.
azione Applica un'azione all'oggetto. Ogni oggetto ha le sue azioni. vero per dare il permesso, falso rimuovere il permesso.
creare Crea un nuovo elemento per un tipo di oggetto. vero per dare il permesso, falso rimuovere il permesso.
delete Cancella in modo permanente un oggetto. vero per dare il permesso, falso rimuovere il permesso.
modificare Modifica la configurazione di un oggetto. A volte, se l'oggetto non ha le azioni: creare, delete or azione azioni, queste azioni sono applicate da modificare permesso. vero per dare il permesso, falso rimuovere il permesso.

Parametri di risposta

La risposta sarà un oggetto JSON con una chiave impostata su params. Il valore di questo sarà una struttura con i permessi. Un permesso è una chiave, che identifica l'oggetto su cui agirà e come parametri di questo oggetto sono le azioni da controllare. Se l'azione ha il valore "true", questo sarà consentito al ruolo; se l'azione ha il valore "false", l'azione verrà bloccata.

Elimina un ruolo

Elimina un ruolo

Richiedi un esempio:

curl -k -X DELETE -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
https://<zevenet_server>:444/zapi/v3.2/zapi.cgi/rbac/roles/web-monitor

DELETE /rbac/roles/<name>

Elimina un ruolo RBAC. Nome è il nome del ruolo ed è un identificatore univoco.

Esempio di risposta:

{
   "description" : "Delete the RBAC role web-monitor",
   "message" : "The RBAC role web-monitor has been deleted successful.",
   "success" : "true"
}

RBAC - Gruppi

Un gruppo è un insieme di utenti con un ruolo. Gli utenti possono applicare azioni nelle risorse (farm e interfacce virtuali) del loro gruppo.

Elenca i gruppi

Elenca tutti i gruppi

Richiedi un esempio:

curl -k -X GET -H "ZAPI_KEY: <ZAPI_KEY_STRING>" 
https://<zevenet_server>:444/zapi/v3.2/zapi.cgi/rbac/groups

GET /rbac/groups

Elenca tutti i gruppi RBAC e le loro impostazioni

Esempio di risposta:

{
   "description" : "List the RBAC groups",
   "params" : [
      {
         "name" : "system-admin",
         "resources" : {
            "farms" : [
               "webHTTP",
               "dns"
            ],
            "interfaces" : [
                "eth2:virt",
                "eth2:vip"
            ]
         },
         "role" : "admin",
         "users" : [
            "john",
            "monica"
         ]
      },
      {
         "name" : "monitor",
         "resources" : {
            "farms" : [
               "webHTTP",
               "mailService"
            ],
            "interfaces" : []
         },
         "role" : "monitor",
         "users" : [
            "sarah",
            "kevin"
         ]
      }
   ]
}

Parametri di risposta

La risposta sarà un oggetto JSON con una chiave impostata su params. Il valore di questo sarà una serie di oggetti di gruppo, ognuno dei quali contiene gli attributi chiave di seguito.

Settore Tipologia Descrizione
Nome Corda Nome del gruppo, identifica il gruppo.
risorse Oggetto I valori possibili sono: vero, per abilitare l'accesso al sistema di bilanciamento del carico attraverso il web gui; o falso, per non permettere l'accesso attraverso il web gui.
ruolo Corda Ruolo applicato al gruppo. Tutti gli utenti del gruppo ereditano questo ruolo.
utenti Stringa[] Elenco di utenti nel gruppo. Il nome degli utenti sono i loro identificatori univoci.

I risorsa oggetto:

Settore Tipologia Descrizione
aziende agricole Stringa[] È una lista con le aziende associate del gruppo.
interfacce Stringa[] È una lista con le interfacce virtuali del membro del gruppo.

Recupera un gruppo

Recupera un gruppo

Richiedi un esempio:

curl -k -X GET -H "ZAPI_KEY: <ZAPI_KEY_STRING>" 
https://<zevenet_server>:444/zapi/v3.2/zapi.cgi/rbac/groups/system-admin

GET /rbac/groups/<name>

Mostra la configurazione dei gruppi. Nome è il nome utente ed è un identificativo univoco.

Esempio di risposta:

{
   "description" : "Get the group corel7",
   "params" : {
     "name" : "monitor",
     "resources" : {
        "farms" : [
           "webHTTP",
           "mailService"
        ],
        "interfaces" : []
     },
     "role" : "monitor",
     "users" : [
        "sarah",
        "kevin"
     ]
  }
}

Parametri di risposta

La risposta sarà un oggetto JSON con una chiave impostata su params. Il valore di questo sarà un oggetto di gruppo, che contiene gli attributi chiave di seguito.

Settore Tipologia Descrizione
Nome Corda Nome del gruppo, identifica il gruppo.
risorse Oggetto I valori possibili sono: vero, per abilitare l'accesso al sistema di bilanciamento del carico attraverso il web gui; o falso, per non permettere l'accesso attraverso il web gui.
ruolo Corda Ruolo applicato al gruppo. Tutti gli utenti del gruppo ereditano questo ruolo.
utenti Stringa[] Elenco di utenti nel gruppo. Il nome degli utenti sono i loro identificatori univoci.

I risorsa oggetto:

Settore Tipologia Descrizione
aziende agricole Stringa[] È una lista con le aziende associate del gruppo.
interfacce Stringa[] È una lista con le interfacce virtuali del membro del gruppo.

Crea un gruppo

Creare un nuovo gruppo

Richiedi un esempio:

curl -k -X POST -H "ZAPI_KEY: <ZAPI_KEY_STRING>" -H 'Content-Type: application/json'
-d '{ "name":"development"}'
https://<zevenet_server>:444/zapi/v3.2/zapi.cgi/rbac/groups

POST /rbac/groups

Crea un nuovo gruppo in cui utenti, risorse e ruoli sono correlati.

Richiedi i parametri

Settore Tipologia Descrizione Obbligatorio
Nome Corda Nome del gruppo, identifica il gruppo. vero
{
   "description" : "Create the RBAC group, development",
   "message" : "Added the RBAC group development",
   "params" : {
      "group" : {
         "name" : "development",
         "resources" : {
            "farms" : [],
            "interfaces" : []
         },
         "role" : "",
         "users" : []
      }
   }
}

Parametri di risposta

La risposta sarà un oggetto JSON con una chiave impostata su params. Il valore di questo sarà un oggetto di gruppo, che contiene gli attributi chiave di seguito.

Settore Tipologia Descrizione
Nome Corda Nome del gruppo, identifica il gruppo.
risorse Oggetto I valori possibili sono: vero, per abilitare l'accesso al sistema di bilanciamento del carico attraverso il web gui; o falso, per non permettere l'accesso attraverso il web gui.
ruolo Corda Ruolo applicato al gruppo. Tutti gli utenti del gruppo ereditano questo ruolo.
utenti Stringa[] Elenco di utenti nel gruppo. Il nome degli utenti sono i loro identificatori univoci.

I risorsa oggetto:

Settore Tipologia Descrizione
aziende agricole Stringa[] È una lista con le aziende associate del gruppo.
interfacce Stringa[] È una lista con le interfacce virtuali del membro del gruppo.

Modifica un gruppo

Modifica un gruppo

Richiedi un esempio:

curl -k -X PUT -H 'Content-Type: application/json' -H "ZAPI_KEY: <ZAPI_KEY_STRING>" 
-d '{ "role":"true"}'
https://<zevenet_server>:444/zapi/v3.2/zapi.cgi/rbac/groups/development

PUT /rbac/groups/<name>

Modifica la configurazione di un gruppo. Nome è il nome del gruppo ed è un identificatore univoco.

Richiedi parametri:

Settore Tipologia Descrizione Obbligatorio
ruolo Corda È il ruolo da applicare al gruppo.

Esempio di risposta:

{
   "description" : "Create the RBAC group, development",
   "message" : "Added the RBAC group development",
   "params" : {
      "group" : {
         "name" : "development",
         "resources" : {
            "farms" : [],
            "interfaces" : []
         },
         "role" : "monitor",
         "users" : []
      }
   }
}

Parametri di risposta

La risposta sarà un oggetto JSON con una chiave impostata su params. Il valore di questo sarà un oggetto di gruppo, che contiene gli attributi chiave di seguito.

Settore Tipologia Descrizione
Nome Corda Nome del gruppo, identifica il gruppo.
risorse Oggetto I valori possibili sono: vero, per abilitare l'accesso al sistema di bilanciamento del carico attraverso il web gui; o falso, per non permettere l'accesso attraverso il web gui.
ruolo Corda Ruolo applicato al gruppo. Tutti gli utenti del gruppo ereditano questo ruolo.
utenti Stringa[] Elenco di utenti nel gruppo. Il nome degli utenti sono i loro identificatori univoci.

I risorsa oggetto:

Settore Tipologia Descrizione
aziende agricole Stringa[] È una lista con le aziende associate del gruppo.
interfacce Stringa[] È una lista con le interfacce virtuali del membro del gruppo.

Elimina un gruppo

Elimina un utente

Richiedi un esempio:

curl -k -X DELETE -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
https://<zevenet_server>:444/zapi/v3.2/zapi.cgi/rbac/groups/development

DELETE /rbac/groups/<name>

Elimina un utente RBAC. Nome è il nome utente ed è un identificativo univoco.

Esempio di risposta:

{
   "description" : "Delete the RBAC group development",
   "message" : "The RBAC group development has been deleted successful.",
   "success" : "true"
}

Aggiungi una risorsa o utente a un gruppo

Aggiungi una risorsa o utente a un gruppo

Richiedi un esempio:

curl -k -X POST -H "ZAPI_KEY: <ZAPI_KEY_STRING>" -H 'Content-Type: application/json'
-d '{"name":"monica"}'
https://<zevenet_server>:444/zapi/v3.2/zapi.cgi/rbac/groups/development/users

POST /rbac/groups/<name>/(interfaces|farms|users)

Il parametro uri Nome è il nome del gruppo.

Seleziona utenti nell'URI per aggiungere un utente al gruppo. Selezionare aziende agricole nell'URI per aggiungere una fattoria al gruppo. Selezionare interfacce nell'URI per aggiungere un'interfaccia virtuale al gruppo.

Richiedi i parametri

Settore Tipologia Descrizione Obbligatorio
Nome Corda È il nome dell'oggetto da aggiungere al gruppo vero

Esempio di risposta:

{
   "description" : "Add the user monica to the group development",
   "message" : "Added the user monica to the group development",
   "params" : {
      "group" : {
         "name" : "development",
         "resources" : {
            "farms" : [],
            "interfaces" : []
         },
         "role" : "monitor",
         "users" : [
            "monica"
         ]
      }
   }
}

Parametri di risposta

La risposta sarà un oggetto JSON con una chiave impostata su params. Il valore di questo sarà un oggetto di gruppo, che contiene gli attributi chiave di seguito.

Settore Tipologia Descrizione
Nome Corda Nome del gruppo, identifica il gruppo.
risorse Oggetto I valori possibili sono: vero, per abilitare l'accesso al sistema di bilanciamento del carico attraverso il web gui; o falso, per non permettere l'accesso attraverso il web gui.
ruolo Corda Ruolo applicato al gruppo. Tutti gli utenti del gruppo ereditano questo ruolo.
utenti Stringa[] Elenco di utenti nel gruppo. Il nome degli utenti sono i loro identificatori univoci.

I risorsa oggetto:

Settore Tipologia Descrizione
aziende agricole Stringa[] È una lista con le aziende associate del gruppo.
interfacce Stringa[] È una lista con le interfacce virtuali del membro del gruppo.

Elimina una risorsa o un utente da un gruppo

Elimina una risorsa o un utente da un gruppo

Richiedi un esempio:

curl -k -X DELETE -H "ZAPI_KEY: <ZAPI_KEY_STRING>" 
https://<zevenet_server>:444/zapi/v3.2/zapi.cgi/rbac/groups/development/users/monica

DELETE /rbac/groups/<name>/(interfaces|farms|users)/<name>

Il primo parametro uri Nome è il nome del gruppo. Il secondo parametro uri Nome è risorsa o nome utente.

Seleziona utenti nell'URI per rimuovere un utente dal gruppo. Selezionare aziende agricole nell'URI per rimuovere una fattoria dal gruppo. Selezionare interfacce in uri per rimuovere un'interfaccia virtuale dal gruppo.

Esempio di risposta:

{
   "description" : "Removing the user monica from the group development",
   "message" : "The user monica has been unlinked successful from the group development.",
   "success" : "true"
}