NAV Navbar
Logotipo
concha

Referência do Zevenet API v3

ZAPI (Zevenet Application Programming Interface) é a ferramenta para o administrador do sistema para controlar a conduta do balanceador de carga Zevenet.

É necessário ativar o usuário zapi da interface da web antes de usá-lo, Sistema / Usuários.

Uma vez que o usuário zapi foi criado, é possível enviar uma solicitação para a URL, https: //zevenet_server: 444 / zapi / v3 / zapi.cgi /URI_path.

zevenet_server é o IP em que o serviço HTTP está escutando.

URI_path define o objeto ou ação para agir. Seu comportamento e seus parâmetros serão definidos dentro de cada seção de documentação.

Os verbos usados ​​nesta API serão GET, POST, PUT or EXCLUIR. Uma solicitação PUT ou POST sempre precisa de quase um parâmetro, embora isso não precise de nenhum parâmetro obrigatório.

certificados

Zevenet suporta cetificados no formato PEM para usá-los com seus farms HTTP com ouvinte HTTPS. Se você quiser saber mais sobre como criar certificados pem, visite o seguinte artigo: GERAR CERTIFICADOS NO FORMATO PEM

Listar todos os certificados

Listar todos os certificados

Exemplo de solicitação:

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

GET /certificates

Listar todos os certificados CSR e PEM no armazenamento de certificados, esses certificados podem ser usados ​​com farms HTTPS.

A resposta será um objeto JSON com um conjunto de chaves para params. O valor disso será uma matriz de objetos de certificado, cada um contendo os atributos-chave abaixo.

Exemplo de resposta:

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

Parâmetros de resposta

Campo Tipo Descrição
params Objeto [] Lista de objetos de certificado.

Objeto de certificado

Campo Tipo Descrição
CN Tanga Nome comum do domínio.
criação Tanga Data de criação.
expiração Tanga Data de validade.
filete Tanga Nome do arquivo do certificado, ID exclusivo.
emissor Tanga Autoridade certificada que assina o certificado.
tipo Tanga CSR ou certificado.

Download do Certificado

Download do Certificado

Exemplo de solicitação:

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

GET /certificates/<file>

Baixe um certificado instalado no armazenamento de certificados, use o nome do arquivo na solicitação para identificá-lo.

A resposta incluirá os cabeçalhos indicados abaixo com informações sobre o arquivo. O corpo da resposta será o conteúdo do arquivo.

Cabeçalhos de resposta:

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

Mostrar detalhes do certificado

Mostrar detalhes do certificado

Exemplo de solicitação:

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

GET /certificates/<file>/info

Mostrar todas as informações incluídas em um determinado certificado no armazenamento de certificados, incluindo assinaturas, é necessário que o nome do arquivo faça referência.

Exemplo de resposta:

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

Mostrar detalhes do certificado de ativação

Mostrar detalhes do certificado de ativação

Exemplo de solicitação:

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

GET /certificates/activation

Mostrar todas as informações incluídas no certificado de ativação, incluindo assinaturas, esse certificado é salvo no armazenamento de certificados. Se o certificado de ativação for excluído, o produto será desativado.

Excluir um certificado

Excluir um certificado

Exemplo de solicitação:

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

DELETE /certificates/<file>

Exclua um certificado por nome de arquivo no armazenamento de certificados.

Exemplo de resposta:

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

Excluir o certificado de ativação

Excluir o certificado de ativação

Exemplo de solicitação:

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

DELETE /certificates/activation

Exclua o certificado de ativação instalado no armazenamento de certificados. Se esse certificado for excluído, o Load Balancer será desativado.

Exemplo de resposta:

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

Crie um certificado CSR

Crie um certificado CSR

Exemplo de solicitação:

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

POST /certificates

Crie uma solicitação de assinatura de certificado (arquivo CSR).

Solicitar Parâmetros

Campo Tipo Descrição Exigido
nome Tanga Nome do ID do certificado. verdadeiro
fqdn Tanga O nome de domínio totalmente qualificado do seu servidor. verdadeiro
divisão Tanga A divisão de sua organização manipulando o certificado. verdadeiro
organização Tanga O nome legal da sua organização. verdadeiro
localidade Tanga A cidade onde sua organização está localizada. verdadeiro
estado Tanga O estado / região onde sua organização está localizada. verdadeiro
país Tanga O código ISO de duas letras para o país onde sua organização é a localização. verdadeiro
enviar Tanga Um endereço de e-mail usado para entrar em contato com sua organização. verdadeiro

Exemplo de resposta:

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

Upload de um certificado

Upload de um certificado

Exemplo de solicitação:

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

POST /certificates/<file>

Faça o upload de um certificado PEM para farms HTTP com o ouvinte HTTPS.

Requer o parâmetro --tcp-nodelaye --data-binary para carregar o arquivo no modo binário.

Solicitar parâmetros de URI

Campo Tipo Descrição Exigido
filete Tanga Nome do arquivo de certificado para fazer upload e salvar no armazenamento de certificados. verdadeiro

Exemplo de resposta:

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

Carregar um certificado de ativação

Carregar um certificado de ativação

Exemplo de solicitação:

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

POST /certificates/activation

Carregar um certificado de ativação com formato PEM, este certificado é necessário para habilitar todas as funcionalidades. Esse certificado é salvo no armazenamento de certificados, se o certificado de ativação existir no armazenamento de certificados, o certificado anterior será sobrescrito.

Exemplo de resposta:

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

Fazendas

O Zevenet é capaz de gerenciar o tráfego de três maneiras diferentes, sendo cada um gerenciado por um módulo diferente, balanceador de carga de serviço local ou módulo LSLB, Global Service Load Balancer ou módulo GSLB e módulo DSLB ou Datalink Service Load Balancer.

Todos os módulos funcionam com o conceito de perfil Farm, um perfil Farm é um grupo de parâmetros prontos para fazer uma ação específica com o tráfego de rede, é importante entender o que é capaz de fazer cada perfil de farm para obter os melhores resultados de Zevenet ADC.

Listar todas as fazendas

Listar todas as fazendas

Exemplo de solicitação:

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

GET /farms

Listar todas as fazendas disponíveis

A resposta será um objeto JSON com um conjunto de chaves para params. O valor disso será uma matriz de objetos de currículo de farm, cada um dos quais contém os principais atributos abaixo.

Objeto Agrícola

Campo Tipo Descrição
farmname Tanga Nome descritivo da fazenda. É usado como identificador único.
perfis Tanga Tipo de perfil, os valores disponíveis do perfil são: http, https or l4xnat para o módulo LSLB, gslb para o módulo GLSB e link de dados para o módulo DSLB
estado Tanga Status da fazenda, os valores de status disponíveis são: up, farm está sendo executado ou downa fazenda está parada
vip Tanga IP virtual em que farm está recebendo tráfego
vport Tanga Porta virtual onde o farm está recebendo tráfego, os valores de porta disponíveis são: um número de porta para os perfis http [s], l4xnat e gslb, um grupo de portas separadas por “,” ou um intervalo de portas separado por “:” para perfis l4xnat, em l4xnat os dois valores de separador (“,” e “:”) podem ser usados ​​no mesmo campo.

Exemplo de resposta:

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

Excluir uma fazenda

Excluir uma fazenda

Exemplo de solicitação:

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

DELETE /farms/<farmname>

Exclua um farm por meio de seu identificador de nome de farm.

Exemplo de resposta:

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

Definir uma ação em uma fazenda

Definir uma ação em uma fazenda

Exemplo de solicitação:

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

PUT /farms/<farmname>/actions

Aplique uma ação a um farm, consulte a tabela Parâmetros de solicitação para ações.

Solicitar Parâmetros

Campo Tipo Descrição
açao Tanga Defina a ação desejada. As ações são: Pare, a fazenda será parada. começo, a fazenda será iniciada e restart, o farm será interrompido e iniciado automaticamente.

Exemplo de resposta:

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

Parâmetros de resposta

Se não houver problemas na configuração, o zapi retornará a ação solicitada.

Fazendas HTTP

Perfil HTTP é um avançado balanceamento de carga 7 de camada (ou Application Delivery Controller) com propriedades especiais de proxy. Esse perfil oferece alguns recursos, como o balanceamento de carga 7 da camada HTTPS combinado com a aceleração de transferência de SSL. Esse perfil é adaptado para serviços da Web (servidores de aplicativos da Web incluídos) e todos os protocolos de aplicativos baseados em protocolos HTTP e HTTPS, como WebDav, RDP sobre HTTP, ICA sobre HTTP etc. Para configurar esse perfil de farm, um endereço IP virtual e um porta TCP virtual será necessária.

Recuperar farm por nome

Recuperar farm por nome

Exemplo de solicitação:

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

GET /farms/<farmname>

Mostrar todas as configurações sobre um determinado farm.

Exemplo de resposta:

{
   "description" : "List farm httpFarm",
   "ipds" : {
      "blacklists" : [
         "rem"
      ],
      "dos" : []
   },
   "params" : {
      "certlist" : [
         {
            "file" : "zencert.pem",
            "id" : 1
         }
      ],
      "cipherc" : "ALL",
      "ciphers" : "all",
      "contimeout" : 20,
      "error414" : "Request URI is too long.",
      "error500" : "An internal server error occurred. Please try again later.",
      "error501" : "This method may not be used.",
      "error503" : "The service is not available. Please try again later.",
      "httpverb" : "MSRPCext",
      "listener" : "https",
      "reqtimeout" : 30,
      "restimeout" : 45,
      "resurrectime" : 10,
      "rewritelocation" : "enabled",
      "status" : "down",
      "vip" : "192.168.100.211",
      "vport" : 200
   },
   "services" : [
      {
         "backends" : [],
         "cookiedomain" : "",
         "cookieinsert" : "false",
         "cookiename" : "",
         "cookiepath" : "",
         "cookiettl" : 0,
         "fgenabled" : "false",
         "fglog" : "false",
         "fgscript" : "",
         "fgtimecheck" : 5,
         "httpsb" : "false",
         "id" : "service3",
         "leastresp" : "false",
         "persistence" : "",
         "redirect" : "",
         "redirecttype" : "",
         "sessionid" : "",
         "ttl" : 0,
         "urlp" : "",
         "vhost" : ""
      },
      {
         "backends" : [
            {
               "id" : 0,
               "ip" : "192.168.0.168",
               "port" : 80,
               "status" : "up",
               "timeout" : null,
               "weight" : null
            }
         ],
         "cookiedomain" : "",
         "cookieinsert" : "false",
         "cookiename" : "",
         "cookiepath" : "",
         "cookiettl" : 0,
         "fgenabled" : "false",
         "fglog" : "false",
         "fgscript" : "tcp_check",
         "fgtimecheck" : 5,
         "httpsb" : "false",
         "id" : "srv",
         "leastresp" : "false",
         "persistence" : "",
         "redirect" : "",
         "redirecttype" : "",
         "sessionid" : "",
         "ttl" : 0,
         "urlp" : "",
         "vhost" : ""
      },
   ]
}

Parâmetros de resposta

A resposta será um objeto JSON com o formato abaixo.

Objeto Agrícola:

Campo Tipo Descrição
ipds objeto Lista de regras do IPDS aplicadas a este farm.
params objeto Parâmetros da configuração do farm.
serviços Objeto[] Array com todos os serviços criados neste farm e sua configuração.

Objeto IPDS:

Campo Tipo Descrição
listas negras Corda[] Regras de lista negra aplicadas ao farm.
dos Corda[] Regras de DoS aplicadas ao farm.

Objeto de parâmetros para farms HTTP:

Campo Tipo Descrição
certlist Objeto[] Apenas no perfil https. Lista de certificados ativada no farm, no formato pem, é permitido adicionar mais de um certificado pem ao mesmo farm para suporte a SNI. O listener com valor https é obrigatório. Qualquer certificado no armazenamento de certificados pode ser usado aqui.
cipherc Tanga Apenas no ouvinte https. Esta é a lista personalizada de códigos permitidos que serão aceitos pela conexão SSL, que é uma string no mesmo formato das cifras do OpenSSL. Este atributo é usado apenas quando cifras campo tem o valor sutomsecurity.
cifras Tanga Apenas no listener com valor https. Usado para construir uma lista de cifras aceitas por conexões SSL para proteger a conexão SSL. As opções são: todos os, todas as cifras serão aceitas, alta seguranca, somente cifras de alta segurança serão aceitas, ou segurança aduaneira, somente cifras carregadas cipherc campo será aceito.
comtimeout Sessão Por quanto tempo o farm aguardará uma conexão TCP com o back-end em segundos.
error414 Tanga Mensagem personalizada para responder com o código de erro 414 HTTP.
error500 Tanga Mensagem personalizada para responder com o código de erro 500 HTTP.
error501 Tanga Mensagem personalizada para responder com o código de erro 501 HTTP.
error503 Tanga Mensagem personalizada para responder com o código de erro 503 HTTP.
httpverb Tanga Este campo indica as operações que serão permitidas para as solicitações do cliente HTTP. os valores disponíveis são: padrãoHTTP, solicitações HTTP naccepted GET, POST, HEAD. extendedHTTPAceito solicitações HTTP anteriores, além de PUT, DELETE. standardWebDAVAceito solicitações HTTP anteriores mais LOCK, UNLOCK, PROPFIND, PROPPATCH, BUSCA, MKCOL, MOVE, COPY, OPÇÕES, TRACE, MKACTIVITY, CHECKOUT, MERGE, REPORT, MSextWebDAV aceitou solicitações anteriores de http mais INSCREVA-SE, SUBSCREVA-SE, NOTIFICA, BPROPFIND, BPROPPATCH, POLL, BMOVE, BCOPY, BDELETE, CONNECT ou MSRPCextAceita solicitações HTTP anteriores, além de RPC_IN_DATA, RPC_OUT_DATA. Observe que esses valores são sensíveis a maiúsculas e minúsculas.
ouvinte Tanga Um ouvinte define como o farm vai jogar com as solicitações dos clientes. As opções são: http para protocolo não protegido ou https para protocolo seguro.
reqtimeout Sessão Por quanto tempo o farm aguardará uma solicitação do cliente em segundos.
restimeout Sessão Por quanto tempo a fazenda aguardará uma resposta dos back-ends em segundos.
ressurreição Sessão O período para sair de um servidor real caído, após esse período, o balanceador de carga verifica se o servidor real está ativo, em segundos.
regravação Tanga Se estiver habilitado, o farm é forçado a modificar o local: e o local de conteúdo: cabeçalhos nas respostas aos clientes com o host virtual. As opções são: habilitadoativado inválido, inactivo ou habilitado-backends somente o endereço de back-end é comparado.
estado Tanga Status da fazenda. Os valores possíveis são: upa fazenda está em execução; down, a fazenda está parada ou reinicialização necessária, o farm precisa ser reiniciado para que as alterações mais recentes entrem em vigor.
vip Tanga IP do farm, onde o serviço virtual está escutando.
vport Sessão Porta da fazenda, onde o serviço virtual está escutando.

Objeto de Certificação:

Campo Tipo Descrição
filete Tanga O nome do certificado, referências ao certificado no armazenamento de certificados.
id Sessão ID do certificado, a ordem na lista, o primeiro será o usado por padrão se o cabeçalho do host virtual não corresponder ao campo CN no certificado. Usado para SNI.

Objeto de serviços para farms HTTP:

Campo Tipo Descrição
backends Objeto[] Backends definidos no serviço.
cookiedomain Tanga A inserção de cookies será executada se o domínio corresponder ao conteúdo do cookie. Habilitar cookieinsert campo é obrigatório.
cookieinsert Tanga Permite a inserção de cookies para sessões pegajosas de backends. As opções são verdadeiro, o perfil pesquisará o cookie fornecido no campo cookiename, se não existir, este cookie será adicionado, falso, não a ação é tomada.
cookiename Tanga O nome do cookie (ID da sessão) será usado para identificar o processo fixo nos backends. Habilitar cookieinsert campo é obrigatório.
caminho de cookie Tanga Ele gerencia o valor do caminho do cookie para o cookie fornecido. Habilitar cookieinsert campo é obrigatório.
Cookiettl Sessão É o tempo máximo de vida de um cookie, em segundos. Habilitar cookieinsert campo é obrigatório.
fgenabled Tanga Ativar o uso do guardião da fazenda. verdadeiro o guardião da fazenda está ativado e verificando o status dos backends, falso O responsável pelo farm está desativado e não está verificando o status do back-end. Nos perfis HTTP, um check_tcp é executado por padrão, mesmo que o responsável pelo farm esteja desabilitado.
fglog Tanga Habilite o uso de logs no guardião do farm. verdadeiro ativado, falso, Desativado. fgenabled É necessário.
fgscript Tanga O comando que o guardião do farm usará para verificar a integridade do back-end. verdadeiro ativado, falso, Desativado. fgenabled É necessário.
fgtimecheck Sessão o guardião da fazenda verificará a cada 'verificação de horário' segundo o status de saúde do back-end. fgenabled É necessário.
httpsb Tanga Esse parâmetro indica ao farm que os servidores de back-ends definidos no serviço atual estão usando o idioma HTTPS e, em seguida, os dados serão criptografados antes de serem enviados. verdadeiro, o perfil envia o tráfego no protocolo HTTPS para os backends, falso, o perfil envia o tráfego no protocolo HTTP para os backends.
id Tanga Nome do serviço, não pode ser modificado após a criação do serviço.
leastresp Tanga Permite o método de balanceamento de menos solicitações. verdadeiro Freqüentemente, o perfil verifica qual backend está levando menos tempo para responder, a fim de enviar mais conexões para este, falso perfil não verifica qual back-end está demorando menos para responder.
persistência Tanga Este parâmetro define como o serviço HTTP irá gerenciar a sessão do cliente. As opções são: "" string vazia, nenhuma ação é tomada, IP a sessão de persistência é feita na base do IP do cliente, BASIC a sessão de persistência é feita na base dos cabeçalhos BASIC, URL a sessão de persistência é feita na base de um campo no URI, PARM a sessão de persistência é feita na base de um valor no final do URI, BOLINHO a sessão de persistência é feita na base de um nome de cookie, este cookie tem que ser criado pelos backends, e CABEÇALHO, a sessão de persistência é feita na base de um nome de cabeçalho.
redirecionar Tanga Ele se comporta como um back-end especial, pois a solicitação do cliente é respondida por um redirecionamento para um novo URL automaticamente. Se o redirecionamento for configurado, a solicitação não será encaminhada para o back-end. Em vez disso, um redirecionamento será respondido ao cliente.
redirecttype Tanga Como o redirecionamento será feito, duas opções: omissão, a URL é considerada como um host absoluto e o caminho para redirecionar para anexar, o caminho de solicitação original ou URI será anexado ao host e ao caminho que você especificou com a opção padrão. E se redirecionar campo não está configurado, este campo será uma string vazia.
identificação de sessão Tanga Está disponível se persistência campo é URL, COOKIE ou HEADER, o valor do parâmetro será pesquisado pelo farm no cabeçalho http e gerenciará a sessão do cliente.
ttl Sessão Apenas com persistência. Esse valor indica o tempo máximo de vida de uma sessão do cliente inativa (duração máxima da sessão) em segundos.
urlp Tanga Permite determinar um serviço da Web em relação ao URL que o cliente está solicitando por meio de um padrão de URL específico que será verificado sintaticamente. A expressão regular PCRE é suportada.
vhost Tanga Ele especifica a condição determinada pelo nome do domínio por meio do mesmo IP virtual e porta definidos por um farm HTTP. A expressão regular PCRE é suportada.

Objeto de back-end para farms HTTP:

Campo Tipo Descrição
id Sessão Identificador de back-end dentro do serviço determinado.
ip Tanga IP do back-end onde o serviço real está sendo executado.
porta Sessão Porta do back-end onde o serviço real está sendo executado.
estado Tanga Status de back-end. O valor pode ser: up o backend está pronto para receber conexões manutenção backend está marcado como não pronto para receber conexões, esta opção é útil para tarefas de manutenção de backend.
tempo limite Sessão É o tempo limite de back-end para responder a uma determinada solicitação em segundos. Se o sistema nulo usar o parâmetro global Backends timeout.
peso Sessão É o valor do peso para o servidor real atual, backend com valor de peso maior receberá mais conexões. Valor padrão null, peso especial não usado para este back-end.

Crie um novo farm

Crie um novo farm

Exemplo de solicitação:

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

POST /farms

Crie um novo farm HTTP.

Solicitar Parâmetros

Campo Tipo Descrição Exigido
farmname Tanga Nome descritivo da fazenda. É usado como identificador exclusivo. verdadeiro
perfis Tanga O perfil da fazenda criada. Para fazendas http é http. verdadeiro
vip Tanga IP do farm, onde o serviço virtual será executado. O IP indicado deve ser configurado no sistema e UP verdadeiro
vport Sessão Porto da fazenda, onde o serviço virtual vai ouvir. A mesma porta virtual e IP virtual não deve estar em uso por outro farm. verdadeiro

Exemplo de resposta:

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

Parâmetros de resposta

A resposta será um json com todos os valores solicitados atualizados. Veja o exemplo de resposta para mais informações.

Modificar uma fazenda

Modificar uma fazenda

Exemplo de solicitação:

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

PUT /farms/<farmname>

Modifique parâmetros globais para um determinado farm HTTP.

Solicitar Parâmetros

Campo Tipo Descrição
comtimeout Sessão Por quanto tempo o farm aguardará uma conexão com o back-end em segundos.
restimeout Sessão Por quanto tempo a fazenda aguardará uma resposta dos back-ends em segundos.
ressurreição Sessão Esse valor em segundos é o período para sair de um back-end na lista negra e verifica se ele está ativo.
reqtimeout Sessão Por quanto tempo o farm aguardará uma solicitação do cliente em segundos.
regravação Tanga Se estiver habilitado, o farm é forçado a modificar o local: e o local de conteúdo: cabeçalhos nas respostas aos clientes com o host virtual. As opções são: habilitadoativado inválido, inactivo ou habilitado-backends somente o endereço de back-end é comparado.
httpverb Tanga Este campo indica as operações que serão permitidas para as solicitações do cliente HTTP. os valores disponíveis são: padrãoHTTP, solicitações HTTP naccepted GET, POST, HEAD. extendedHTTPAceito solicitações HTTP anteriores, além de PUT, DELETE. standardWebDAVAceito solicitações HTTP anteriores mais LOCK, UNLOCK, PROPFIND, PROPPATCH, BUSCA, MKCOL, MOVE, COPY, OPÇÕES, TRACE, MKACTIVITY, CHECKOUT, MERGE, REPORT, MSextWebDAV aceitou solicitações anteriores de http mais INSCREVA-SE, SUBSCREVA-SE, NOTIFICA, BPROPFIND, BPROPPATCH, POLL, BMOVE, BCOPY, BDELETE, CONNECT ou MSRPCextAceita solicitações HTTP anteriores, além de RPC_IN_DATA, RPC_OUT_DATA. Observe que esses valores são sensíveis a maiúsculas e minúsculas.
error414 Tanga Erro de mensagem personalizada 414.
error500 Tanga Erro de mensagem personalizada 500.
error501 Tanga Erro de mensagem personalizada 501.
error503 Tanga Erro de mensagem personalizada 503.
ouvinte Tanga Um ouvinte define como o farm vai jogar com as solicitações dos clientes. As opções são: http para protocolo não protegido ou https para protocolo seguro.
cifras Tanga Apenas no ouvinte https. Esse campo é usado para criar uma lista de cifras aceitas por conexões SSL para proteger a conexão SSL. As opções são: todos os, todas as cifras serão aceitas, alta seguranca, somente cifras de alta segurança serão aceitas, ou segurança aduaneira, somente cifras carregadas cipherc campo será aceito.
cipherc Tanga Apenas no ouvinte https. Esta é a lista personalizada de códigos permitidos que serão aceitos pela conexão SSL, que é uma string no mesmo formato das cifras do OpenSSL. Este atributo é usado apenas quando cifras campo tem o valor sutomsecurity.
newfarmname Tanga O nome da nova Fazenda. A fazenda deve ser interrompida.
vport Sessão Porta da fazenda, onde o serviço virtual está escutando.
vip Tanga IP do farm, onde o serviço virtual está escutando, esse IP deve ser configurado e ativado no sistema.

Exemplo de resposta:

{
   "description" : "Modify farm FarmHTTP",
   "params" : {
      "cipherc" : "TLSv1+SSLv3+HIGH:-MEDIUM:-LOW*:-ADH*",
      "ciphers" : "customsecurity",
      "contimeout" : 22,
      "error414" : "Message error 414",
      "error500" : "Message error 500",
      "error501" : "Message error 501",
      "error503" : "Message error 503",
      "httpverb" : "standardHTTP",
      "listener" : "https",
      "newfarmname" : "FarmHTTP",
      "reqtimeout" : 32,
      "restimeout" : 47,
      "resurrectime" : 12,
      "rewritelocation" : "enabled",
      "vip" : "178.62.126.152",
      "vport" : 88
   }
}

Parâmetros de resposta

A resposta será um json com todos os valores solicitados atualizados. Veja o exemplo de resposta para mais informações.

Adicionar um certificado

Adicionar um certificado

Exemplo de solicitação:

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

POST /farms/<farmname>/certificates

Incluir um certificado PEM disponível na lista SNI ou certlist matriz de um farm HTTP com um ouvinte HTTPS. O certificado usado já deve estar carregado no sistema, consulte Certificados> Listar todos os certificados para a lista de certificados disponíveis.

Solicitar Parâmetros

Campo Tipo Descrição Exigido
filete Tanga nome do arquivo de certificado, anteriormente o certificado deve ser carregado no sistema. verdadeiro

Exemplo de resposta:

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

Excluir um certificado

Excluir um certificado

Exemplo de solicitação:

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

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

Exclua o certificado com o nome do arquivo selecionado da lista de certificações no farm HTTP com o ouvinte HTTPS. O certificado não será excluído do armazenamento de certificados.

Exemplo de resposta:

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

Adicionar uma regra do IPDS

Adicionar uma regra do IPDS

Exemplo de solicitação:

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

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

Aplique uma lista negra ou uma regra DoS ao farm.

Solicitar Parâmetros

Campo Tipo Descrição
nome Tanga Nome da regra do IPDS usado como identificador exclusivo.

Exemplo de resposta:

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

Remover uma regra do IPDS

Remover uma regra do IPDS

Exemplo de solicitação:

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

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

Remover uma lista negra ou regra DoS de um determinado farm usando seu idenficator nome.

Exemplo de resposta:

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

HTTP - Serviços

Os serviços em um farm de perfil HTTP fornecem um método de mudança de conteúdo para fornecer diversos serviços da Web com diferentes propriedades, backends ou até mesmo métodos de persistência, através de algumas condições determinísticas usadas pelo núcleo do farm para corresponder ao serviço correto para cada solicitação do cliente. Essa definição de serviço será usada pelo farm para determinar os servidores de back-end que podem entregar a resposta ao cliente.

Dentro do objeto de serviço existem dois tipos de valores: relacionados ao serviço e relacionados ao farmguardian.

O Farmguardian é usado para o estado de monitoramento avançado de backends e totalmente personalizado para seus próprios scripts para o serviço atual. Quando um problema é detectado pelo farmguardian, ele desativa automaticamente o servidor real e será marcado como na lista negra.

Para obter uma descrição completa do objeto Service em um farm HTTP, consulte Farms HTTP> Recuperar farm por nome> Objeto de serviços de tabela para farms HTTP

Crie um novo serviço

Crie um novo serviço

Exemplo de solicitação:

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

POST /farms/<farmname>/services

Crie um serviço em um determinado farm de perfil HTTP. O farm precisa de uma ação de reinicialização para aplicar essa alteração.

Solicitar Parâmetros

Campo Tipo Descrição Exigido
id Tanga Nome do serviço que é usado como identificador exclusivo. Apenas valores alfanuméricos são permitidos. verdadeiro

Exemplo de resposta:

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

Modificar um serviço

Modificar um serviço

Exemplo de solicitação:

curl -k -X PUT -H 'Content-Type: application/json' -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
 -d '{"vhost":"www.mywebserver.com","urlp":"^/myapp1$","persistence":"URL",
"redirect":"http://zenloadbalancer.com","ttl":125,"sessionid":"sid","leastresp":"true",
"httpsb":"true"}' https://<zenlb_server>:444/zapi/v3/zapi.cgi/farms/FarmHTTP/services/sev2

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

Modifique os parâmetros de um serviço em um perfil HTTP. id é o identificador exclusivo do serviço que será modificado.

Solicitar Parâmetros

Campo Tipo Descrição
vhost Tanga Especifica a condição determinada pelo nome do domínio por meio do mesmo IP virtual e porta definidos por um farm de perfil HTTP. A expressão regular PCRE é suportada.
urlp Tanga Permite determinar um serviço da Web em relação ao URL que o cliente está solicitando por meio de um padrão de URL específico que será verificado sintaticamente. A expressão regular PCRE é suportada.
redirecionar Tanga Ele funciona como um back-end especial, a solicitação do cliente é respondida por um redirecionamento para um novo URL automaticamente.
redirecttype Tanga Como o redirecionamento será feito, duas opções: omissão, a URL é considerada como um host absoluto e o caminho para redirecionar para anexar, o caminho de solicitação original ou o URI será anexado ao host e ao caminho especificados em redirecionar campo. Esse comportamento será aplicado somente se redirecionar não é um valor vazio.
cookieinsert Tanga Permite a inserção de cookies para sessões pegajosas de backends. As opções são verdadeiro, o perfil pesquisará o cookie fornecido no campo cookiename, se não existir, este cookie será adicionado, falso, o cookie de inserção está desativado.
cookiename Tanga O nome do cookie (ID da sessão) será usado para identificar o processo fixo nos backends. Habilitar cookieinsert campo é obrigatório.
cookiedomain Tanga A inserção de cookies será executada se o domínio corresponder ao conteúdo do cookie. Habilitar cookieinsert campo é obrigatório.
caminho de cookie Tanga Ele gerencia o valor do caminho do cookie para o cookie fornecido, se o URI na solicitação do cliente ou na resposta de back-end não corresponder ao caminho do cookie, o método de persistência de inserção de cookie não é aplicado. Habilitar cookieinsert campo é obrigatório.
Cookiettl Sessão É o tempo máximo de vida de um cookie, em segundos. Habilitar cookieinsert campo é obrigatório.
persistência Tanga Este parâmetro define como o serviço HTTP irá gerenciar a sessão do cliente. As opções são: "" string vazia, nenhuma ação é tomada, IP a sessão de persistência é feita na base do IP do cliente, BASIC a sessão de persistência é feita na base dos cabeçalhos BASIC, URL a sessão de persistência é feita na base de um campo no URI, PARM a sessão de persistência é feita com base em um valor separado por “;” no final do URI, BOLINHO a sessão de persistência é feita na base de um nome de cookie, este cookie tem que ser criado pelos backends, e CABEÇALHO, a sessão de persistência é feita na base de um nome de cabeçalho.
ttl Sessão Apenas com persistência. O tempo máximo de vida de uma sessão de cliente inativa (duração máxima da sessão) em segundos.
identificação de sessão Tanga Está disponível se persistência campo é URL, BOLINHO or CABEÇALHO, o valor do parâmetro será pesquisado pelo perfil no cabeçalho http e gerenciará a sessão do cliente.
leastresp Tanga Permite o método de balanceamento de menos solicitações. verdadeiroFreqüentemente, o perfil verifica qual infraestrutura está demorando menos tempo para responder, a fim de enviar mais conexões para essa pessoa, falso, o perfil não verifica qual back-end está demorando menos para responder.
httpsb Tanga Indica ao farm que os servidores de back-ends definidos no serviço atual estão usando o idioma HTTPS e, em seguida, os dados serão criptografados antes de serem enviados. verdadeiro, o perfil envia o tráfego no protocolo HTTPS para os backends, falso, o perfil envia o tráfego no protocolo HTTP para os backends.

Exemplo de resposta:

{
   "description" : "Modify service newsrv in farm newHTTPfarm",
   "info" : "There're changes that need to be applied, stop and start farm to apply them!",
   "params" : {
      "backends" : [],
      "cookiedomain" : "",
      "cookieinsert" : "false",
      "cookiename" : "",
      "cookiepath" : "",
      "cookiettl" : 0,
      "fgenabled" : "false",
      "fglog" : "false",
      "fgscript" : "",
      "fgtimecheck" : 5,
      "httpsb" : "true",
      "id" : "newsrv",
      "leastresp" : "true",
      "persistence" : "",
      "redirect" : "http://zenloadbalancer.com",
      "redirecttype" : "default",
      "sessionid" : "sid",
      "ttl" : 125,
      "urlp" : "^/myapp1$",
      "vhost" : "www.mywebserver.com"
   },
   "status" : "needed restart"
}

Parâmetros de Resposta

A resposta será um json com os parâmetros solicitados atualizados e estado campo com reinicialização necessária valor. É necessário executar uma ação de reinicialização para aplicar as alterações.

Modificar guardião da fazenda

Modificar guardião da fazenda

Exemplo de solicitação:

curl -k -X PUT -H 'Content-Type: application/json' -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
-d '{"fgtimecheck":5,"fgscript":"check_tcp","fgenabled":"true",
"fglog":"true","service":"service1"}' https://<zevenet_server>:444/zapi/v3/zapi.cgi/farms/FarmHTTP/fg

O Farmguardian é usado para o estado de monitoramento avançado de backends e totalmente personalizado para seus próprios scripts para o serviço atual. Quando um problema é detectado pelo farmguardian, ele desativa automaticamente o servidor real e será marcado como na lista negra.

PUT /farms/<farmname>/fg

Modifique os parâmetros do guardião do farm no perfil HTTP fornecido.

Solicitar Parâmetros

Campo Tipo Descrição Exigido
fgtimecheck Sessão O guardião da fazenda verificará o status de integridade dos back-ends a cada segundo de 'verificação de horário'.
fgscript Tanga O comando que o guardião do farm executará para verificar o status de integridade do back-end
fgenabled Tanga Permite o guardião da fazenda no serviço indicado. verdadeiro O guardião da fazenda será usado para verificar o status do back-end, falso guardião da fazenda vai ser desativado
fglog Tanga Habilite o uso de logs no guardião do farm. verdadeiro guardião da fazenda vai registrar qualquer ação, falso O guardião da fazenda não registrará nenhuma ação, é recomendável ativar fglog somente para solução de problemas.
serviço Tanga Nome do serviço usado como identificador exclusivo. verdadeiro

Exemplo de resposta:

{
   "description" : "Modify farm FarmHTTP",
   "params" : {
      "fgenabled" : "true",
      "fglog" : "true",
      "fgscript" : "checktcp",
      "fgtimecheck" : 5,
      "service" : "service1"
   }
}

Mover serviços

Mover serviços

Exemplo de solicitação:

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

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

Essas ações movem o serviço para cima ou para baixo na lista de serviços, essa opção é útil se for necessário alterar a ordem de prioridade, observe que os serviços são avaliados na mesma ordem mostrada. essa ação reinicia o farm automaticamente.

id é o identificador exclusivo do serviço que será modificado.

Solicitar Parâmetros

Campo Tipo Descrição Exigido
posição Sessão Posição onde será o serviço. A primeira posição tem o índice 0. verdadeiro

Exemplo de resposta:

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

Excluir um serviço

Excluir um serviço

Exemplo de solicitação:

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

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

Exclua um determinado serviço de um perfil http. id é o identificador exclusivo do serviço que será excluído.

Exemplo de resposta:

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

HTTP - Serviços - Backends

Listar os backends

Listar os backends

Exemplo de solicitação:

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

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

Obtenha a lista de back-ends em um serviço. id é o identificador exclusivo do serviço.

Exemplo de resposta:

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

Parâmetros de Resposta

Essa chamada retorna uma matriz de objeto backend com os parâmetros abaixo.

Campo Tipo Descrição
id Sessão identificador exclusivo para o backend no serviço. Este identificador é gerado pelo sistema.
ip Tanga IP do back-end onde o serviço real está escutando.
porta Sessão Porta do back-end onde o serviço real está escutando.
tempo limite Sessão É o tempo limite de back-end para responder a uma determinada solicitação em segundos.
peso Sessão É o valor do peso para o back-end atual.
estado Tanga Status de back-end. O valor pode ser: up o backend está pronto para receber conexões manutenção backend está marcado como não pronto para receber conexões, esta opção é útil para tarefas de manutenção de backend.

Crie um novo back-end

Crie um novo back-end

Exemplo de solicitação:

curl -k -X POST -H 'Content-Type: application/json' -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
-d '{"ip":"192.168.102.244","port":80, "weight":2,"timeout":2}' 
https://<zenlb_server>:444/zapi/v3/zapi.cgi/farms/httpfarm/services/newsrv/backends

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

Crie um novo back-end em um determinado perfil HTTP. id é o identificador exclusivo do serviço.

Solicitar Parâmetros

Campo Tipo Descrição Exigido
ip Tanga IP do back-end onde o serviço real está escutando. verdadeiro
porta Sessão Porta do back-end onde o serviço real está escutando. verdadeiro
tempo limite Sessão É o tempo limite de back-end para responder a uma determinada solicitação.
peso Sessão É o valor do peso para o back-end atual.

Exemplo de resposta:

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

Parâmetros de Resposta

A resposta será um json com os parâmetros solicitados atualizados e estado campo com reinicialização necessária valor se o farm tiver que ser reiniciado. É necessário executar uma ação de reinicialização para aplicar as alterações.

Modificar um back-end

Modificar um back-end

Exemplo de solicitação:

 curl -k -X PUT -H 'Content-Type: application/json' -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
  -d '{"ip":"192.168.0.10","port":88,"timeout":12,"service":"sev2", "weight":1}' 
  https://<zenlb_server>:444/zapi/v3/zapi.cgi/farms/FarmHTTP/service/service1/backends/1

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

Modifique os parâmetros de um backend em um serviço de um perfil HTTP.

Primeiro id é o identificador exclusivo do serviço, a seguir id é o identificador exclusivo do back-end.

Solicitar Parâmetros

Campo Tipo Descrição
ip Tanga IP do back-end onde o serviço real está escutando.
porta Sessão Porta do back-end onde o serviço real está escutando.
tempo limite Sessão É o tempo limite de back-end para responder a uma determinada solicitação em segundos.
peso Sessão É o valor do peso para o back-end atual.

Exemplo de resposta:

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

Parâmetros de Resposta

A resposta será um json com os parâmetros solicitados atualizados e estado campo com reinicialização necessária valor se o farm tiver que ser reiniciado. É necessário executar uma ação de reinicialização para aplicar as alterações.

Backend em manutenção

Backend em manutenção

Exemplo de solicitação:

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

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

Definir uma determinada ação em um backend de um farm HTTP, as ações disponíveis são descritas abaixo.

Primeiro id é o identificador exclusivo do serviço, a seguir id é o identificador exclusivo do back-end.

Solicitar Parâmetros

Campo Tipo Descrição
açao Tanga Defina a ação desejada. As ações são: up o backend está pronto para receber solicitações de clientes, manutenção backend não está pronto para receber solicitações de clientes, esta ação é útil para parar o servidor backend sem afetar os clientes.

Exemplo de resposta:

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

Excluir um back-end

Excluir um back-end

Exemplo de solicitação:

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

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

Excluir um determinado backend em um serviço de um perfil HTTP.

Primeiro id é o identificador exclusivo do serviço, a seguir id é o identificador exclusivo do back-end.

Exemplo de resposta:

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

Fazendas L4xNAT

O farm de perfis L4xNAT permite criar um farm L4 com um desempenho muito alto e muito mais conexões simultâneas do que os núcleos do balanceador de carga nos perfis de farm HTTP da camada 7. Essa melhoria de desempenho da camada 4 neutraliza o tratamento avançado de conteúdo que os perfis da camada 7 podem gerenciar.

Além disso, os farms L4xNAT podem vincular um intervalo de portas, não apenas uma porta virtual usada em outros perfis 7 de camada. Para poder selecionar um intervalo de portas virtuais ou uma porta virtual específica em farms L4xNAT, é obrigatório selecionar um tipo de protocolo. Em outro caso, o farm estará escutando em todas as portas do IP virtual (indicado por um caractere)'). Quando um protocolo TCP ou UDP for selecionado, ele estará disponível para especificar uma porta, várias portas entre ',', intervalo de portas entre ':' ou todas as portas com ''. Uma combinação de todos eles será válida também.

Recuperar farm por nome

Recuperar farm por nome

Exemplo de solicitação:

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

GET /farms/<farmname>

Mostrar todas as configurações sobre um determinado farm.

Resposta CORPO:

{
   "backends" : [
      {
         "id" : 0,
         "ip" : "192.168.55.40",
         "port" : "88",
         "priority" : 2,
         "status" : "up",
         "weight" : 1
      },
      {
         "id" : 1,
         "ip" : "192.168.55.41",
         "port" : "88",
         "priority" : 3,
         "status" : "up",
         "weight" : 2
      }
   ],
   "description" : "List farm l4farm",
   "ipds" : {
      "blacklists" : [],
      "dos" : []
   },
   "params" : {
      "algorithm" : "weight",
      "fgenabled" : "false",
      "fglog" : "false",
      "fgscript" : "",
      "fgtimecheck" : 5,
      "listener" : "l4xnat",
      "nattype" : "nat",
      "persistence" : "",
      "protocol" : "tcp",
      "status" : "down",
      "ttl" : 120,
      "vip" : "192.168.100.241",
      "vport" : "88"
   }
}

Parâmetros de resposta

A resposta será um objeto JSON com o formato abaixo.

Objeto Agrícola:

Campo Tipo Descrição
ipds objeto Lista de regras do IPDS aplicadas a este farm.
params objeto Parâmetros da configuração do farm.
backends Objeto[] Todos os servidores reais criados neste farm e sua configuração.

Objeto IPDS:

Campo Tipo Descrição
listas negras Corda[] Regras de lista negra aplicadas ao farm.
dos Corda[] Regras de DoS aplicadas ao farm.

Objeto de parâmetros para farms L4xNAT:

Campo Tipo Descrição
algoritmo Tanga Tipo de algoritmo de balanceamento de carga usado na fazenda. As opções são: lowconn conexão sempre com o menor servidor de conexão, peso conexão linear de despacho por peso, prio conexões sempre ao mais disponível.
ouvinte Tanga Um ouvinte define como o farm vai lidar com as solicitações dos clientes. campo informativo, não pode ser modificado.
nattype Tanga Como o núcleo da camada de balanceador de carga 4 vai operar. As opções são: nat também chamado de modo sNAT, o back-end responde ao balanceador de carga para enviar a resposta ao cliente, dnat o back-end responderá diretamente ao cliente, o balanceador de carga deverá ser configurado como gateway no servidor de back-end.
persistência Tanga O mesmo endereço IP será conectado ao mesmo servidor. As opções são: "" valor vazio, a persistência está desativada, ip persistência é ativada, IP de origem é usado como ID exclusivo na sessão.
protocolo Tanga Protocolo a ser balanceado na camada 4. As opções são: todos os o perfil irá balancear a carga de qualquer protocolo L4, tcp o balanceador de carga somente equilibrará o protocolo TCP L4, udp o balanceador de carga somente equilibrará o protocolo UDP L4, sorvo o balanceador de carga somente equilibrará o protocolo SIP ou VoIP L7, ftp o balanceador de carga somente equilibrará o protocolo FTP L7, tftp o balanceador de carga somente equilibrará o protocolo TFTP L7.
estado Tanga Status da fazenda. Os valores possíveis são: up o farm está executando e capturando tráfego, down a fazenda está inativa e não captura tráfego.
ttl Sessão Este valor de campo indica o número de segundos que a persistência entre a origem do cliente e o backend está sendo atribuída, em segundos. A persistência deve ser configurada.
vip Tanga IP do farm, onde o serviço virtual está escutando.
vport Tanga Porta da fazenda, onde o serviço virtual está escutando. Uma porta única pode ser especificada, uma porta range pode ser especificada com o separador : e vários portos podem ser especificados com separador ,.
fgenabled Tanga Permite o uso do guardião da fazenda. verdadeiro o guardião da fazenda está ativado falso O responsável pela fazenda está desativado.
fglog Tanga Permite o uso de registros no guardião do farm. fgenabled deve estar ativado.
fgscript Tanga O comando que o guardião da fazenda irá verificar. Esses comandos disponíveis estão no caminho libexec. fgenabled deve estar ativado.
fgtimecheck Sessão O guardião da fazenda verificará cada segundo de 'verificação de horário'. fgenabled deve estar ativado.

Objeto de back-end para farms L4xNAT:

Campo Tipo Descrição
id Sessão ID para identificar o back-end no farm.
ip Tanga IP do back-end onde o serviço real está escutando.
porta Sessão Porta do back-end onde o serviço real está escutando. O valor vazio é aceito e usará a mesma configuração da (s) porta (s) virtual (is).
estado Tanga Status de back-end. O valor pode ser: up o backend está pronto para receber conexões, manutenção o back-end não está pronto para receber conexões.
prioridade Sessão É o valor de prioridade para o servidor real atual. Conexões sempre com o maior número disponível, onde 1 é a maior prioridade.
peso Sessão É o valor do peso para o servidor real atual. Back-ends com mais peso receberão mais conexões.

Crie um novo farm

Crie um novo farm

Exemplo de solicitação:

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

POST /farms

Crie um novo farm L4xNAT.

Solicitar Parâmetros

Campo Tipo Descrição Exigido
farmname Tanga Nome do farm, identificador exclusivo. verdadeiro
perfis Tanga O perfil da fazenda criada. Para as fazendas L4xNAT é l4xnat, mensagem informativa, este valor não pode ser alterado verdadeiro
vip Tanga IP do farm, onde o serviço virtual está escutando. verdadeiro
vport Tanga Porta da fazenda, onde o serviço virtual está escutando. Os farms L4xNAT permitem multiportos separados por , ou intervalo de porta separado por :. verdadeiro

Exemplo de resposta:

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

Parâmetros de resposta

A resposta será um json com todos os valores solicitados atualizados. Veja o exemplo de resposta para mais informações.

Modificar uma fazenda

Modificar uma fazenda

Exemplo de solicitação:

curl -k -X PUT -H 'Content-Type: application/json' -H "ZAPI_KEY: <ZAPI_KEY_STRING>" 
-d '{"algorithm":"weight","persistence":"","newfarmname":"l4farm", "protocol":"tcp",
"nattype":"nat","ttl":125,"vip":"178.62.126.152","vport":"81"}' 
https://<zenlb_server>:444/zapi/v3/zapi.cgi/farms/newfarml4

PUT /farms/<farmname>

Modifique a configuração de um farm L4xNAT.

Solicitar Parâmetros

Campo Tipo Descrição
newfarmname Tanga O nome da nova Fazenda. A fazenda deve ser interrompida.
algoritmo Tanga Tipo de algoritmo de balanceamento de carga usado na fazenda. As opções são: lowconn conexão sempre com o menor servidor de conexão, peso conexão linear de despacho por peso, prio conexões sempre ao mais disponível.
ouvinte Tanga Um ouvinte define como o farm vai lidar com as solicitações dos clientes. campo informativo, não pode ser modificado.
nattype Tanga Como o núcleo da camada de balanceador de carga 4 vai operar. As opções são: nat também chamado de modo sNAT, o back-end responde ao balanceador de carga para enviar a resposta ao cliente, dnat o back-end responderá diretamente ao cliente, o balanceador de carga deverá ser configurado como gateway no servidor de back-end.
persistência Tanga O mesmo endereço IP será conectado ao mesmo servidor. As opções são: "" valor vazio, a persistência está desativada, ip persistência é ativada, IP de origem é usado como ID exclusivo na sessão.
protocolo Tanga Protocolo a ser balanceado na camada 4. As opções são: todos os o perfil irá balancear a carga de qualquer protocolo L4, tcp o balanceador de carga somente equilibrará o protocolo TCP L4, udp o balanceador de carga somente equilibrará o protocolo UDP L4, sorvo o balanceador de carga somente equilibrará o protocolo SIP ou VoIP L7, ftp o balanceador de carga somente equilibrará o protocolo FTP L7, tftp o balanceador de carga somente equilibrará o protocolo TFTP L7.
ttl Sessão Este valor de campo indica o número de segundos que a persistência entre a origem do cliente e o backend está sendo atribuída, em segundos. A persistência deve ser configurada.
vip Tanga IP do farm, onde o serviço virtual está escutando.
vport Tanga Porta da fazenda, onde o serviço virtual está escutando. Uma porta única pode ser especificada, uma porta range pode ser especificada com o separador : e vários portos podem ser especificados com separador ,.

Exemplo de resposta:

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

Parâmetros de resposta

A resposta será um json com todos os valores solicitados atualizados. Veja o exemplo de resposta para mais informações.

Modificar guardião da fazenda

Modificar guardião da fazenda

Exemplo de solicitação:

curl -k -X PUT -H 'Content-Type: application/json' -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
-d '{"fgtimecheck":5,"fgscript":"Command of Farm Guardian","fgenabled":"true",
"fglog":"true","service":"service1"}' https://<zevenet_server>:444/zapi/v3/zapi.cgi/farms/l4farm/fg

O Farmguardian é usado para o estado de monitoramento avançado de backends e totalmente personalizado para seus próprios scripts para o serviço atual. Quando um problema é detectado pelo farmguardian, ele desativa automaticamente o servidor real e será marcado como na lista negra.

PUT /farms/<farmname>/fg

Modifique os parâmetros do guardião do farm em um serviço L4xNAT.

Solicitar Parâmetros

Campo Tipo Descrição
fgenabled Tanga Permite o uso do guardião da fazenda. verdadeiro o guardião da fazenda está ativado falso O responsável pela fazenda está desativado.
fglog Tanga Permite o uso de registros no guardião do farm. fgenabled deve estar ativado.
fgscript Tanga O comando que o guardião da fazenda irá verificar. Esses comandos disponíveis estão no caminho libexec. fgenabled deve estar ativado.
fgtimecheck Sessão O guardião da fazenda verificará cada segundo de 'verificação de horário'. fgenabled deve estar ativado.

Exemplo de resposta:

{
   "description" : "Modify farm guardian",
   "message" : "Success, some parameters have been changed in farm guardian in farm l4farm.",
   "params" : {
      "fgenabled" : "true",
      "fglog" : "true",
      "fgscript" : "check_tcp",
      "fgtimecheck" : 5
   }
}

Parâmetros de resposta

A resposta será um json com todos os valores solicitados atualizados. Veja o exemplo de resposta para mais informações.

Adicionar uma regra do IPDS

Adicionar uma regra do IPDS

Exemplo de solicitação:

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

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

Aplique uma lista negra ou uma regra DoS a um farm.

Solicitar Parâmetros

Campo Tipo Descrição
nome Tanga Nome da regra do IPDS usado como identificador exclusivo.

Exemplo de resposta:

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

Remover uma regra do IPDS

Remover uma regra do IPDS

Exemplo de solicitação:

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

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

Remover uma lista negra ou regra DoS do módulo IPDS de um determinado farm usando seu idenficator nome.

Exemplo de resposta:

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

L4xNAT - backends

Listar os backends

Listar os backends

Exemplo de solicitação:

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

GET /farms/<farmname>/backends

Obtenha a lista de back-ends em um serviço.

Exemplo de resposta:

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

Parâmetros de Resposta

Essa chamada retorna uma matriz de objeto backend com os parâmetros abaixo.

Campo Tipo Descrição
id Sessão ID para identificar o back-end no farm.
ip Tanga IP do back-end onde o serviço real está escutando.
porta Sessão Porta do back-end onde o serviço real está escutando. O valor vazio é aceito e usará a mesma configuração da (s) porta (s) virtual (is).
estado Tanga Status de back-end. O valor pode ser: up o backend está pronto para receber conexões, manutenção o back-end não está pronto para receber conexões.
max_conns Sessão É o número máximo de conexões simultâneas para o back-end. Se este campo tiver o valor 0, o back-end não configurou nenhum limite de conexão.
prioridade Sessão É o valor de prioridade para o servidor real atual. Conexões sempre com o maior número disponível, onde 1 é a maior prioridade.
peso Sessão É o valor do peso para o servidor real atual. Back-ends com mais peso receberão mais conexões.

Crie um novo back-end

Crie um novo back-end

Exemplo de solicitação:

curl -k -X POST -H 'Content-Type: application/json' -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
-d '{"ip":"192.168.5.100","port":8080,"max_conns":400}' 
https://<zenlb_server>:444/zapi/v3/zapi.cgi/farms/l4farm/backends

POST /farms/<farmname>/backends

Crie um novo back-end em um determinado L4xNAT Farm.

Solicitar Parâmetros

Campo Tipo Descrição Exigido
ip Tanga IP do back-end onde o serviço real está escutando. verdadeiro
porta Sessão Porta do back-end onde o serviço real está escutando. O valor vazio é aceito e usará a mesma configuração da (s) porta (s) virtual (is).
max_conns Sessão É o número máximo de conexões simultâneas para o back-end. Se este campo tiver o valor 0, o back-end não configurou nenhum limite de conexão.
prioridade Sessão É o valor de prioridade para o servidor real atual. Conexões sempre com o maior número disponível, onde 1 é a maior prioridade. O valor padrão é 1.
peso Sessão É o valor do peso para o servidor real atual. Back-ends com mais peso receberão mais conexões. O valor padrão é 1.

Exemplo de resposta:

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

Parâmetros de resposta

A resposta será um json com todos os valores solicitados atualizados. Veja o exemplo de resposta para mais informações.

Modificar um back-end

Modificar um back-end

Exemplo de solicitação:

 curl -k -X PUT -H 'Content-Type: application/json' -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
  -d '{"ip":"192.168.5.40","port":8080,"max_conns":220,"priority":4,"weight":7}' 
  https://<zenlb_server>:444/zapi/v3/zapi.cgi/farms/l4farm/backends/2

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

Modifique os parâmetros de um back-end em um serviço de um farm L4xNAT. id é o identificador exclusivo do back-end.

Solicitar Parâmetros

Campo Tipo Descrição
ip Tanga IP do back-end onde o serviço real está escutando.
porta Sessão Porta do back-end onde o serviço real está escutando. O valor vazio é aceito e usará a mesma configuração da (s) porta (s) virtual (is).
max_conns Sessão É o número máximo de conexões simultâneas para o back-end. Se este campo tiver o valor 0, o back-end não configurou nenhum limite de conexão.
prioridade Sessão É o valor de prioridade para o servidor real atual. Conexões sempre com o maior número disponível, onde 1 é a maior prioridade.
peso Sessão É o valor do peso para o servidor real atual. Back-ends com mais peso receberão mais conexões.

Exemplo de resposta:

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

Parâmetros de resposta

A resposta será um json com todos os valores solicitados atualizados. Veja o exemplo de resposta para mais informações.

Backend em manutenção

Backend em manutenção

Exemplo de solicitação:

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

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

Defina uma determinada ação em um back-end de um farm L4xNAT. id é o identificador exclusivo do back-end.

Solicitar Parâmetros

Campo Tipo Descrição
açao Tanga Defina a ação desejada. As ações são: up o backend está pronto para receber solicitações de clientes, manutenção backend não está pronto para receber solicitações de clientes, esta ação é útil para parar o servidor backend sem afetar os clientes.

Exemplo de resposta:

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

Parâmetros de resposta

A resposta será um json com todos os valores solicitados atualizados. Veja o exemplo de resposta para mais informações.

Excluir um back-end

Excluir um back-end

Exemplo de solicitação:

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

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

Excluir um determinado back-end em um serviço de um farm L4xNAT.

id é o identificador exclusivo do back-end.

Exemplo de resposta:

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

Fazendas GSLB

O Balanceamento de Carga de Serviço Global, comumente chamado de GSLB, permite criar um serviço de balanceamento de carga com base na arquitetura hierárquica do serviço DNS. Esse tipo de farm fornece um DNS somente de autoridade com algoritmos de balanceamento de carga e detecção de estado de serviço na camada de aplicativo DNS.

Recuperar farm por nome

Recuperar farm por nome

Exemplo de solicitação:

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

GET /farms/<farmname>

Mostrar todas as configurações sobre um determinado farm.

Exemplo de resposta:

{
   "description" : "List farm gslbfarm",
   "ipds" : {
      "blacklists" : [],
      "dos" : []
   },
   "params" : {
      "status" : "needed restart",
      "vip" : "192.168.100.155",
      "vport" : 60
   },
   "services" : [
      {
         "algorithm" : "roundrobin",
         "backends" : [
            {
               "id" : 1,
               "ip" : "127.0.0.1"
            },
            {
               "id" : 2,
               "ip" : "192.168.55.40"
            },
            {
               "id" : 4,
               "ip" : "192.135.10.2"
            }
         ],
         "deftcpport" : 53,
         "fgenabled" : "true",
         "fgscript" : "check_tcp",
         "fgtimecheck" : 5,
         "id" : "service1"
      },
      {
         "algorithm" : "prio",
         "backends" : [
            {
               "id" : 1,
               "ip" : "127.0.0.1"
            },
            {
               "id" : 2,
               "ip" : "127.0.0.1"
            }
         ],
         "deftcpport" : 80,
         "fgenabled" : "false",
         "fgscript" : "",
         "fgtimecheck" : 5,
         "id" : "prioServ"
      }
   ],
   "zones" : [
      {
         "defnamesv" : "ns3",
         "id" : "global.com",
         "resources" : [
            {
               "id" : 0,
               "rdata" : "ns3",
               "rname" : "@",
               "ttl" : null,
               "type" : "NS"
            },
            {
               "id" : 1,
               "rdata" : "192.168.100.155",
               "rname" : "ns3",
               "ttl" : null,
               "type" : "A"
            },
            {
               "id" : 3,
               "rdata" : "resource2",
               "rname" : "ns2",
               "ttl" : null,
               "type" : "NS"
            },
            {
               "id" : 4,
               "rdata" : "192.168.200.30",
               "rname" : "resource2",
               "ttl" : null,
               "type" : "A"
            }
         ]
      },
      {
         "defnamesv" : "ns1",
         "id" : "DOM.com",
         "resources" : [
            {
               "id" : 0,
               "rdata" : "ns1",
               "rname" : "@",
               "ttl" : null,
               "type" : "NS"
            },
            {
               "id" : 1,
               "rdata" : "192.168.100.155",
               "rname" : "ns1",
               "ttl" : null,
               "type" : "A"
            }
         ]
      }
   ]
}

Parâmetros de resposta

A resposta será um objeto JSON com o formato abaixo.

Objeto Agrícola:

Campo Tipo Descrição
ipds objeto Lista de regras do IPDS aplicadas a este farm.
params objeto Parâmetros da configuração do farm.
serviços Objeto[] Array com todos os serviços criados neste farm e sua configuração.
zonas Objeto[] Array com todas as zonas criadas neste farm e sua configuração.

Objeto IPDS:

Campo Tipo Descrição
listas negras Corda[] Listas negras aplicadas ao farm.
dos Corda[] Regras de DoS aplicadas ao farm.

Objeto de parâmetro para farms GSLB:

Campo Tipo Descrição
vip Tanga IP do farm, onde o serviço virtual está escutando.
vport Sessão Porta da fazenda, onde o serviço virtual está escutando.
estado Tanga Status da fazenda. Os valores possíveis são: upa fazenda está em execução; down, a fazenda está parada ou reinicialização necessária, o farm precisa ser reiniciado para que as alterações mais recentes entrem em vigor.

Objeto de serviço para farms do GSLB:

Campo Tipo Descrição
backends Objeto[] Backends definidos no serviço.
fgenabled Tanga Ativar o uso do guardião da fazenda. verdadeiro o guardião da fazenda está ativado e verificando o status dos backends, falso O responsável pelo farm está desativado e não está verificando o status do back-end. Nos perfis GSLB, uma verificação tcp é executada por padrão, mesmo que o responsável pelo farm esteja desabilitado.
fgscript Tanga O comando que o guardião do farm usará para verificar a integridade do back-end. verdadeiro ativado, falso, Desativado. fgenabled É necessário.
fgtimecheck Sessão O guardião da fazenda verificará a cada 'verificação de horário' segundos o status de saúde do back-end. fgenabled É necessário.
id Tanga Nome do serviço que é usado como identificador exclusivo.
algoritmo Tanga Tipo de algoritmo de balanceamento de carga usado no serviço. As opções são: roundrobina, que irá equilibrar as conexões entre todos os back-ends, ou prio que enviará todas as conexões para o primeiro back-end disponível.
deftcpport Sessão Verificação de integridade da porta TCP padrão. Essa é a porta TCP de verificação de integridade que o serviço vai verificar para determinar se o serviço de back-end está ativo. Um valor vazio está desativado.

Objeto de back-end para farms do GSLB:

Campo Tipo Descrição
id Sessão Identificador exclusivo para o backend no serviço. Este identificador é gerado pelo sistema.
ip Tanga IP do back-end onde o serviço real está escutando.

Objeto da zona:

Campo Tipo Descrição
id Sessão Nome da zona usado como único indetificador.
defnamesv Tanga Esse será o servidor de nomes raiz do ponto de entrada que estará disponível como o registro DNS de início de autoridade (SOA).
recursos Objeto[] Recursos definido na zona.

Objeto de recurso:

Campo Tipo Descrição
id Sessão Identificador exclusivo para o recurso na zona.
rname Tanga O nome do recurso é o nick que o serviço DNS irá traduzir para os dados reais necessários no campo rdata.
ttl Sessão O valor Time to Live (opcional) para o registro atual que é necessário para determinar o período de tempo em que o nome atual será armazenado em cache.
tipo Tanga Tipo de registro DNS. As opções são: NS, A, AAAA, CNAME, DYNA, MX, SRV, SMS, PTR or NAPTR). Para mais informações, veja em GSLB - Zonas - Recursos seção.
rdata Tanga São os dados reais necessários para o tipo de registro, o valor de entrada depende do tipo de Nome do recurso, rname e o tipo de recurso tipo.

Crie um novo farm

Crie um novo farm

Exemplo de solicitação:

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

POST /farms

Crie um novo farm do GSLB.

Solicitar Parâmetros

Campo Tipo Descrição Exigido
farmname Tanga Nome do farm, identificador exclusivo para farm. verdadeiro
perfis Tanga O perfil da fazenda criada. Para as fazendas GSLB é gslb. verdadeiro
vip Tanga IP do farm, onde o serviço virtual está escutando. verdadeiro
vport Sessão Porta da fazenda, onde o serviço virtual está escutando. verdadeiro

Exemplo de resposta:

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

Parâmetros de resposta

A resposta será um json com todos os valores solicitados atualizados. Veja o exemplo de resposta para mais informações.

Modificar uma fazenda

Modificar uma fazenda

Exemplo de solicitação:

curl -k -X PUT -H 'Content-Type: application/json' -H "ZAPI_KEY: <ZAPI_KEY_STRING>" 
-d '{"newfarmname":"gslbnewname","vip":"192.168.100.155","vport":60}' 
https://<zenlb_server>:444/zapi/v3/zapi.cgi/farms/gslbfarm

PUT /farms/<farmname>

Modifique a configuração de um farm do GSLB.

Solicitar Parâmetros

Campo Tipo Descrição
newfarmname Tanga O nome da nova Fazenda. A fazenda deve ser interrompida para fazer essa mudança.
vport Sessão Porta da fazenda, onde o serviço virtual está escutando.
vip Tanga IP do farm, onde o serviço virtual está escutando.

Exemplo de resposta:

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

Parâmetros de resposta

A resposta será um json com todos os valores solicitados atualizados. Veja o exemplo de resposta para mais informações.

Adicionar uma regra do IPDS

Adicionar uma regra do IPDS

Exemplo de solicitação:

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

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

Aplique uma lista negra ou uma regra DoS ao farm.

Solicitar Parâmetros

Campo Tipo Descrição
nome Tanga Nome da regra do IPDS usado como identificador exclusivo.

Exemplo de resposta:

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

Remover uma regra do IPDS

Remover uma regra do IPDS

Exemplo de solicitação:

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

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

Remover uma lista negra ou regra DoS de um determinado farm usando seu idenficator nome.

Exemplo de resposta:

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

GSLB - Serviços

Um serviço GSLB representa um grupo de servidores reais e um algoritmo associado a ser usado para eles. Para criar um novo serviço, você deve definir um nome de identificação válido e o algoritmo desejado para usar.

Os serviços disponíveis são:

Rodada Robin: compartilhamento igual. Um equilíbrio igual de tráfego para todos os servidores reais ativos. Para cada conexão de entrada, o balanceador designa o próximo servidor robin real para entregar a solicitação.

Prioridade: conexões sempre ao mais disponível. Equilibre todas as conexões para o mesmo servidor de prioridade mais alta. Se este servidor estiver inativo, as conexões passarão para o próximo servidor mais alto. Com este algoritmo você pode construir um serviço de cluster Active-Pasive com vários servidores reais.

Objeto de serviços para farms do GSLB

Campo Tipo Descrição
backends Objeto[] Backends definidos no serviço.
fgenabled Tanga Ativar o uso do guardião da fazenda. verdadeiro o guardião da fazenda está ativado e verificando o status dos backends, falso O responsável pelo farm está desativado e não está verificando o status do back-end. Nos perfis GSLB, uma verificação tcp é executada por padrão, mesmo que o responsável pelo farm esteja desabilitado.
fgscript Tanga O comando que o guardião do farm usará para verificar a integridade do back-end. verdadeiro ativado, falso, Desativado. fgenabled É necessário.
fgtimecheck Sessão O guardião da fazenda verificará a cada 'verificação de horário' segundo o status de saúde do back-end. fgenabled É necessário.
id Tanga Nome do serviço que é usado como identificador exclusivo.
algoritmo Tanga Tipo de algoritmo de balanceamento de carga usado no serviço. As opções são: roundrobina, que irá equilibrar as conexões entre todos os back-ends, ou prio que enviará todas as conexões para o primeiro back-end disponível.
deftcpport Tanga Verificação de integridade da porta TCP padrão. Essa é a porta TCP de verificação de integridade que o serviço vai verificar para determinar se o serviço de back-end está ativo. Um valor vazio está desativado.

Crie um novo serviço

Crie um novo serviço

Exemplo de solicitação:

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

POST /farms/<farmname>/services

Crie um serviço em um determinado GSLB Farm. O farm deve ser reiniciado para aplicar essa alteração.

Solicitar Parâmetros

Campo Tipo Descrição Exigido
id Tanga Nome do serviço que é usado como identificador exclusivo. verdadeiro
algoritmo Tanga Tipo de algoritmo de balanceamento de carga usado no serviço. As opções são: roundrobina, que irá equilibrar as conexões entre todos os back-ends, ou prio que enviará todas as conexões para o primeiro back-end disponível. verdadeiro

Exemplo de resposta:

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

Parâmetros de resposta

A resposta será um json com todos os valores solicitados atualizados. Veja o exemplo de resposta para mais informações.

Modificar um serviço

Modificar um serviço

Exemplo de solicitação:

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

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

Modifique os parâmetros de um serviço em um farm do GSLB. id é o identificador exclusivo do serviço que será modificado.

Solicitar Parâmetros

Campo Tipo Descrição
deftcpport Sessão Essa é a porta TCP de verificação de integridade que o serviço vai verificar para determinar se o serviço de back-end está ativo.

Exemplo de resposta:

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

Parâmetros de resposta

A resposta será um json com todos os valores solicitados atualizados. Veja o exemplo de resposta para mais informações.

Modificar guardião da fazenda

Modificar guardião da fazenda

Exemplo de solicitação:

curl -k -X PUT -H 'Content-Type: application/json' -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
-d '{"fgtimecheck":"5","fgscript":"check_tcp","fgenabled":"true",
"service":"service1"}' https://<zevenet_server>:444/zapi/v3/zapi.cgi/farms/gslbfarm/fg

O Farmguardian é usado para o estado de monitoramento avançado de backends e totalmente personalizado para seus próprios scripts para o serviço atual. Quando um problema é detectado pelo farmguardian, ele desativa automaticamente o servidor real e será marcado como na lista negra.

PUT /farms/<farmname>/fg

Modifique os parâmetros do guardião do farm em um serviço GSLB.

Solicitar Parâmetros

Campo Tipo Descrição Exigido
fgenabled Tanga Ativar o uso do guardião da fazenda. verdadeiro o guardião da fazenda está ativado e verificando o status dos backends, falso O responsável pelo farm está desativado e não está verificando o status do back-end. Nos perfis GSLB, uma verificação tcp é executada por padrão, mesmo que fgenabled esteja desativado.
fgscript Tanga O comando que o guardião do farm usará para verificar a integridade do back-end. verdadeiro ativado, falso, Desativado. verdadeiro se fgenabled está ativado.
fgtimecheck Sessão O guardião da fazenda verificará a cada 'verificação de horário' segundo o status de saúde do back-end. fgenabled É necessário.
serviço Tanga O identificador de serviço, id, que guardião da fazenda irá modificar. verdadeiro

Exemplo de resposta:

{
   "description" : "Modify farm guardian",
   "message" : "Success, some parameters have been changed in farm guardian in farm gslbfarm.",
   "params" : {
      "fgenabled" : "true",
      "fgscript" : "check_tcp",
      "fgtimecheck" : 5
   },
   "status" : "needed restart"   
}

Parâmetros de resposta

A resposta será um json com todos os valores solicitados atualizados. Veja o exemplo de resposta para mais informações.

Excluir um serviço

Excluir um serviço

Exemplo de solicitação:

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

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

Excluir um determinado serviço de um farm do GSLB. id é o identificador exclusivo do serviço que será excluído.

Exemplo de resposta:

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

GSLB - Serviços - Backends

Esta seção irá gerenciar a lista de serviços reais associada a um serviço.

Listar os backends

Listar os backends

Exemplo de solicitação:

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

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

Obtenha a lista de back-ends em um serviço. id é o identificador exclusivo do serviço.

Exemplo de resposta:

{
   "description" : "List service backends",
   "params" : [
      {
         "id" : 1,
         "ip" : "127.0.0.1"
      },
      {
         "id" : 2,
         "ip" : "192.168.55.40"
      }
   ]
}

Parâmetros de Resposta

Essa chamada retorna uma matriz de objeto backend com os parâmetros abaixo.

Campo Tipo Descrição
id Sessão Identificador exclusivo para o backend no serviço. Este identificador é gerado pelo sistema.
ip Tanga IP do backend, onde o serviço real está escutando.

Crie um novo back-end

Crie um novo back-end

Exemplo de solicitação:

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

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

Crie um novo back-end em um determinado serviço em um farm do GSLB. id é o identificador exclusivo do serviço onde o backend será adicionado.

Os serviços prioritários possuem backends 2 como maximun, o host ativo e o host passivo.

Solicitar Parâmetros

Campo Tipo Descrição Exigido
ip Tanga IP do backend, onde o serviço real está escutando. verdadeiro

Exemplo de resposta:

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

Parâmetros de resposta

A resposta será um json com todos os valores solicitados atualizados. Veja o exemplo de resposta para mais informações.

Modificar um back-end

Modificar um back-end

Exemplo de solicitação:

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

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

Modifique os parâmetros de um backend em um serviço de um farm do GSLB.

Observe no PUT acima que o primeiro id é o identificador exclusivo do serviço e, em seguida, id é o identificador exclusivo do back-end.

Solicitar Parâmetros

Campo Tipo Descrição
ip Tanga IP do backend, onde o serviço real está escutando.

Exemplo de resposta:

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

Parâmetros de resposta

A resposta será um json com todos os valores solicitados atualizados. Veja o exemplo de resposta para mais informações.

Excluir um back-end

Excluir um back-end

Exemplo de solicitação:

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

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

Excluir um determinado backend em um serviço de um farm GSLB

Exemplo de resposta:

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

GSLB - Zonas

A seção da zona GSLB descreverá o nome de domínio DNS, subdomínios, aliases, etc., que serão necessários para gerar uma zona DNS completa com registros adicionais de balanceamento de carga usando os serviços definidos.

Criar zona

Criar zona

Exemplo de solicitação:

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

POST /farms/<farmname>/zones

Crie uma zona DNS.

Solicitar Parâmetros

Essa chamada retorna uma matriz de objeto backend com os parâmetros abaixo.

Campo Tipo Descrição Exigido
id Sessão Nome da zona usado como único indetificador. verdadeiro

Exemplo de resposta:

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

Parâmetros de resposta

A resposta será um json com todos os valores solicitados atualizados. Veja o exemplo de resposta para mais informações.

Modifique uma zona

Modifique uma zona

Exemplo de solicitação:

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

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

Modifique os parâmetros de uma zona. id é o identificador único da zona que será modificado.

Solicitar Parâmetros

Essa chamada retorna uma matriz de objeto backend com os parâmetros abaixo.

Campo Tipo Descrição
defnamesv Tanga Esse será o servidor de nomes raiz do ponto de entrada que estará disponível como o registro DNS de início de autoridade (SOA).

Exemplo de resposta:

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

Parâmetros de resposta

A resposta será um json com todos os valores solicitados atualizados. Veja o exemplo de resposta para mais informações.

Excluir uma zona

Excluir uma zona

Exemplo de solicitação:

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

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

Excluir uma determinada zona de um farm do GSLB.

Exemplo de resposta:

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

GSLB - Zonas - Recursos

Recursos definidos como o serviço DNS resolve solicitações. Os possíveis recursos de DNS nos balanços de carga do Zevenet são:

  1. NS. Registro de tipo de servidor de nomes, ele delega uma zona DNS para usar os servidores de nomes autorizados.
  2. A. Registro de tipo de endereço, ele retorna um endereço IPv4 de um host.
  3. CNAME. Registro de tipo de nome canônico, representa um alias de um determinado nome.
  4. DYNA. Registro de tipo de endereço dinâmico, ele retorna um endereço dinâmico especificado por um serviço GSLB já criado na configuração do farm de acordo com o algoritmo selecionado para tal serviço.
  5. AAAA. Registro de tipo de endereço, ele retorna um endereço IPv6 de um host.
  6. MX. Registro de tipo de troca de mensagens, mapeia um nome de domínio para uma lista de agentes de transferência de mensagens para esse domínio.
  7. SRV. Registro de tipo de localizador de serviço, Registro de localização de serviço generalizado, usado para protocolos mais novos em vez de criar registros específicos de protocolo, como MX.
  8. SMS. Registro de tipo de texto, é usado para armazenar qualquer informação baseada em texto que possa ser obtida quando necessário. Geralmente, vemos registros TXT usados ​​para armazenar dados SPF e confirmar a propriedade do domínio.
  9. PTR. Registro de ponteiro, ponteiro para um nome canônico. Ao contrário de um CNAME, o processamento DNS pára e apenas o nome é retornado. O uso mais comum é para implementar pesquisas reversas de DNS.
  10. NAPTR. Naming Authority Pointer, Permite a regravação baseada em expressões regulares de nomes de domínio, que podem ser usados ​​como URIs, nomes de domínio adicionais para pesquisas, etc.

Listar os recursos

Listar os recursos

Exemplo de solicitação:

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

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

Obtenha a lista de recursos em uma zona. id é o identificador exclusivo da zona.

Exemplo de resposta:

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

Parâmetros de Resposta

Esta chamada retorna uma matriz de objeto de recurso com os parâmetros abaixo.

Campo Tipo Descrição
id Sessão Identificador exclusivo para o recurso na zona.
rname Tanga O nome do recurso é o nick que o serviço DNS irá traduzir para os dados reais necessários no campo rdata.
ttl Sessão O valor Time to Live (opcional) para o registro atual que é necessário para determinar o período de tempo em que o nome atual será armazenado em cache.
tipo Tanga Tipo de registro DNS. As opções são: NS, A, AAAA, CNAME, DYNA, MX, SRV, SMS, PTR or NAPTR). Para mais informações, veja em GSLB - Zonas - Recursos seção.
rdata Tanga São os dados reais necessários para o tipo de registro, o valor de entrada depende do tipo de Nome do recurso, rname e o tipo de recurso tipo.

Crie um novo recurso

Crie um novo recurso

Exemplo de solicitação:

curl -k -X POST -H 'Content-Type: application/json' -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
-d '{"rname":"resource2", "rdata":"192.168.0.9", "ttl":10, "type":"A" }' 
https://<zenlb_server>:444/zapi/v3/zapi.cgi/farms/gslbfarm/zones/global.com/resources

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

Crie um novo recurso em uma determinada zona em um farm do GSLB. id é o identificador único da zona que será modificado onde o recurso será adicionado.

Solicitar Parâmetros

Campo Tipo Descrição Exigido
rname Tanga O nome do recurso é o nick que o serviço DNS irá traduzir para os dados reais necessários no campo rdata. verdadeiro
ttl Sessão O valor de tempo de vida do registro atual. É o número máximo de dispositivos de roteador que a solicitação pode até morrer. É útil que o pacote não seja inserido em um loop de rede.
tipo Tanga Tipo de registro DNS. As opções são: NS, A, AAAA, CNAME, DYNA, MX, SRV, SMS, PTR or NAPTR). Para mais informações, veja em GSLB - Zonas - Recursos seção. verdadeiro
rdata Tanga São os dados reais necessários para o tipo de registro, o valor de entrada depende do tipo de Nome do recurso, rname e o tipo de recurso tipo. Se DYNA é selecionado em tipo então o valor rdata tem que ser um dos valores configurados serviços nesta zona. verdadeiro

Exemplo de resposta:

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

Parâmetros de resposta

A resposta será um json com todos os valores solicitados atualizados. Veja o exemplo de resposta para mais informações.

Modifique um recurso

Modifique um recurso

Exemplo de solicitação:

 curl -k -X PUT -H 'Content-Type: application/json' -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
  -d '{"rname":"resource2", "rdata":"192.168.200.30","ttl":null, "type":"A" }' 
  https://<zenlb_server>:444/zapi/v3/zapi.cgi/farms/gslbfarm/zones/global.com/resources/1

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

Modifique os parâmetros de um recurso em uma zona de um farm GSLB.

Primeiro id é o identificador exclusivo da zona, a seguir id é o identificador exclusivo do recurso.

Solicitar Parâmetros

Campo Tipo Descrição
rname Tanga O nome do recurso é o nick que o serviço DNS irá traduzir para os dados reais necessários no campo rdata.
ttl Sessão O valor Time to Live (opcional) para o registro atual que é necessário para determinar o período de tempo em que o nome atual será armazenado em cache.
tipo Tanga Tipo de registro DNS. As opções são: NS, A, AAAA, CNAME, DYNA, MX, SRV, SMS, PTR or NAPTR). Para mais informações, veja em GSLB - Zonas - Recursos seção.
rdata Tanga São os dados reais necessários para o tipo de registro, o valor de entrada depende do tipo de Nome do recurso, rname e o tipo de recurso tipo. Se tipo é carregado com valor DYNA então rdata tem que ser carregado com um disponível serviço nome

Exemplo de resposta:

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

Parâmetros de resposta

A resposta será um json com todos os valores solicitados atualizados. Veja o exemplo de resposta para mais informações.

Excluir um recurso

Excluir um recurso

Exemplo de solicitação:

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

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

Excluir um determinado recurso em uma zona de um farm GSLB

Note que em DELETE URI acima do primeiro id é o identificador exclusivo da zona e próximo id é o identificador exclusivo do recurso.

Exemplo de resposta:

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

Fazendas de DataLink

O perfil do farm de link de dados permite criar um farm baseado em rotas, no qual os back-ends são roteadores ou gateways de uplink. Esse tipo de perfil de farm está pronto para compartilhar vários acessos de roteador de WAN de uplink usando o balanceador de carga como um multiplexador de canal de uplink (entrada 1 e várias saídas de linha de roteador). Portanto, os farms de conexão de dados poderiam ser usados ​​como links de comunicação disponíveis e, além disso, poderiam ser usados ​​como aumento de largura de banda, unindo a quantidade de largura de banda entre os links de back-end do roteador.

Recuperar farm por nome

Recuperar farm por nome

Exemplo de solicitação:

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

GET /farms/<farmname>

Mostrar todas as configurações sobre um farm.

Exemplo de resposta:

{
   "backends" : [
      {
         "id" : 0,
         "interface" : "eth0",
         "ip" : "192.168.100.10",
         "priority" : 2,
         "weight" : 2
      },
      {
         "id" : 1,
         "interface" : "eth0",
         "ip" : "192.168.100.11",
         "priority" : 2,
         "weight" : 1
      }
   ],
   "description" : "List farm dlink",
   "params" : {
      "algorithm" : "weight",
      "status" : "down",
      "vip" : "192.168.100.199"
   }
}

Parâmetros de resposta

A resposta será um objeto JSON com o formato abaixo.

Objeto Agrícola:

Campo Tipo Descrição
params objeto Parâmetros da configuração do farm.
backends Objeto[] Servidores reais criados neste farm e sua configuração.

Objeto de parâmetros para farms de datalink:

Campo Tipo Descrição
algoritmo Tanga Tipo de algoritmo de balanceamento de carga usado na fazenda. As opções são: peso, o balanceador distribui entre todos os backends disponíveis com mais backends de carga com maior atributo de peso ou prio, que envia todas as conexões para o backend com o menor valor de prioridade.
estado Tanga Status da fazenda. Os valores possíveis são: up, farm está sendo executado ou down, a fazenda está parada.
vip Tanga IP do farm, onde o serviço virtual está escutando.

Objeto de back-end para farms de conexão de dados:

Campo Tipo Descrição
id Sessão Identificador exclusivo para o backend no farm.
ip Tanga IP do backend, onde o serviço real está escutando.
interface Tanga É a interface de rede local onde o backend está conectado.
prioridade Sessão É o valor de prioridade para o servidor real atual. Será usado quando algoritmo campo é configuração como prio e menor prioridade terá preferência
peso Sessão É o valor do peso para o servidor real atual. Será usado quando algoritmo campo é configuração como peso.

Crie um novo farm

Crie um novo farm

Exemplo de solicitação:

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

POST /farms

Crie um novo farm de link de dados.

Solicitar Parâmetros

Campo Tipo Descrição Exigido
farmname Tanga Nome do farm, identificador exclusivo. verdadeiro
perfis Tanga O perfil da fazenda criada. Para datalink farms é link de dados verdadeiro
vip Tanga IP do farm, onde o serviço virtual está escutando. verdadeiro

Exemplo de resposta:

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

Parâmetros de resposta

A resposta será um json com todos os valores solicitados atualizados. Veja o exemplo de resposta para mais informações.

Modificar uma fazenda

Modificar uma fazenda

Exemplo de solicitação:

curl -k -X PUT -H 'Content-Type: application/json' -H "ZAPI_KEY: <ZAPI_KEY_STRING>" 
-d '{"newfarmname":"dlink2", "vip":"192.168.100.199","algorithm":"weight"}' 
https://<zenlb_server>:444/zapi/v3/zapi.cgi/farms/dlink

PUT /farms/<farmname>

Modifique a configuração de um farm de link de dados.

Solicitar Parâmetros

Campo Tipo Descrição
newfarmname Tanga O novo nome do farm. Fazenda deve ser parada.
algoritmo Tanga Tipo de algoritmo de balanceamento de carga usado na fazenda. As opções são: peso, o balanceador distribui entre todos os backends disponíveis com mais backends de carga com maior atributo de peso ou prio, que envia todas as conexões para o backend com o menor valor de prioridade.
vip Tanga IP do farm, onde o serviço virtual está escutando.

Exemplo de resposta:

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

Parâmetros de resposta

A resposta será um json com todos os valores solicitados atualizados. Veja o exemplo de resposta para mais informações.

DataLink - Backends

Backends em farms de conexões de dados são os gateways através do roteamento do serviço. O serviço irá multiplexar entre esses gateways, e alguns deles não estão disponíveis, o serviço usa o (s) outro (s).

Listar os backends

Listar os backends

Exemplo de solicitação:

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

GET /farms/<farmname>/backends

Obtenha a lista de back-ends em um serviço.

Exemplo de resposta:

[
   {
      "id" : 6,
      "interface" : "eth0",
      "ip" : "192.168.100.10",
      "priority" : 2,
      "weight" : 2
   },
   {
      "id" : 7,
      "interface" : "eth0",
      "ip" : "192.168.100.11",
      "priority" : 2,
      "weight" : 1
   }
]

Parâmetros de Resposta

Essa chamada retorna uma matriz de objeto backend com os parâmetros abaixo.

Campo Tipo Descrição
id Sessão Identificador exclusivo para o backend no farm. Este identificador é gerado pelo sistema.
interface Tanga É a interface de rede local onde o backend está conectado.
ip Tanga IP do backend, onde o serviço real está escutando.
prioridade Sessão É o valor de prioridade para o back-end atual. Será usado quando algoritmo campo é configuração como prio e menor prioridade terá preferência.
peso Sessão É o valor do peso para o back-end atual. Será usado quando algoritmo campo é configuração como peso.

Crie um novo back-end

Crie um novo back-end

Exemplo de solicitação:

curl -k -X POST -H 'Content-Type: application/json' -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
-d '{"ip":"192.168.100.10","interface":"eth0","priority":2,"weight":2}' 
https://<zenlb_server>:444/zapi/v3/zapi.cgi/farms/dlink/backends

POST /farms/<farmname>/backends

Crie um novo back-end em um determinado farm de conexões de dados.

Solicitar Parâmetros

Campo Tipo Descrição Exigido
ip Tanga IP do backend, onde o serviço real está escutando. verdadeiro
interface Tanga É a interface de rede local onde o backend está conectado. verdadeiro
prioridade Sessão É o valor de prioridade para o servidor real atual. Ele será usado quando algoritmo campo é configuração como prio e menor prioridade terá preferência. O valor padrão é 1.
peso Sessão É o valor do peso para o back-end atual. Será usado quando algoritmo campo é configuração como peso. O valor padrão é 1.

Exemplo de resposta:

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

Parâmetros de resposta

A resposta será um json com todos os valores solicitados atualizados. Veja o exemplo de resposta para mais informações.

Modificar um back-end

Modificar um back-end

Exemplo de solicitação:

 curl -k -X PUT -H 'Content-Type: application/json' -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
  -d '{"ip":"192.168.102.50","interface":"eth0", "weight":1,"timeout":1}' 
  https://<zenlb_server>:444/zapi/v3/zapi.cgi/farms/datalink/backends/2

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

Modifique os parâmetros de um back-end em um serviço de um Data Linkper Farm. id é o identificador exclusivo do back-end.

Solicitar Parâmetros

Campo Tipo Descrição
Tanga ip IP do backend, onde o serviço real está escutando.
interface Tanga É a interface de rede local onde o backend está conectado.
tempo limite Sessão É o tempo limite de back-end para responder a uma determinada solicitação.
peso Sessão É o valor do peso para o back-end atual.

Exemplo de resposta:

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

Parâmetros de resposta

A resposta será um json com todos os valores solicitados atualizados. Veja o exemplo de resposta para mais informações.

Excluir um back-end

Excluir um back-end

Exemplo de solicitação:

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

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

Excluir um determinado backend em um serviço de um farm de link de dados. id é o identificador exclusivo do back-end.

Exemplo de resposta:

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

Network

O Zevenet pode trabalhar com diferentes tipos de interfaces de rede.

Nesta seção, você pode listar, criar, configurar, excluir e definir uma ação nas interfaces NIC, VLAN, virtuais e de ligação.

nic: ou placa de interface de rede, é um componente de hardware de computador e esse tipo de interface é a base para os seguintes tipos de interfaces que podem ser definidas e gerenciadas no Zevenet.

vlan: ou virtual lan card é tipo ou interface de rede que fornecem serviços de segmentação de rede. Mais de uma vlan pode ser criada através de uma interface nic. bonding: Também chamado por outros fornecedores como interfaces de tronco, esse tipo de nic pode ser criado com mais de uma interface nic. Zevenet suporta 7 diferentes tipos de interfaces de ligação.

virtual: Esse tipo de interface pode ser criado sobre qualquer tipo de interface descrito acima. Esse tipo de interface deve ser usado para Farms e é necessário que a interface virtual seja definida na mesma sub-rede que o pai.

Listar todas as interfaces

Listar todas as interfaces

Exemplo de solicitação:

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

GET /interfaces

Obtenha uma lista de interfaces no sistema com sua configuração.

Exemplo de resposta:

{
   "description" : "List interfaces",
   "interfaces" : [
      {
         "gateway" : "",
         "ip" : "",
         "mac" : "66:eb:31:0e:07:71",
         "name" : "bond2",
         "netmask" : "",
         "status" : "down",
         "type" : "bond"
      },
      {
         "gateway" : "192.168.100.1",
         "ip" : "192.168.100.121",
         "mac" : "a2:6d:80:29:87:c6",
         "name" : "bondiface",
         "netmask" : "255.255.255.0",
         "status" : "up",
         "type" : "bond"
      },
      {
         "gateway" : "192.168.100.5",
         "ip" : "192.168.100.241",
         "mac" : "c2:56:f6:54:ff:a0",
         "name" : "eth0",
         "netmask" : "255.255.255.0",
         "status" : "up",
         "type" : "nic",
         "is_slave" : "false"
      },
      {
         "gateway" : "192.168.120.1",
         "ip" : "192.168.120.120",
         "mac" : "c2:56:f6:54:ff:a0",
         "name" : "eth0.1",
         "netmask" : "255.255.255.0",
         "status" : "down",
         "type" : "vlan"
      },
      {
         "gateway" : "",
         "ip" : "192.168.100.155",
         "mac" : "c2:56:f6:54:ff:a0",
         "name" : "eth0:virt",
         "netmask" : "255.255.255.0",
         "status" : "up",
         "type" : "virtual"
      },
      {
         "gateway" : "192.168.100.5",
         "ip" : "192.168.100.41",
         "mac" : "c2:56:f6:54:ff:a0",
         "name" : "eth0:virtiface",
         "netmask" : "255.255.255.0",
         "status" : "down",
         "type" : "virtual"
      },
      {
         "gateway" : "192.168.100.5",
         "ip" : "192.168.100.102",
         "mac" : "62:30:43:36:29:ac",
         "name" : "eth1",
         "netmask" : "255.255.255.0",
         "status" : "up",
         "type" : "nic",
         "is_slave" : "false"
      },
      {
         "gateway" : "",
         "ip" : "",
         "mac" : "66:eb:31:0e:07:71",
         "name" : "eth2",
         "netmask" : "",
         "status" : "up",
         "type" : "nic",
         "is_slave" : "true"
      },
      {
         "gateway" : "",
         "ip" : "",
         "mac" : "a2:6d:80:29:87:c6",
         "name" : "eth3",
         "netmask" : "",
         "status" : "up",
         "type" : "nic",
         "is_slave" : "true"
      }
   ]
}

Parâmetros de resposta

A resposta será um objeto JSON com uma matriz de objetos de interface.

Objeto de interface:

Campo Tipo Descrição
ip Tanga IP da interface. O IP deve estar no mesmo segmento de rede que a interface pai na interface virtual.
netmask Tanga Netmask da interface. Este valor não pode ser modificado em interfaces virtuais, é herdado da interface pai.
porta de entrada Tanga Gateway da interface. Este valor não pode ser modificado em interfaces virtuais, é herdado da interface pai.
mac Tanga MAC da interface. Este valor é herdado do primeiro escravo da NIC em interfaces de ligação. Em interfaces virtuais e de VLAN, ele é herdado da interface pai.
nome Tanga Nome da interface. É usado como identificador único.
estado Tanga Os valores podem ser up, a interface pode receber pacotes; down, a interface não pode receber pacotes.
tipo Tanga Os diferentes tipos de interfaces são: nic, vlan, virtual or vínculo.
is_slave Tanga Disponível apenas em interfaces NIC, verdadeiro, a interface é parte de uma interface de ligação, falso a interface não faz parte de uma interface de ligação.

Recuperar gateway padrão

Recuperar gateway padrão

Exemplo de solicitação:

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

GET /interfaces/gateway

O gateway padrão é o nó que envia todo o tráfego de destino que não pode ser acessado localmente de qualquer interface no balanceador de carga.

Obtenha os parâmetros da interface do gateway padrão.

Exemplo de resposta:

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

Parâmetros de resposta

Campo Tipo Descrição
endereço Tanga É o IP do gateway.
interface Tanga Nome da interface do gateway.

Modificar gateway padrão

Modificar gateway padrão

Exemplo de solicitação:

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

PUT /interfaces/gateway

Modifique a configuração da interface do gateway.

Exemplo de resposta:

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

Solicitar Parâmetros

Campo Tipo Descrição
endereço Tanga É o IP do gateway.
interface Tanga Nome da interface do gateway.

Excluir configuração do gateway

DELETE /interfaces/gateway

Exclua a configuração da configuração do gateway padrão.

Aviso: se o gateway estiver desconfigurado, o Zevenet não será acessado por um segmento de rede externo.

Excluir configuração do gateway

Exemplo de solicitação:

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

Mensagem de resposta

Se o gateway for desconfigurado do mesmo segmento de rede, essa mensagem será exibida, caso contrário, a conexão será perdida.

Exemplo de resposta:

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

Rede - interfaces NIC

As interfaces NIC são as interfaces físicas conectadas ao seu balanceador de carga Zevenet.

O sistema reconhece novas interfaces automaticamente quando elas estão conectadas.

Usando interfaces NIC como pais, outros tipos de interfaces com características diferentes podem ser criados. As interfaces disponíveis são: VLAN,virtual e assim bonding.

Listar interfaces NIC

GET /interfaces/nic

Obtenha todos os parâmetros das interfaces NIC.

Listar interfaces NIC

Exemplo de solicitação:

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

Exemplo de resposta:

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

Parâmetros de resposta

A resposta será um objeto JSON com uma matriz de objetos da interface NIC.

Objeto da interface NIC:

Campo Tipo Descrição
ip Tanga IP da interface.
netmask Tanga Defina o segmento de rede onde a interface está funcionando.
porta de entrada Tanga IP usado para enviar pacotes para um segmento de rede diferente.
mac Tanga Indentificador exclusivo de camada de link. É imodificável.
nome Tanga Nome da interface. É usado como identificador exclusivo da interface.
estado Tanga Os valores podem ser up, a interface pode receber pacotes; down, a interface não pode receber pacotes.
is_slave Tanga verdadeiro a interface faz parte de uma interface de ligação, falso a interface não faz parte de uma interface de ligação.

Recuperar interface NIC

Recuperar interface NIC

Exemplo de solicitação:

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

GET /interfaces/nic/<name>

Obtenha todos os parâmetros de uma interface NIC. nome é o identificador exclusivo da interface.

Exemplo de resposta:

{
   "description" : "Show NIC interface",
   "interface" : {
      "gateway" : "192.168.100.5",
      "ip" : "192.168.100.102",
      "is_slave" : "false",
      "mac" : "62:30:43:36:29:ac",
      "name" : "eth1",
      "netmask" : "255.255.255.0",
      "status" : "up"
   }
}

Parâmetros de resposta

Campo Tipo Descrição
ip Tanga IP da interface.
netmask Tanga Defina o segmento de rede onde a interface está funcionando.
porta de entrada Tanga IP usado para enviar pacotes para um segmento de rede diferente.
mac Tanga Indentificador exclusivo de camada de link. É imodificável.
nome Tanga Nome da interface. É usado como identificador exclusivo da interface.
estado Tanga Os valores podem ser up, a interface pode receber pacotes; down, a interface não pode receber pacotes.
tipo Tanga Os diferentes tipos de interfaces são: nic, vlan, virtual or vínculo. Cada um deles é definido no submenu de rede.
is_slave Tanga verdadeiro a interface faz parte de uma interface de ligação, falso a interface não faz parte de uma interface de ligação.

Modificar interface NIC

Modificar interface NIC

Exemplo de solicitação:

curl -k -X PUT -H 'Content-Type: application/json' -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
-d '{"ip":"192.168.100.102","netmask":"255.255.255.0","gateway":"192.168.100.5"}'
https://<zenlb_server>:444/zapi/v3/zapi.cgi/interfaces/nic/eth1

PUT /interfaces/nic/<name>

Modifique os parâmetros de uma interface NIC. nome é o identificador exclusivo da interface.

Solicitar Parâmetros

Campo Tipo Descrição
ip Tanga IP da interface.
netmask Tanga Defina o segmento de rede onde a interface está funcionando.
porta de entrada Tanga IP usado para enviar pacotes de um segmento de rede diferente.

Exemplo de resposta:

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

Parâmetros de resposta

A resposta será um json com todos os valores solicitados atualizados. Veja o exemplo de resposta para mais informações.

Excluir configuração do NIC

Excluir configuração do NIC

Exemplo de solicitação:

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

DELETE /interfaces/nic/<name>

Exclua a configuração para uma interface NIC. Após essa ação, a interface será inútil e estará pronta para ser configurada novamente. nome é o identificador exclusivo da interface.

Exemplo de resposta:

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

Definir ação da interface NIC

Definir ação da interface NIC

Exemplo de solicitação:

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

POST /interfaces/nic/<name>/actions

Aplique uma ação a uma interface NIC. Esta chamada permite ativar ou desativar uma interface de rede.

nome é o identificador exclusivo da interface.

Solicitar Parâmetros

Campo Tipo Descrição Exigido
açao Tanga Ação para aplicar à interface. Os valores disponíveis são: up, ative a interface e prepare-a para ser usada; down, desative a interface para não receber ou não enviar pacotes. verdadeiro

Exemplo de resposta:

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

Parâmetros de resposta

A resposta será um json com todos os valores solicitados atualizados. Veja o exemplo de resposta para mais informações.

Rede - Interfaces de ligação

A interface de ligação do Linux, ou também chamada por outros fornecedores como Trunk, fornece um método para agregar várias interfaces de rede em uma única interface lógica “ligada”. O comportamento das interfaces coladas depende do modo, o Zevenet Load Balancer suporta os seguintes métodos:

Política Round-robin: Transmite pacotes em ordem seqüencial do primeiro escravo disponível até o último. Este modo fornece balanceamento de carga e tolerância a falhas.

Política de backup ativo: Apenas um escravo na ligação está ativo. Um escravo diferente se torna ativo se, e somente se, o escravo ativo falhar. O endereço MAC do link é visível externamente em apenas uma porta (adaptador de rede) para evitar confundir o switch. Este modo fornece tolerância a falhas. A principal opção afeta o comportamento deste modo.

Política XOR: Transmite com base no endereço MAC de origem XOR com endereço MAC de destino. Isso seleciona o mesmo escravo para cada endereço MAC de destino. Este modo fornece balanceamento de carga e tolerância a falhas.

Política de Broadcast: Transmite tudo em todas as interfaces escravas. Este modo fornece tolerância a falhas.

IEEE 802.3ad LACP: Cria grupos de agregação que compartilham as mesmas configurações de velocidade e duplex. Utiliza todos os escravos no agregador ativo de acordo com a especificação 802.3ad.

Pré-requisitos:

  1. Suporte de interface de rede nos drivers básicos para recuperar a velocidade e o duplex de cada escravo.

  2. Um comutador que suporta agregação de link Dinâmico IEEE 802.3ad. A maioria dos switches requer algum tipo de configuração para ativar o modo 802.3ad.

Balanceamento de carga de transmissão adaptável: Ligação de canal que não requer nenhum suporte de comutador especial. O tráfego de saída é distribuído de acordo com a carga atual (calculada em relação à velocidade) em cada escravo. O tráfego de entrada é recebido pelo escravo atual. Se o escravo receptor falhar, outro escravo assumirá o endereço MAC do escravo receptor recebido com falha.

Pré-requisito:

Suporte ao driver base para recuperar a velocidade de cada escravo.

Balanceamento adaptativo de carga: Inclui o balanceamento de carga de transmissão adaptável, além de receber o balanceamento de carga para o tráfego IPV4 e não requer nenhum suporte de switch especial. O balanceamento de carga de recebimento é obtido pela negociação ARP. O driver de ligação intercepta as respostas ARP enviadas pelo sistema local ao sair e sobrescreve o endereço de hardware de origem com o endereço de hardware exclusivo de um dos escravos na ligação, de modo que pares diferentes usem endereços de hardware diferentes para o servidor.

Listar interfaces de ligação

Listar interfaces de ligação

Exemplo de solicitação:

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

GET /interfaces/bonding

Obtenha a configuração sobre todas as interfaces de ligação no sistema.

Exemplo de resposta:

{
   "description" : "List bonding interfaces",
   "interfaces" : [
      {
         "gateway" : "",
         "ip" : "",
         "mac" : "66:eb:31:0e:07:71",
         "mode" : "broadcast",
         "name" : "bond2",
         "netmask" : "",
         "slaves" : [
            {
               "name" : "eth2"
            }
         ],
         "status" : "down"
      },
      {
         "gateway" : "192.168.100.1",
         "ip" : "192.168.100.121",
         "mac" : "a2:6d:80:29:87:c6",
         "mode" : "balance-rr",
         "name" : "bondiface",
         "netmask" : "255.255.255.0",
         "slaves" : [
            {
               "name" : "eth3"
            },
            {
               "name" : "eth4"
            }
         ],
         "status" : "up"
      }
   ]
}

Parâmetros de resposta

A resposta será um objeto JSON com uma matriz de objetos de interface de ligação.

Os parâmetros de ligação são:

Campo Tipo Descrição
ip Tanga IP da interface.
netmask Tanga Defina o segmento de rede onde a interface está funcionando.
porta de entrada Tanga IP usado para enviar pacotes de um segmento de rede diferente.
mac Tanga Indentificador exclusivo de camada de link. É o mac do primeiro escravo da interface NIC.
nome Tanga Nome da interface. É usado como identificador exclusivo da interface.
estado Tanga Os valores podem ser up, a interface pode receber pacotes; down, a interface não pode receber pacotes.
escravos Objeto[] Membros da interface NIC da interface de ligação.
modo Tanga É o modo de trabalho para interface de ligação. As opções são: equilíbrio-rrPolítica Round-robin; backup ativoPolítica de backup ativo; equilíbrio-xorPolítica XOR; transmissãoPolítica de transmissão; 802.3ad, IEEE 802.3ad LACP; equilíbrio-tlbBalanceamento adaptativo de carga de transmissão; equilíbrio-alb, Balanceamento de carga adaptável. Esses valores são definidos na seção Rede - Interfaces de ligação.

Objeto de escravos:

Campo Tipo Descrição
nome Tanga Nome é o identificador exclusivo da interface do escravo da NIC.

Recuperar interface de ligação

Recuperar interface de ligação

Exemplo de solicitação:

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

GET /interfaces/bonding/<name>

Obtenha todos os parâmetros da interface. nome é o identificador exclusivo da interface.

Exemplo de resposta:

{
   "description" : "Show bonding interface",
   "interface" : {
      "gateway" : "192.168.100.1",
      "ip" : "192.168.100.121",
      "mac" : "a2:6d:80:29:87:c6",
      "mode" : "balance-rr",
      "name" : "bondiface",
      "netmask" : "255.255.255.0",
      "slaves" : [
         {
            "name" : "eth3"
         },
         {
            "name" : "eth2"
         }
      ],
      "status" : "up"
   }
}

Parâmetros de resposta

A resposta será um objeto JSON com um objeto de interface de ligação.

Os parâmetros de ligação são:

Campo Tipo Descrição
ip Tanga IP da interface.
netmask Tanga Defina o segmento de rede onde a interface está funcionando.
porta de entrada Tanga IP usado para enviar pacotes de um segmento de rede diferente.
mac Tanga Indentificador exclusivo de camada de link. É o mac do primeiro escravo da interface NIC.
nome Tanga Nome da interface. É usado como identificador exclusivo da interface.
estado Tanga Os valores podem ser up, a interface pode receber pacotes; down, a interface não pode receber pacotes.
escravos Objeto[] Membros da interface NIC da interface de ligação.
modo Tanga É o modo de trabalho para interface de ligação. As opções são: equilíbrio-rrPolítica Round-robin; backup ativoPolítica de backup ativo; equilíbrio-xorPolítica XOR; transmissãoPolítica de transmissão; 802.3ad, IEEE 802.3ad LACP; equilíbrio-tlbBalanceamento adaptativo de carga de transmissão; equilíbrio-alb, Balanceamento de carga adaptável. Esses valores são definidos em Rede> Interfaces de ligação.

Escravo objeto:

Campo Tipo Descrição
nome Tanga Nome é o identificador exclusivo da interface do escravo da NIC.

Criar interface de ligação

Criar interface de ligação

Exemplo de solicitação:

curl -k -X POST -H 'Content-Type: application/json' -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
-d '{"slaves":["eth3","eth2"],"name":"bondiface","mode":"balance-rr"}'
https://<zenlb_server>:444/zapi/v3/zapi.cgi/interfaces/bonding

POST /interfaces/bonding

Crie uma interface de ligação unindo interfaces NIC.

O endereço MAC de ligação será retirado da sua primeira interface NIC. O modo de ligação não pode ser alterado depois que a interface de ligação é criada, mas as interfaces de membro podem ser adicionadas ou excluídas na interface de ligação, conforme necessário. Uma interface NIC será bloqueada se fizer parte de uma interface de ligação.

Solicitar Parâmetros

Campo Tipo Descrição Exigido
nome Tanga Nome da interface. É usado como identificador exclusivo da interface. verdadeiro
escravos Corda[] Todas as interfaces NIC que criam a ligação. É necessário o parâmetro NIC nome. verdadeiro
modo Tanga É o modo de trabalho para interface de ligação. As opções são: equilíbrio-rrPolítica Round-robin; backup ativoPolítica de backup ativo; equilíbrio-xorPolítica XOR; transmissãoPolítica de transmissão; 802.3ad, IEEE 802.3ad LACP; equilíbrio-tlbBalanceamento adaptativo de carga de transmissão; equilíbrio-alb, Balanceamento de carga adaptável. Esses valores são definidos em Rede> Interfaces de ligação. verdadeiro

Exemplo de resposta:

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

Parâmetros de resposta

A resposta será um objeto JSON com os parâmetros configurados de ligação.

Campo Tipo Descrição
mac Tanga Indentificador exclusivo de camada de link. É o mac do primeiro escravo da interface NIC.
nome Tanga Nome da interface. É usado como identificador exclusivo da interface.
estado Tanga Os valores podem ser up, a interface pode receber pacotes; down, a interface não pode receber pacotes.
escravos Objeto[] Interfaces NIC que constroem a interface de ligação.
modo Tanga É o modo de trabalho para interface de ligação. As opções são: equilíbrio-rrPolítica Round-robin; backup ativoPolítica de backup ativo; equilíbrio-xorPolítica XOR; transmissãoPolítica de transmissão; 802.3ad, IEEE 802.3ad LACP; equilíbrio-tlbBalanceamento adaptativo de carga de transmissão; equilíbrio-alb, Balanceamento de carga adaptável. Esses valores são definidos em Rede> Interfaces de ligação.

Escravo objeto:

Campo Tipo Descrição
nome Tanga Nome é o identificador exclusivo da interface do escravo da NIC.

Modificar interface de ligação

Modificar interface de ligação

Exemplo de solicitação:

curl -k -X PUT -H 'Content-Type: application/json' -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
-d '{"ip":"192.168.100.121","netmask":"255.255.255.0","gateway":"192.168.100.1"}'
https://<zenlb_server>:444/zapi/v3/zapi.cgi/interfaces/bonding/bondiface

PUT /interfaces/bonding/<name>

Modifique os parâmetros de uma interface de ligação. nome é o identificador exclusivo da interface.

Solicitar Parâmetros

Campo Tipo Descrição
ip Tanga IP da interface.
netmask Tanga Defina o segmento de rede onde a interface está funcionando.
porta de entrada Tanga IP usado para enviar pacotes de um segmento de rede diferente.

Exemplo de resposta:

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

Parâmetros de resposta

A resposta será um json com todos os valores solicitados atualizados. Veja o exemplo de resposta para mais informações.

Excluir configuração de ligação

Excluir configuração de ligação

Exemplo de solicitação:

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

DELETE /interfaces/bonding/<name>

Exclua a configuração da interface de ligação. Os parâmetros de configuração são: porta de entrada, ip e assim netmask.

nome é o identificador exclusivo da interface.

Exemplo de resposta:

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

Definir ação da interface de ligação

Definir ação da interface de ligação

Exemplo de solicitação:

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

POST /interfaces/bonding/<name>/actions

Aplique uma ação a uma interface de ligação. Essa chamada permite excluir a interface de ligação e ativá-la ou desativá-la.

É necessário excluir a interface de ligação usando destruir Se você deseja desbloquear as interfaces NIC usadas na ligação, o driver de ligação restaurará os endereços MAC que as interfaces de membros tinham antes de serem adicionados à interface de ligação.

nome é o identificador exclusivo da interface.

Solicitar Parâmetros

Campo Tipo Descrição Exigido
açao Tanga Ação para aplicar à interface. Os valores disponíveis são: up ativar a interface e prepará-la para ser usada, down desabilitar a interface para não receber ou não enviar pacotes, destruir exclua a ligação e restaure as interfaces de escravos da NIC. verdadeiro

Exemplo de resposta:

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

Parâmetros de resposta

A resposta será um json com todos os valores solicitados atualizados. Veja o exemplo de resposta para mais informações.

Adicione uma interface escrava de ligação

Adicione uma interface escrava de ligação

Exemplo de solicitação:

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

POST /interfaces/bonding/<name>/slaves

Adicione uma interface NIC como escrava a uma interface de ligação existente.

nome é o identificador exclusivo da interface.

Solicitar Parâmetros

Campo Tipo Descrição Exigido
nome Tanga Interface NIC nome para adicionar à interface de ligação. verdadeiro

Exemplo de resposta:

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

Parâmetros de resposta

A resposta será um json com valores configurados atualizados. Veja o exemplo de resposta para mais informações.

Remover uma interface escrava de ligação

Remover uma interface escrava de ligação

Exemplo de solicitação:

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

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

Apague uma interface escrava NIC de uma interface de ligação. A interface de ligação deve ter quase uma interface de escravo NIC.

Primeiro nome é o DELETE chamada é o identificador único do nome da ligação, a seguir nome no DELETE call é o identificador único do nome da interface da NIC.

Exemplo de resposta:

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

Rede - interfaces de VLAN

A interface VLAN permite que uma interface NIC ou de ligação funcione em outra rede, IP, porta de entrada e assim netmask campos podem ser diferentes da interface pai. A interface VLAN herda o endereço MAC de sua interface pai.

O campo Interfaces VLAN nome aparecerá com um caractere ponto "." que será usado para estabelecer uma tag identificadora para a interface vlan.

Listar interfaces VLAN

Listar interfaces VLAN

Exemplo de solicitação:

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

GET /interfaces/vlan

Obtenha todos os parâmetros de interfaces de VLAN.

Exemplo de resposta:

{
   "description" : "List VLAN interfaces",
   "interfaces" : [
      {
         "gateway" : "192.168.120.1",
         "ip" : "192.168.120.120",
         "mac" : "c2:56:f6:54:ff:a0",
         "name" : "eth0.1",
         "netmask" : "255.255.255.0",
         "parent" : "eth0",
         "status" : "down"
      }
   ]
}

Parâmetros de resposta

A resposta será um objeto JSON com uma matriz de objetos da interface VLAN.

Os parâmetros da VLAN são:

Campo Tipo Descrição
ip Tanga IP da interface. Pode ser diferente do IP da inteface pai.
netmask Tanga Defina o segmento de rede onde a interface está funcionando.
porta de entrada Tanga IP usado para enviar pacotes de um segmento de rede diferente.
mac Tanga MAC da interface. Este valor é herdado da interface pai.
nome Tanga Nome da interface. É usado como identificador único. Este nome é uma cadeia formatada por um nome de interface pai, um caractere de ponto “.” e um número para a interface de rede vlan ou tag vlan.
principal Tanga É a interface usada para criar este.
estado Tanga Os valores podem ser up a interface pode receber pacotes, down a interface não pode receber pacotes.

Recuperar interface VLAN

Recuperar interface VLAN

Exemplo de solicitação:

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

GET /interfaces/vlan/<name>

Obtenha todos os parâmetros da interface VLAN. nome é o identificador exclusivo da interface.

Exemplo de resposta:

{
   "description" : "Show VLAN interface",
   "interface" : {
      "gateway" : "192.168.131.1",
      "ip" : "192.168.131.155",
      "mac" : "c2:56:f6:54:ff:a0",
      "name" : "eth0.1",
      "netmask" : "255.255.255.0",
      "status" : "up"
   }
}

Parâmetros de resposta

Campo Tipo Descrição
ip Tanga IP da interface.
netmask Tanga Defina o segmento de rede onde a interface está funcionando.
porta de entrada Tanga IP usado para enviar pacotes de um segmento de rede diferente.
mac Tanga MAC da interface. Este valor é herdado da interface pai.
nome Tanga Nome da interface. É usado como identificador único. Este nome é uma cadeia formatada por um nome de interface pai, um caractere de ponto “.” e um número para a interface de rede vlan.
estado Tanga Os valores podem ser up a interface pode receber pacotes, down a interface não pode receber pacotes.

Crie uma interface VLAN

Crie uma interface VLAN

Exemplo de solicitação:

curl -k -X POST -H 'Content-Type: application/json' -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
-d '{"ip":"192.168.120.120","netmask":"255.255.255.0","gateway":"192.168.120.1", "name":"eth0.1"}'
https://<zenlb_server>:444/zapi/v3/zapi.cgi/interfaces/vlan

POST /interfaces/vlan

Crie uma interface de VLAN a partir de uma interface NIC ou de ligação. A nova interface de VLAN compartilhará o MAC, embora os seguintes parâmetros de rede devam ser diferentes: ipe o seguinte pode mudar: porta de entrada, netmask.

Solicitar Parâmetros

Campo Tipo Descrição Exigido
ip Tanga IP da interface. Deve ser diferente do IP da inteface pai. verdadeiro
netmask Tanga Defina o segmento de rede onde a interface está funcionando. verdadeiro
porta de entrada Tanga IP usado para enviar pacotes de um segmento de rede diferente. verdadeiro
nome Tanga Nome da interface. É usado como identificador único. Este nome é uma cadeia formatada por um nome de interface pai, um caractere de ponto “.” e um número para a interface de rede vlan. verdadeiro

Exemplo de resposta:

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

Parâmetros de resposta

A resposta será um json com todos os valores solicitados atualizados. Veja o exemplo de resposta para mais informações.

Modifique a interface VLAN

Modifique a interface VLAN

Exemplo de solicitação:

curl -k -X PUT -H 'Content-Type: application/json' -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
-d '{"ip":"192.168.131.155","netmask":"255.255.255.0","gateway":"192.168.131.1"}'
https://<zenlb_server>:444/zapi/v3/zapi.cgi/interfaces/vlan/eth0.1

PUT /interfaces/vlan/<name>

Modifique os parâmetros de uma interface VLAN. nome é o identificador exclusivo da interface.

Solicitar Parâmetros

Campo Tipo Descrição
ip Tanga IP da interface. Pode ser diferente do IP da inteface pai.
netmask Tanga Defina o segmento de rede onde a interface está funcionando.
porta de entrada Tanga IP usado para enviar pacotes de um segmento de rede diferente.

Exemplo de resposta:

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

Parâmetros de resposta

A resposta será um json com todos os valores solicitados atualizados. Veja o exemplo de resposta para mais informações.

Excluir interface VLAN

Excluir interface VLAN

Exemplo de solicitação:

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

DELETE /interfaces/vlan/<name>

Excluir uma interface de VLAN. nome é o identificador exclusivo da interface.

Exemplo de resposta:

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

Definir ação da interface de VLAN

Definir ação da interface de VLAN

Exemplo de solicitação:

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

POST /interfaces/vlan/<name>/actions

Aplique uma ação a uma interface VLAN. Esta chamada permite ativar ou desativar uma interface de rede.

nome é o nome do identificador exclusivo.

Solicitar Parâmetros

Campo Tipo Descrição Exigido
açao Tanga Ação para aplicar à interface. Os valores disponíveis são: up, ative a interface e prepare-a para ser usada; down, desative a interface para não receber ou não enviar pacotes. verdadeiro

Exemplo de resposta:

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

Parâmetros de resposta

A resposta será um json com todos os valores solicitados atualizados. Veja o exemplo de resposta para mais informações.

Rede - Interfaces virtuais

As interfaces de rede permitem que os usuários tenham outra interface de rede no mesmo segmento de rede que pai, portanto, as interfaces virtuais sempre herdam a configuração de rede de seu pai. O parâmetro diferente será o ip. A interface virtual pode ser criada a partir da NIC, ligação ou VLAN. Criando uma nova interface virtual aparecerá um campo com um caractere “:” de dois-pontos que será usado para estabelecer uma identificação para a interface virtual.

Listar interfaces virtuais

Listar interfaces virtuais

Exemplo de solicitação:

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

GET /interfaces/virtual

Obtenha todos os parâmetros de interfaces virtuais.

Exemplo de resposta:

{
   "description" : "List virtual interfaces",
   "interfaces" : [
      {
         "gateway" : "",
         "ip" : "192.168.100.155",
         "mac" : "c2:56:f6:54:ff:a0",
         "name" : "eth0:virt",
         "netmask" : "255.255.255.0",
         "parent" : "eth0",
         "status" : "up"
      },
      {
         "gateway" : "192.168.100.5",
         "ip" : "192.168.100.41",
         "mac" : "c2:56:f6:54:ff:a0",
         "name" : "eth0:virtiface",
         "netmask" : "255.255.255.0",
         "parent" : "eth0",
         "status" : "down"
      }
   ]
}

Parâmetros de resposta

Campo Tipo Descrição
ip Tanga IP da interface. O IP deve estar no mesmo segmento de rede que a interface pai.
netmask Tanga Defina o segmento de rede onde a interface está funcionando. Ele herda da interface pai.
porta de entrada Tanga IP usado para enviar pacotes de um segmento de rede diferente. Ele herda da interface pai.
mac Tanga MAC da interface. Ele herda da interface pai.
nome Tanga Nome da interface. É usado como identificador único. Este nome é uma cadeia formatada por uma interface pai, um caractere de dois pontos “:” e o nome da interface de rede virtual, caracteres alfanuméricos são permitidos.
principal Tanga É a interface usada para criar este.
estado Tanga Os valores podem ser up, a interface pode receber pacotes; down, a interface não pode receber pacotes.

Recuperar interface virtual

Recuperar interface virtual

Exemplo de solicitação:

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

GET /interfaces/virtual/<name>

Obtenha todos os parâmetros de uma interface virtual. nome é o identificador exclusivo da interface.

Exemplo de resposta:

{
   "description" : "Show virtual interface",
   "interface" : {
      "gateway" : "192.168.100.5",
      "ip" : "192.168.100.41",
      "mac" : "c2:56:f6:54:ff:a0",
      "name" : "eth0:virtiface",
      "netmask" : "255.255.255.0",
      "status" : "down"
   }
}

Parâmetros de resposta

Campo Tipo Descrição
ip Tanga IP da interface. O IP deve estar no mesmo segmento de rede que a interface pai.
netmask Tanga Defina o segmento de rede onde a interface está funcionando. Ele herda da interface pai.
porta de entrada Tanga IP usado para enviar pacotes de um segmento de rede diferente. Ele herda da interface pai.
mac Tanga MAC da interface. Ele herda da interface pai.
nome Tanga Nome da interface. É usado como identificador único. Este nome é uma cadeia formatada por uma interface pai, um caractere de dois pontos “:” e uma string alfanumérica para a interface de rede virtual.
principal Tanga É a interface usada para criar este.
estado Tanga Os valores podem ser up, a interface pode receber pacotes; down, a interface não pode receber pacotes.

Crie interface virtual

Crie interface virtual

Exemplo de solicitação:

curl -k -X POST -H 'Content-Type: application/json' -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
-d '{"ip":"192.168.100.41", "name":"eth0:virtiface"}'
https://<zenlb_server>:444/zapi/v3/zapi.cgi/interfaces/virtual

POST /interfaces/virtual

Crie uma interface virtual.

Solicitar Parâmetros

Campo Tipo Descrição Exigido
ip Tanga IP da interface. O IP deve estar no mesmo segmento de rede que a interface pai. verdadeiro
nome Tanga Nome da interface. É usado como identificador único. Este nome é uma cadeia formatada por uma interface pai, um caractere de dois pontos “:” e uma string alfanumérica para a interface de rede virtual. verdadeiro

Exemplo de resposta:

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

Parâmetros de resposta

A resposta será um json com a configuração da interface. Veja o exemplo de resposta para mais informações.

Campo Tipo Descrição
ip Tanga IP da interface. O IP deve estar no mesmo segmento de rede que a interface pai.
netmask Tanga Defina o segmento de rede onde a interface está funcionando. Ele herda da interface pai.
porta de entrada Tanga IP usado para enviar pacotes para um segmento de rede diferente. Ele herda da interface pai.
mac Tanga MAC da interface. Ele herda da interface pai.
nome Tanga Nome da interface. É usado como identificador único. Este nome é uma cadeia formatada por uma interface pai, um caractere de dois pontos “:” e uma string alfanumérica para a interface de rede virtual.

Modificar interface virtual

Modificar interface virtual

Exemplo de solicitação:

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

PUT /interfaces/virtual/<name>

Modifique os parâmetros de uma interface virtual. nome é o identificador exclusivo da interface.

Solicitar Parâmetros

Campo Tipo Descrição
ip Tanga IP da interface. O IP deve estar no mesmo segmento de rede que a interface pai.

Exemplo de resposta:

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

Parâmetros de resposta

A resposta será um json com todos os valores solicitados atualizados. Veja o exemplo de resposta para mais informações.

Excluir interface virtual

Excluir interface virtual

Exemplo de solicitação:

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

DELETE /interfaces/virtual/<name>

Exclua uma interface virtual. nome é o identificador exclusivo da interface.

Exemplo de resposta:

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

Definir ação da interface virtual

Definir ação da interface virtual

Exemplo de solicitação:

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

POST /interfaces/virtual/<name>/actions

Aplique uma ação a uma interface virtual. Esta chamada permite ativar ou desativar uma interface de rede.

nome é o identificador exclusivo da interface.

Solicitar Parâmetros

Campo Tipo Descrição Exigido
açao Tanga Ação para aplicar à interface. Os valores disponíveis são: up, ative a interface e prepare-a para ser usada; down, desative a interface para não receber ou não enviar pacotes. verdadeiro

Exemplo de resposta:

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

Parâmetros de resposta

A resposta será um json com todos os valores solicitados atualizados. Veja o exemplo de resposta para mais informações.

Rede - Interfaces Flutuantes

Esse tipo de interface usa uma interface virtual definida e mascara o tráfego de saída de um nic, bonding or VLAN interface com uma criança virtual interface. Essa interface é usada para o comportamento de failover com estado em perfis l4xnat, se um cluster estiver configurado.

Listar interfaces flutuantes

Listar interfaces flutuantes

Exemplo de solicitação:

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

GET /interfaces/floating

Mostrar todas as interfaces disponíveis ou configuradas nas quais um IP flutuante foi criado.

Exemplo de resposta:

{
   "description" : "List floating interfaces",
   "params" : [
      {
         "floating_ip" : null,
         "interface" : "bondiface"
      },
      {
         "floating_ip" : "192.168.100.199",
         "interface" : "eth0"
      },
      {
         "floating_ip" : null,
         "interface" : "eth0.1"
      },
      {
         "floating_ip" : null,
         "interface" : "eth1"
      }
   ]
}

Parâmetros de resposta

A resposta será um objeto JSON com uma matriz de objetos de interface flutuante:

Flutuante objeto:

Campo Tipo Descrição
floating_ip Tanga IP flutuante usado em interface. floating_ip deve existir como filho interface virtual do interface.
interface Tanga Interface mascarada pelo IP flutuante.

Recuperar interface flutuante

Recuperar interface flutuante

Exemplo de solicitação:

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

GET /interfaces/floating/<name>

Mostra se uma interface possui um IP flutuante configurado. Se tiver um configurado, será mostrado aqui.

nome é o identificador exclusivo da interface que pode ser do tipo nic, bonding ou vlan.

Exemplo de resposta:

{
   "description" : "Show floating interface",
   "params" : {
      "floating_ip" : "192.168.100.199",
      "interface" : "eth0"
   }
}

Parâmetros de resposta

Campo Tipo Descrição
floating_ip Tanga IP flutuante usado em interface. floating_ip deve existir como filho interface virtual do interface.
interface Tanga Interface mascarada pelo IP flutuante.

Modificar interface flutuante

Modificar interface flutuante

Exemplo de solicitação:

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

PUT /interfaces/floating/<name>

Configure um IP flutuante para uma interface de NIC, ligação ou VLAN.

nome é o identificador exclusivo da interface que pode ser do tipo nic, bonding ou vlan.

Solicitar Parâmetros

Campo Tipo Descrição Exigido
floating_ip Tanga IP flutuante usado em interface. floating_ip deve existir como filho interface virtual do interface. verdadeiro

Exemplo de resposta:

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

Excluir configuração flutuante

Excluir configuração flutuante

Exemplo de solicitação:

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

DELETE /interfaces/floating/<name>

Remova a configuração IP flutuante em uma interface.

nome é o identificador exclusivo da interface que pode ser do tipo nic, bonding ou vlan.

Exemplo de resposta:

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

Monitoramento - Estatísticas

Mostrar informações sobre o sistema e farms. Esta informação será útil para monitorar o status do balanceador de carga Zevenet.

Mostrar estatísticas do sistema

Mostrar estatísticas do sistema

Exemplo de solicitação:

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

GET /stats

Obtenha estatísticas globais do sistema.

Exemplo de resposta:

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

Parâmetros de resposta

Campo Tipo Descrição
cpu objeto Estatísticas da CPU.
dados Tanga Data do sistema.
hostname Tanga Nome do anfitrião.
carregar objeto Estatísticas de carga do núcleo.
memória objeto Estatísticas de memória usadas.
rede objeto Estatísticas de tráfego de rede.

Objeto da CPU:

Campo Tipo Descrição
núcleos Sessão Número de núcleos no processador.
inativo Sessão CPU não pode ser usada por nenhum programa.
iowait Sessão CPU usada pelo processo de entrada ou saída.
irq Sessão CPU usada por interrrupções de hardware.
agradável Sessão Prioridade de agendamento de CPU.
softirq Sessão CPU usada por interrrupções de software.
sys Sessão CPU usada pelo sistema.
uso Sessão CPU total usada.
usuário Sessão CPU usada pelo usuário.

Carregar objeto:

Campo Tipo Descrição
Last_1 Sessão Porcentagem do sistema de carga no último minuto.
Last_5 Sessão Carregue a porcentagem do sistema cinco minutos atrás.
Last_15 Sessão Porcentagem de sistema de carga quinze minutos atrás.

Objeto de memória.

Campo Tipo Descrição
Buffers Sessão É a memória usada pelos buffers. Este valor é indicado em Mb.
Em cache Sessão É a memória total armazenada em cache pelo sistema. Este valor é indicado em Mb.
MemFree Sessão É a memória livre total não armazenada em cache pelo sistema. Este valor é indicado em Mb.
MemTotal Sessão É a memória RAM total no sistema. Este valor é indicado em Mb.
Memusado Sessão É a memória usada pelo sistema. Este valor é indicado em Mb.
SwapCached Sessão É a memória cache total reservada.
SwapFree Sessão É a memória livre total não armazenada em cache pelo sistema. Este valor é indicado em Mb.
SwapTotal Sessão É a memória swap total reservada.
SwapUsed Sessão É a troca de memória usada pelo sistema, em sistemas ótimos deve ser 0.

Objeto de rede:

Campo Tipo Descrição
em em Sessão Tráfego de entrada para este interface.
fora fora Sessão Tráfego de saída para este interface.

Mostrar estatísticas da rede

Mostrar estatísticas da rede

Exemplo de solicitação:

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

GET /stats/system/network

Obtenha um resumo do tráfego total de entrada e saída por meio de uma interface de rede.

Exemplo de resposta:

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

Parâmetros de resposta

A resposta será um JSON com uma chave params cujo valor é um objeto com as seguintes chaves:

Campo Tipo Descrição
dados Tanga Data do sistema.
hostname Tanga Nome do anfitrião.
interfaces de Objeto[] Estatísticas de tráfego de rede.

Objeto Interfaces

Campo Tipo Descrição
in Tanga Tráfego de entrada total em MB.
interface Tanga Nome da interface.
Fora Tanga Tráfego total de saída em MB.

Mostrar estatísticas de interfaces

Mostrar estatísticas de interfaces

Exemplo de solicitação:

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

GET /stats/system/network/interfaces

Obtenha um resumo de cada interface de rede.

Exemplo de resposta:

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

Parâmetros de resposta

A resposta será um JSON com uma chave params cujo valor é um objeto com as chaves vínculo e assim nic.

Campo Tipo Descrição
vínculo Objeto[] Estatísticas da interface de ligação.
nic Objeto[] Estatísticas da interface NIC.

Objeto Bond:

Campo Tipo Descrição
in Tanga Tráfego de entrada total em MB.
interface Tanga Nome da interface usado como identificador exclusivo.
ip Tanga IP da interface.
mac Tanga MAC da interface.
Fora Tanga Tráfego total de saída em MB.
escravos Corda [] Lista de escravos que constroem a interface de ligação.
estado Tanga Status da interface. O valor pode ser down, a interface está desativada; up, a interface está ativada.
virtual Corda [] Interfaces virtuais que herdam dessa interface.
vlan Corda [] Interfaces de VLAN que herdam dessa interface.

Objeto Nic:

Campo Tipo Descrição
in Tanga Tráfego de entrada total em MB.
interface Tanga Nome da interface usado como identificador exclusivo.
ip Tanga IP da interface.
mac Tanga MAC da interface.
Fora Tanga Tráfego total de saída em MB.
estado Tanga Status da interface. O valor pode ser down, a interface está desativada; up, a interface está ativada.
virtual Corda [] Interfaces virtuais que herdam dessa interface.
vlan Corda [] Interfaces de VLAN que herdam dessa interface.

Mostrar estatísticas de memória

Mostrar estatísticas de memória

Exemplo de solicitação:

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

GET /stats/system/memory

Obtenha um resumo da memória do sistema.

Exemplo de resposta:

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

Parâmetros de resposta

A resposta será um JSON com uma chave params cujo valor é um objeto de memória.

Memória objeto.

Campo Tipo Descrição
Buffers Sessão É a memória usada pelos buffers. Este valor é indicado em Mb.
Em cache Sessão É a memória total armazenada em cache pelo sistema. Este valor é indicado em Mb.
MemFree Sessão É a memória livre total não armazenada em cache pelo sistema. Este valor é indicado em Mb.
MemTotal Sessão É a memória RAM total no sistema. Este valor é indicado em Mb.
Memusado Sessão É a memória usada pelo sistema. Este valor é indicado em Mb.
SwapCached Sessão É a memória cache total reservada.
SwapFree Sessão É a memória livre total não armazenada em cache pelo sistema. Este valor é indicado em Mb.
SwapTotal Sessão É a memória swap total reservada.
SwapUsed Sessão É a troca de memória usada pelo sistema, em sistemas ótimos deve ser 0.
dados Tanga Data do sistema.
hostname Tanga Nome do anfitrião.

Mostrar estatísticas de carga

Mostrar estatísticas de carga

Exemplo de solicitação:

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

GET /stats/system/load

Obtenha um resumo da carga do sistema da CPU.

Exemplo de resposta:

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

Parâmetros de resposta

Campo Tipo Descrição
Last_1 Sessão Carregar o uso do sistema no último.
Last_5 Sessão Carregue o uso do sistema nos últimos cinco minutos.
Last_15 Sessão Carregue o uso do sistema nos últimos cinco minutos.
dados Tanga Data do sistema.
hostname Tanga Nome do anfitrião.

Mostrar estatísticas da CPU

Mostrar estatísticas da CPU

Exemplo de solicitação:

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

GET /stats/system/cpu

Exemplo de resposta:

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

Parâmetros de resposta

Campo Tipo Descrição
núcleos Sessão Número de núcleos no processador.
inativo Sessão CPU não pode ser usada por nenhum programa.
iowait Sessão CPU usada pelo processo de entrada ou saída.
irq Sessão CPU usada por interrrupções de hardware.
agradável Sessão Prioridade de agendamento de CPU.
softirq Sessão CPU usada por interrrupções de software.
sys Sessão CPU usada pelo sistema.
uso Sessão CPU total usada.
usuário Sessão CPU usada pelo usuário.
dados Tanga Data do sistema.
hostname Tanga Nome do anfitrião.

Mostrar estatísticas de conexões

Mostrar estatísticas de conexões

Exemplo de solicitação:

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

GET /stats/system/connections

Obtenha o total de conexões atuais no sistema. O contador soma qualquer tipo de conexão rastreada: ASSURED, ESTABLISHED, SYN_SENT, TIME_WAIT, LISTEN ...

Exemplo de resposta:

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

Parâmetros de resposta

Campo Tipo Descrição
conexões Sessão Total de conexões rastreadas, na verdade.

Mostrar o número de farms

Mostrar o número de farms

Exemplo de solicitação:

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

GET /stats/farms/total

Mostrar o total de farms criados no sistema.

Exemplo de resposta:

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

Parâmetros de resposta

Campo Tipo Descrição
número Sessão É o número de farms existentes no sistema.

Mostrar estatísticas de farms

Mostrar estatísticas de farms

Exemplo de solicitação:

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

GET /stats/farms

Obtenha um resumo das conexões e configurações de todos os farms no sistema.

Exemplo de resposta:

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

Parâmetros de resposta

Campo Tipo Descrição
estabelecido Sessão Número total de conexões estabelecidas atualmente.
farmname Tanga Nome do farm, identificador exclusivo.
pendente Sessão Número de conexões pendentes.
perfis Tanga Tipo de fazenda. Os valores possíveis são: link de dados, l4xnat, http, https or gslb. Cada perfil é definido em sua seção.
estado Tanga Status da fazenda. Os valores possíveis são: upa fazenda está em execução; down, a fazenda está parada ou reinicialização necessária, o farm precisa ser reiniciado para que as alterações mais recentes entrem em vigor.
vip Tanga IP do farm, onde o serviço virtual está escutando.
vport Tanga Porta da fazenda, onde o serviço virtual está escutando.

Mostrar estatísticas de farm

Mostrar estatísticas de farm

Exemplo de solicitação:

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

GET /stats/farms/<farmname>

Mostra o status atual do farm, o status de back-end e as conexões deles. Cada farm responderá com um objeto diferente, dependendo do perfil.

Exemplo de resposta para o 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"
      }
   ]
}

Parâmetros de resposta em farms HTTP

Campo Tipo Descrição
backends Objeto[] Mostrar informações sobre backends.
sessões Objeto[] Mostrar informações sobre sessões.

Objeto Backend

Campo Tipo Descrição
estabelecido Sessão Número total de conexões estabelecidas.
id Sessão Identificador exclusivo de back-end.
ip Tanga IP onde o serviço real está escutando.
pendente Sessão Número de conexões pendentes.
porta Sessão Porto onde o serviço real está escutando.
serviço Tanga Nome do serviço usado como identificador exclusivo.
estado Tanga Status de back-end. Os valores possíveis são: up, o backend está pronto para receber conexões; down, o serviço detectou que o backend não está funcionando; fgDOWN, farmguardian desativou o back-end porque a verificação do farmguardian não foi bem-sucedida; manutenção, o backend é marcado como não pronto para receber conexões pelo administrador, esta opção é útil para tarefas de manutenção do backend.

Objeto da Sessão

Campo Tipo Descrição
cliente Tanga Identificador exclusivo do cliente.
id Tanga Identificador exclusivo de back-end atribuído ao cliente.
serviço Tanga Identificador exclusivo do serviço atribuído ao cliente.
Sessão Tanga Identificador exclusivo de sessão. Este valor depende do tipo de persistência.

Exemplo de resposta para o 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
   }
}

Parâmetros de resposta em fazendas GSLB

Campo Tipo Descrição
backends Objeto[] Mostrar informações sobre os backends.
cliente objeto Estatísticas relacionadas ao cliente.
opção objeto Informações estendidas sobre o serviço.
servidor objeto Estatísticas relacionadas com o servidor.

Objeto de back-end

Campo Tipo Descrição
id Sessão Identificador exclusivo de back-end.
ip Tanga IP onde o serviço real está escutando.
porta Sessão Porto onde o serviço real está escutando.
serviço Tanga Nome do serviço usado como identificador exclusivo.
estado Tanga Status de back-end. Os valores possíveis são: up, o backend está pronto para receber conexões; down, o serviço detectou que o backend não está funcionando; manutenção, o backend é marcado como não pronto para receber conexões pelo administrador, esta opção é útil para tarefas de manutenção do backend.

Objeto do cliente

Campo Tipo Descrição
edns_big Sessão Respostas que foram maiores que os bytes 512.
edns_tc Sessão O tamanho do buffer de dns estendido especificado do cliente era muito pequeno para os dados solicitados.
recvfail Sessão Número de erros do UDP, em que o sistema operacional indicava que algo de ruim acontecia ao recebê-lo.
Reqs Sessão Número total de solicitações de UDP manipuladas pelo servidor.
sendfail Sessão Número de erros do UDP, em que o SO indicou que algo de ruim aconteceu no envio.
tc Sessão Respostas que foram truncadas com o conjunto de bits TC.

Objeto estendido

Campo Tipo Descrição
badvers Sessão Pedido que tinha um EDNS OPT-RR com uma versão não suportada.
desistiu Sessão Pedidos ignorados por formato incorreto.
edns Sessão Pedido continha um EDNS OPT-RR.
edns_clientsub Sessão Subconjunto de pedidos de edns que especificaram a opção edns_client_subnet.
formerr Sessão O pedido foi mal formatado, mas foi sensato o suficiente para enviar uma resposta com o código FORMERR.
noerror Sessão Solicitações bem sucedidas.
notimp Sessão Serviço solicitado não implementado por este daemon, como solicitações de transferência de zona.
nxdomain Sessão Solicitar um nome de domínio inexistente.
recusou Sessão A solicitação foi recusada pelo servidor porque o servidor não é autoritativo para o nome consultado.
v6 Sessão Solicitação de um cliente IPv6.

Objeto do servidor

Campo Tipo Descrição
recvfail Sessão Número de erros de TCP, onde o sistema operacional indicava que algo de ruim acontecia ao receber.
Reqs Sessão Número total de solicitações TCP manipuladas pelo servidor.
sendfail Sessão Número de erros do TCP, em que o SO indicou que algo de ruim aconteceu no envio.

Exemplo de resposta para o 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" : "fgDOWN"
      },
      {
         "established" : null,
         "id" : 5,
         "ip" : "192.168.5.100",
         "pending" : 0,
         "port" : "8080",
         "status" : "up"
      }
   ],
   "description" : "List farm stats"
}

Parâmetros de resposta em fazendas L4xNAT

A resposta será um JSON com chave backends e valorize um array de objetos com os parâmetros abaixo.

Objeto de back-end:

Campo Tipo Descrição
estabelecido Sessão Número total de conexões estabelecidas atualmente.
id Sessão Identificador exclusivo de back-end.
ip Tanga IP onde o serviço real está escutando.
pendente Sessão Número de conexões pendentes.
porta Sessão Porto onde o serviço real está escutando.
estado Tanga Status de back-end. Os valores possíveis são: up, o backend está pronto para receber conexões; fgDOWN, o guardião da fazenda detectou que o backend não está funcionando; manutenção, o backend é marcado como não pronto para receber conexões pelo administrador, esta opção é útil para tarefas de manutenção do backend.

As estatísticas de farms de link de dados não estão disponíveis atualmente.

Mostrar status do módulo

Mostrar status do módulo

Exemplo de solicitação:

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

GET /stats/farms/modules

Obtenha um resumo das estatísticas dos módulos. Esta chamada mostra o status de cada módulo, o número de configurados, o número de farms colocados e para cima.

A definição sobre módulos está em Fazendas seção.

Exemplo de resposta:

{
   "description" : "Module status",
   "params" : {
      "dslb" : {
         "down" : 1,
         "total" : 2,
         "up" : 1
      },
      "gslb" : {
         "down" : 0,
         "total" : 1,
         "up" : 1
      },
      "lslb" : {
         "down" : 2,
         "total" : 4,
         "up" : 2
      }
   }
}

Parâmetros de resposta

A resposta será um JSON com três chaves: dslb, gslb e assim lslb.

Campo Tipo Descrição
down Sessão Número de fazendas paradas. Essas fazendas são paradas pelo administrador do sistema.
total Sessão Número de fazendas totais.
up Sessão Número de farms em execução.

Mostrar estatísticas do módulo

Mostrar estatísticas do módulo

Exemplo de solicitação:

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

GET /stats/farms/modules/<module>

Mostrar estatísticas de farms de um módulo especificado.

Os valores disponíveis para o módulo parâmetro são: lslb, gslb or dslb.

Exemplo de resposta:

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

Parâmetros de resposta

A resposta será um objeto JSON com informações sobre farms no módulo.

Campo Tipo Descrição
estabelecido Sessão Número total de conexões estabelecidas atualmente.
farmname Tanga Nome do farm, identificador exclusivo para farms.
pendente Sessão Número de conexões pendentes.
perfis Tanga Tipo de fazenda. Os valores possíveis são: link de dados, l4xnat, http, https or gslb. Cada perfil é definido na própria seção.
estado Tanga Status da fazenda. Os valores possíveis são: upa fazenda está em execução; down, a fazenda está parada ou reinicialização necessária, o farm precisa ser reiniciado para que as alterações mais recentes entrem em vigor.
vip Tanga IP do farm, onde o serviço virtual está escutando.
vport Tanga Porta da fazenda, onde o serviço virtual está escutando.

Monitoramento - Gráficos

Esta seção é útil para monitorar o sistema do balanceador de carga interno para detectar problemas por meio dos parâmetros de uso da CPU, memória de troca, memória RAM, todas as interfaces nework configuradas, carga e armazenamento em disco rígido.

Além disso, você poderá acessar o histórico semanal, mensal e anual.

Gráficos com informações são respondidos no formato base64.

Listar gráficos disponíveis

Listar gráficos disponíveis

Exemplo de solicitação:

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

GET /graphs

Mostrar um objeto com todos os gráficos disponíveis no sistema. Mostra a possível solicitação que pode ser feita.

Exemplo de resposta:

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

Parâmetros de resposta

A resposta será um JSON três tipos de gráficos, fazendas, interfaces de e assim sistema.

Campo Tipo Descrição
fazendas Corda[] Lista de gráficos agrícolas disponíveis.
interfaces de Corda[] Lista de gráficos de interfaces disponíveis.
sistema Objeto[] Lista de gráficos do sistema disponíveis. A matriz tem um objeto com uma matriz que indica pontos de montagem de disco.

Objeto do sistema:

Objeto de sistema contém uma lista de matriz relacionada ao sistema e um objeto de disco com o próximo formato.

Campo Tipo Descrição
disco Corda[] Os valores desta matriz são todos existentes pontos de montagem no sistema, cada um tem gráficos disponíveis.

Mostrar gráficos

Mostrar gráficos

Solicitar exemplo para um farm:

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

Solicitar exemplo para uma interface:

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

Solicitar exemplo para um disco:

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

GET /graphs/<graph>

Os valores disponíveis para gráfico são:

Valor Descrição
farms/<farmname> farmname, identificador exclusivo de farm.
interfaces/<interface> interface, identificador exclusivo de interface.
system/<system> sistema, possíveis gráficos do sistema são: cpu, carregar, RAM or trocar.
system/disk/<mount point> ponto de montagemé um valor de disco objeto, retornado pela chamada 'GET / graphs'.

Exemplo de resposta:

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

Parâmetros de resposta

Campo Tipo Descrição
freqüência Tanga Período de tempo usado para gerar o gráfico. Os valores possíveis são: diariamente, semanal, mensal or anual.
gráficos Tanga Gráfico no formato base 64.

Mostrar gráfico de frequência

Mostrar gráfico de frequência

Solicitar exemplo para um farm:

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

Solicitar exemplo para uma interface:

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

Solicitar exemplo para um disco:

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

GET /graphs/<graph>/<frequency>

Os valores disponíveis para gráfico são:

Valor Descrição
farms/<farmname> farmname, identificador exclusivo de farm.
interfaces/<interface> interface, identificador exclusivo de interface.
system/<system> sistema, possíveis gráficos do sistema são: cpu, carregar, RAM or trocar.
system/disk/<mount point> ponto de montagemé um valor de disco objeto, retornado pela chamada 'GET / graphs'.

Os valores disponíveis para freqüência são:

Campo Tipo Descrição
freqüência Tanga Período de tempo usado para gerar o gráfico. Os valores possíveis são: diariamente, semanal, mensal or anual.

Exemplo de resposta:

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

Parâmetros de resposta

Campo Tipo Descrição
gráficos Tanga Gráfico no formato base 64.

IPDS

Este módulo é a implementação de um IPS (Sistema de Prevenção de Intrusões) e IDS Sistema de Detecção de Intrusão (Intrusion Detection System) para oferecer ao usuário uma camada de segurança. O módulo IPDS inspeciona o tráfego antes de alcançar os módulos de balanceamento de carga LSLB or GSLB, se o tráfego for detectado como malicioso, será rejeitado.

Funciona aplicando regras de segurança ao sistema que serão definidas como objeto de natureza diferente. Cada um oferece uma solução para ação mal-intencionada ou suspeita externa. Esta ferramenta ajuda os administradores do sistema a controlar ameaças e ataques.

As regras disponíveis para aplicar a Zevenet podem ser listas negras e assim DoS.

IPDS - Listas Negras

As listas negras permite que os usuários usem listas para filtrar ou permitir o tráfego de acordo com os IPs de origem (Incomming traffic).

Existem dois tipos de listas:

  1. Comandos remotos: As listas são obtidas de um URL, essas listas não são modificáveis ​​e podem ser transferidas para download.
  2. Local: os usuários podem criar suas próprias listas com uma determinada política, negar se o IP de entrada coincide, então o tráfego será rejeitado ou permitir se o IP de entrada coincidir, o tráfego será permitido.

Este módulo inclui pré-carregado listas fornecidas pela equipe de Zevenet, a lista está pronta para ser aplicada às fazendas. Além disso, os usuários podem criar suas próprias listas personalizadas.

Várias listas podem ser aplicadas ao mesmo farm, se o IP de origem corresponder em alguma da lista, o tráfego será permitido ou negado dependendo da política de lista negra. No momento em que o IP coincide, nenhuma outra verificação da lista negra é feita ao IP de origem.

Se um IP de origem estiver em duas listas diferentes negar e assim permitir, então sempre a política de permissão é avaliada primeiro.

Listar todas as regras de listas negras

Listar todas as listas negras

Exemplo de solicitação:

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

GET /ipds/blacklists

Lista todas as listas negras criadas pelo usuário ou pré-carregadas no sistema que podem ser aplicadas aos farms.

Exemplo de resposta:

{
   "description" : "Get black lists",
   "params" : [
      {
         "farms" : [],
         "name" : "china",
         "policy" : "deny",
         "preload" : "true",
         "type" : "local"
      },
      {
         "farms" : [],
         "name" : "russia",
         "policy" : "deny",
         "preload" : "true",
         "type" : "local"
      },
      {
         "farms" : [],
         "name" : "northkorea",
         "policy" : "deny",
         "preload" : "true",
         "type" : "local"
      },
      {
         "farms" : [
            "FarmHttp1",
            "FarmGslb1",
         ],
         "name" : "remoteList",
         "policy" : "deny",
         "preload" : "false",
         "type" : "remote"
      },
      {
         "farms" : [],
         "name" : "myWhiteList",
         "policy" : "allow",
         "preload" : "false",
         "type" : "local"
      },
   ]
}

Parâmetros de resposta

A resposta será um objeto JSON com um conjunto de chaves para params. O valor disso será uma matriz de objetos da lista negra, cada um contendo os atributos-chave abaixo.

Campo Tipo Descrição
fazendas Corda[] Lista de farms onde a lista negra é aplicada.
nome Tanga Nome da lista negra. É usado como identificador exclusivo.
Privacidade Tanga Ação para aplicar à fonte. As opções são: negar, bloqueia o tráfego de entrada de fontes da lista; ou permitir aceitar o tráfego de fontes da lista.
pré-carga Tanga Os valores possíveis são: verdadeiro, a lista negra foi pré-carregada no sistema; ou falso, a lista negra foi criada pelo administrador do sistema.
tipo Tanga Onde a lista é salva e quem a mantém. Os valores são: local, a lista é salva no sistema local e pode ser modificada localmente ou remoto, a lista é baixada da fonte remota através de um url, Não pode ser modificado localmente, portanto, as modificações precisam ser feitas na fonte remota.

Recuperar uma regra de lista negra

Recuperar lista negra

Exemplo de solicitação:

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

GET /ipds/blacklists/<name>

Mostrar os parâmetros de configuração e descrição da lista negra. nome é o identificador exclusivo da lista negra.

Parâmetros de resposta

Exemplo de lista local de resposta:

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

Objeto de lista negra local:

Campo Tipo Descrição
fazendas Corda[] Lista de farms onde a lista negra é aplicada.
nome Tanga Nome da lista negra. É usado como identificador exclusivo.
Privacidade Tanga Ação para aplicar a uma fonte. As opções são: negar, bloqueia o tráfego de entrada de fontes da lista; ou permitir aceitar o tráfego de fontes da lista.
pré-carga Tanga Os valores possíveis são: verdadeiro, a lista negra foi pré-carregada no sistema; ou falso, a lista negra foi criada pelo administrador do sistema.
tipo Tanga Onde a lista é salva e quem a mantém. Os valores são: local, a lista é salva no sistema e mantida pelo administrador do sistema; ou remoto, a lista é baixada de um URL remoto.
fontes Objeto[] Lista de IPs que a lista verifica. Formato de rede de origem aceito: Endereço de rede / máscara bit ou IP

Exemplo de lista remota de resposta:

{
   "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
      },
      "update_status" : "This list isn't downloaded yet.",
      "type" : "remote",
      "url" : "http://192.168.10.10/lists/test.txt"
   }
}

Objeto de lista negra remota:

Campo Tipo Descrição
fazendas Corda[] Lista de farms onde a lista negra é aplicada.
nome Tanga Nome da lista negra. É usado como identificador exclusivo.
Privacidade Tanga Ação para aplicar a uma fonte. As opções são: negar, bloqueia o tráfego de entrada de fontes da lista; ou permitir aceitar o tráfego de fontes da lista.
pré-carga Tanga Os valores possíveis são: verdadeiro, a lista negra foi pré-carregada no sistema; ou falso, a lista negra foi criada pelo administrador do sistema.
tipo Tanga Onde a lista é salva e quem a mantém. Os valores são: local, a lista é salva no sistema e mantida pelo administrador do sistema; ou remoto, a lista é baixada de um controle remoto url.
fontes Objeto[] IPs de origem que listam as verificações. Se a lista é de tipo remoto então o conteúdo da lista não é mostrado até o primeiro download.
atualizar o status Tanga Status do último download da lista e data da última atualização bem-sucedida no sistema local.
url Tanga De onde a lista remota é baixada. O formato remoto deve ser uma lista de um fonte rede / máscara de bits ou IP por linha.
freqüência Tanga Frequência de atualização da lista remota. As opções são: diariamente, atualizar todos os dias, uma vez ou periodicamente, isso é indicado em frequency_type campo; semanal, atualize uma vez por semana; ou mensal, atualize uma vez por mês.
frequency_type Tanga Este parâmetro completa o freqüência diariamente quando seu valor é diário. Os valores possíveis são: exato. defina uma hora no dia; ou período, defina um período para atualizar durante o dia.
dia String ou Número Este parâmetro conclui o parâmetro freqüência quando frecuencia valor é semanal or mensal. Se frecuencia is semanal esse parâmetro deve ser o da semana (segunda-feira, terça-feira, quarta-feira, quinta-feira, sexta-feira, sábado or domingo) E se freqüência valor é mensal então esse parâmetro deve ser um dia do mês (um número entre 1 e assim 31).
tempo objeto É uma estrutura que depende dos campos freqüência.

Objeto de hora para frequência diária e período frequency_type

Campo Tipo Descrição
período Sessão Com que frequência a lista é atualizada.
unidade Tanga Unidade do período. As opções são: minutos, indique que a lista será atualizada a cada minuto configurado; ou horas, a lista será atualizada a cada hora configurada.

Objeto de tempo para outras frequências

Campo Tipo Descrição
hora Sessão Hora para atualizar a lista. O valor deve ser um número entre 0 e assim 23.
minutos Sessão Minutos para atualizar a lista. O valor deve ser um número entre 0 e assim 59.

Objeto de fontes

Campo Tipo Descrição
id Sessão Identificador exclusivo de origem na lista.
fonte Tanga Endereços IP ou segmentos de rede que a lista verifica.

Criar uma regra de lista negra

Crie uma nova lista negra

Solicitar exemplo para uma lista local:

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

Solicitar exemplo para uma lista remota:

curl -k -X POST -H "ZAPI_KEY: <ZAPI_KEY_STRING>" -H 'Content-Type: application/json'
-d '{"name":"newListRem", "type":"remote", "url":"https://192.168.10.12/lists/test.txt"}'
https://<zenlb_server>:444/zapi/v3/zapi.cgi/ipds/blacklists

POST /ipds/blacklists

Crie uma lista negra para ser usada em farms. As listas negras podem ser de dois tipos:

  1. Local: as fontes são adicionadas pelo usuário. A lista é salva localmente.
  2. Remoto: as fontes são obtidas de um local remoto. Esta localização é indicada por um URL. O formato de lista remota suportado é um Endereço de rede / bit de máscara or IP linha por linha.

Solicitar Parâmetros

Campo Tipo Descrição Exigido
nome Tanga Nome da lista negra. É usado como identificador exclusivo. verdadeiro
tipo Tanga Onde a lista é salva e quem a mantém. Os valores são: local, a lista é salva no sistema e manutenção para o sistema de administração; ou remoto, a lista é retirada de um serviço externo por meio de url e o serviço do administrador fará a manutenção da lista. verdadeiro
Privacidade Tanga Ação para aplicar a uma fonte. As opções são: negar, bloqueia o tráfego de entrada de fontes da lista; ou permitir aceitar o tráfego de fontes da lista. O valor padrão é deny.
url Tanga De onde a lista remota é baixada. O formato remoto deve ser uma lista de um fonte por linha no formato Endereço de rede / bit de máscara or IP. true para lista remota
{
   "description" : "Post list list1",
   "params" : {
      "farms" : [],
      "name" : "newListLoc",
      "policy" : "deny",
      "preload" : "false",
      "type" : "local"
   }
}

Parâmetros de resposta

A resposta será um objeto JSON com um conjunto de chaves para params. O valor disso será uma matriz de objetos de lista negra, cada um contendo os próximos atributos-chave.

Campo Tipo Descrição
fazendas Corda[] Lista de farms onde a lista negra é aplicada.
nome Tanga Nome da lista negra. É usado como identificador exclusivo.
Privacidade Tanga Ação para aplicar a uma fonte. As opções são: negar, bloqueia o tráfego de entrada de fontes da lista; ou permitir aceitar o tráfego de fontes da lista.
pré-carga Tanga Os valores possíveis são: verdadeiro, a lista negra foi pré-carregada no sistema; ou falso, a lista negra foi criada para o administrador do sistema.
tipo Tanga Onde a lista é salva e quem a mantém. Os valores são: local, a lista é salva no sistema e manutenção para o sistema de administração; ou remoto, a lista é retirada de um serviço externo por meio de url e o serviço do administrador fará a manutenção da lista.

Modificar uma regra de lista negra

Modifique uma lista negra

Solicitar exemplo para uma lista local:

curl -k -X PUT -H 'Content-Type: application/json' -H "ZAPI_KEY: <ZAPI_KEY_STRING>" 
-d '{"policy":"allow","source":["78.12.0.4","68.100.15.5","65.12.12.95"]}'
https://<zenlb_server>:444/zapi/v3/zapi.cgi/ipds/blacklists/whiteList

PUT /ipds/blacklists/<name>

Modifique a configuração de uma regra de lista negra. nome é o identificador exclusivo da lista negra.

Solicitar parâmetros para uma lista local:

Campo Tipo Descrição
nome Tanga Nome da lista negra. É usado como identificador exclusivo. Só é modificável em nenhum pré-carga listas.
Privacidade Tanga Ação para aplicar a uma fonte. As opções são: negar, bloqueia o tráfego de entrada de fontes da lista; ou permitir aceitar o tráfego de fontes da lista.
fonte Corda[] É uma lista de endereços IP ou segmentos de rede que a lista verifica. A fim de alterar a mudança apenas uma fonte, consulte a seção Documentação IPDS> Listas negras> Modificar uma fonte de uma lista negra. Fontes apenas são modificadas em nenhum pré-carga listas.

Exemplo de resposta:

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

Parâmetros de resposta

A resposta será um json com todos os valores solicitados atualizados. Veja o exemplo de resposta para mais informações.

Solicitar exemplo para uma lista remota:

curl -k -X PUT -H 'Content-Type: application/json' -H "ZAPI_KEY: <ZAPI_KEY_STRING>" 
-d '{"name":"remoteList","url":"http://192.168.10.10/lists/test.txt","policy":"deny","frequency":"daily","frequency_type":"exact","time":{"hour":1,"minutes":0}}' 
https://<zenlb_server>:444/zapi/v3/zapi.cgi/ipds/blacklists/newListRem

Solicite exemplo para atualizar uma lista a cada 2 horas:

curl -k -X PUT -H 'Content-Type: application/json' -H "ZAPI_KEY: <ZAPI_KEY_STRING>" 
-d '{"frequency":"daily","frequency_type":"period","time":{"period":2,"units":"hours"}}' 
https://<zenlb_server>:444/zapi/v3/zapi.cgi/ipds/blacklists/newListRem

Solicite exemplo para atualizar uma lista todos os dias no 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://<zenlb_server>:444/zapi/v3/zapi.cgi/ipds/blacklists/newListRem

Solicite exemplo para atualizar todas as segundas-feiras no 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://<zenlb_server>:444/zapi/v3/zapi.cgi/ipds/blacklists/newListRem

Peça um exemplo para atualizar o dia 1 do mês no 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://<zenlb_server>:444/zapi/v3/zapi.cgi/ipds/blacklists/newListRem

Solicitar parâmetros para uma lista remota

Campo Tipo Descrição
fazendas Corda[] Lista de farms onde a lista negra é aplicada.
nome Tanga Nome da lista negra. É usado como identificador exclusivo.
Privacidade Tanga Ação para aplicar a uma fonte. As opções são: negar, bloqueia o tráfego de entrada de fontes da lista; ou permitir aceitar o tráfego de fontes da lista.
url Tanga De onde a lista remota é baixada.
freqüência Tanga Frequência de atualização da lista remota. As opções são: diariamente, atualizar todos os dias, uma vez ou periodicamente, isso é indicado em frequency_type campo; semanal, atualize uma vez por semana; ou mensal, atualize uma vez por mês.
frequency_type Tanga Este parâmetro completa o freqüência diariamente quando seu valor é diário. Os valores possíveis são: exato. defina uma hora no dia; ou período, defina um período para atualizar durante o dia.
dia String ou Número Este parâmetro completa o freqüência quando seu valor é semanal ou mensal. Se for semanal, esse parâmetro deve ser um dia da semana (segunda-feira, terça-feira, quarta-feira, quinta-feira, sexta-feira, sábado or domingo) mais se freqüência é mensal, este parâmetro deve ser um dia de mês (número entre 1 e assim 31).
tempo objeto É uma estrutura que depende dos campos freqüência.

Objeto do período de tempo

Estes são os campos quando um período de tempo será configurado.

É necessário configurar freqüência com o valor diariamentee frequency_type com o valor período.

Campo Tipo Descrição
período Sessão Com que frequência atualiza a lista.
unidade Tanga Unidade do período. As opções são: minutos or horas, indique a unidade de medida para as atualizações da lista.

Objeto de hora exata

Estes são os campos quando um horário exato será configurado.

Este objeto é usado com as próximas configurações:

freqüência campo tem o valor diariamente e assim frequency_type is exato.

freqüência campo tem o valor semanal e assim dia é o dia da semana em que a lista é atualizada.

freqüência campo tem o valor mensal e assim dia é o número do mês do dia em que a lista é atualizada.

Campo Tipo Descrição
hora Sessão Hora para atualizar a lista. O valor deve ser um número entre 0 e assim 23.
minutos Sessão Minutos para atualizar a lista. O valor deve ser um número entre 0 e assim 59.

Exemplo de resposta:

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

Parâmetros de resposta

A resposta será um json com toda a configuração da lista. Veja o exemplo de resposta para mais informações.

Atualizar uma regra de lista negra remota

Atualizar uma lista negra remota

Solicitar exemplo para uma lista remota:

curl -k -X POST -H 'Content-Type: application/json' -H "ZAPI_KEY: <ZAPI_KEY_STRING>" 
-d '{"action":"update"}' 
https://<zenlb_server>:444/zapi/v3/zapi.cgi/ipds/blacklists/remoteList/actions

POST /ipds/blacklists/<name>/actions

Atualize uma lista remota, baixando as fontes. nome é o identificador exclusivo da lista negra.

Solicitar parâmetros para uma lista remota

Campo Tipo Descrição Exigido
açao Tanga Ação para enviar para a lista. Este parâmetro deve ser atualizar. verdadeiro

Exemplo de resposta:

{
   "description" : "Update a remote list",
   "update" : "Sync OK. Last update: 2017-02-01 05:31:57"
}

Parâmetros de resposta

A resposta será um json com o status de download. Veja o exemplo de resposta para mais informações.

Campo Tipo Descrição Exigido
atualizar Tanga Status do último download da lista e data da última atualização bem-sucedida.

Excluir uma regra de listas negras

Excluir uma lista de listas negras

Exemplo de solicitação:

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

DELETE /ipds/blacklists/<name>

Excluir uma determinada lista negra. nome é o identificador exclusivo da lista negra.

Exemplo de resposta:

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

Listar fonte de uma lista negra

Listar fonte de uma lista negra

Exemplo de solicitação:

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

GET /ipds/blacklists/<name>/sources

Listar fontes de uma lista negra. nome é o identificador exclusivo da lista negra.

Exemplo de resposta:

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

Parâmetros de resposta

A resposta será um JSON com a chave params e matriz de objeto de origem como valor.

Objeto de origem:

Campo Tipo Descrição
id Sessão Identificador exclusivo de origem na lista.
fonte Corda[] Endereços IP ou segmentos de rede que a lista verifica.

Adicionar uma fonte a uma lista negra

Adicionar uma fonte a uma lista negra

Exemplo de solicitação:

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

POST /ipds/blacklists/<name>/sources

Empurre uma nova fonte para uma lista negra. Disponível apenas para listas locais e listas não pré-carregadas. nome é o identificador exclusivo da lista negra.

Solicitar Parâmetros

Campo Tipo Descrição Exigido
fonte Tanga Endereço IP ou segmento de rede que a lista verifica. verdadeiro

Exemplo de resposta:

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

Parâmetros de resposta

A resposta será um json com todos os valores solicitados atualizados. Veja o exemplo de resposta para mais informações.

Modificar uma fonte de uma lista negra

Modificar uma fonte de uma lista negra

Exemplo de solicitação:

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

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

Modifique uma fonte de uma lista negra.

nome é o identificador exclusivo da lista negra. id é o identificador exclusivo de origem.

Solicitar Parâmetros

Campo Tipo Descrição Exigido
fonte Tanga Endereço IP ou segmento de rede que a lista verifica. verdadeiro

Exemplo de resposta:

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

Parâmetros de resposta

A resposta será um json com a fonte atualizada. Veja o exemplo de resposta para mais informações.

Excluir uma fonte de uma lista negra

Excluir uma fonte de uma lista negra

Exemplo de solicitação:

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

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

Remover uma fonte de uma lista negra.

nome é o identificador exclusivo da lista negra. id é o identificador exclusivo de origem.

Exemplo de resposta:

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

IPDS - DoS

A proteção DoS tem diferentes tipos de regras, dependendo da regra de proteção, é aplicada a uma parte diferente do balanceador. Então existem sistema regras que se aplicam a todos os balanceadores. Regras orientadas para conexão, específicas para fazenda trabalhando com o protocolo TCP. Antes de aplicar uma regra a um fazenda, crie um objeto com a configuração desejada. Em seguida, aplicou a todas as fazendas que você precisa. o sistema regras já têm o objeto criado e só tem uma configuração possível. Uma vez configurado, habilite-o.

Regras DoS Farm

É necessário criar um objeto antes de aplicar uma regra a um farm.

limitsec

Limite de nova conexão por segundo e fonte. Apenas disponível em farms funciona com o protocolo TCP.

Campo Tipo Descrição
nome Tanga É o identificador exclusivo da regra de objeto.
limitar Sessão É o número máximo de novas conexões por segundo para uma fonte.
limit_burst Sessão É um pico permitido de novas conexões. Uma unidade de burst é regenerada quando os segundos de “limite” passam.

limitconns

Limite o total de conexões atuais por fonte. Apenas disponível em farms funciona com o protocolo TCP.

Campo Tipo Descrição
nome Tanga É o identificador exclusivo da regra de objeto.
limit_conns Sessão É o número máximo de conexão atual de uma fonte.

bogustcpflags

Verifique se o protocolo TCP é respeitado. Esta regra não possui parâmetros de configuração, criando apenas um objeto que você poderá usar em todos os farms. Apenas disponível em farms funciona com o protocolo TCP.

Campo Tipo Descrição
nome Tanga É o identificador exclusivo da regra de objeto.

limitrst

Número limite de solicitação de conexão de redefinição por segundo. Apenas disponível em farms funciona com o protocolo TCP.

Campo Tipo Descrição
nome Tanga É o identificador exclusivo da regra de objeto.
limitar Sessão É o número máximo de solicitações de redefinição por segundo para uma fonte.
limit_burst Sessão É um pico permitido de solicitação de reinicialização. Uma unidade de burst é regenerada quando os segundos de “limite” passam.

Regras DoS do sistema

Nas regras DoS do sistema, o objeto não foi criado.

sshbruteforce

Limite da nova conexão ssh.

Campo Tipo Descrição
nome Tanga É o identificador exclusivo da regra de objeto. O identificador foi definido como ssh_brute_force.
visitas Sessão Número de ocorrências para a origem antes que as conexões sejam bloqueadas.
tempo Sessão Tempo em segundos para redefinir o visitas contrariar.
estado Tanga Mostrar o status da regra, os valores possíveis são: up o sistema elimina as solicitações icmp; ou down o sistema permite as solicitações icmp.

dropicmp

O sistema solta o pedido icmp.

Campo Tipo Descrição
nome Tanga É o identificador exclusivo da regra de objeto. O identificador foi definido como drop_icmp.
estado Tanga Mostrar o status da regra, os valores possíveis são: up o sistema elimina as solicitações icmp; ou down o sistema permite as solicitações icmp.

Listar todo o tipo de regras DoS

Listar todo o tipo de regras DoS

Exemplo de solicitação:

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

GET /ipds/dos/rules

Mostrar uma lista de regras DoS. Eles não são objeto, mas tipos para defini-lo.

Cada regra tem diferentes parâmetros de configuração

Exemplo de resposta:

{
   "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"
         },
         {
            "description" : "Drop icmp packets",
            "rule" : "dropicmp"
         }
      ]
   }
}

Parâmetros de resposta

A resposta JSON tem duas matrizes fazenda e assim sistema. Cada item de matriz é um tipo de regra a ser aplicada a um farm do sistema.

Campo Tipo Descrição
descrição Tanga Brevemente descrição da regra.
governar Tanga digite identificador exclusivo de regra.

Listar todas as regras DoS

Listar todos os objetos DoS

Exemplo de solicitação:

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

GET /ipds/dos

Mostrar configuração sobre todos os objetos DoS existentes.

Exemplo de resposta:

{
   "description" : "Get DoS settings.",
   "params" : [
      {
         "farms" : [],
         "limit_conns" : 10,
         "name" : "limitConnHttp",
         "rule" : "limitconns",
         "type" : "farm"
      },
      {
         "farms" : [],
         "limit" : 2,
         "limit_burst" : 2,
         "name" : "limitUsers",
         "rule" : "limitsec",
         "type" : "farm"
      },
      {
         "hits" : 5,
         "name" : "ssh_brute_force",
         "port" : 22,
         "rule" : "sshbruteforce",
         "status" : "down",
         "time" : 180,
         "type" : "system"
      },
      {
         "name" : "drop_icmp",
         "rule" : "dropicmp",
         "status" : "down",
         "type" : "system"
      },
      {
         "farms" : [],
         "name" : "tcpAuth",
         "rule" : "bogustcpflags",
         "type" : "farm"
      },
      {
         "farms" : [],
         "limit" : 2,
         "limit_burst" : 2,
         "name" : "dos4",
         "rule" : "limitrst",
         "type" : "farm"
      },
   ]
}

Parâmetros de resposta

A resposta será um array com todos os objetos DoS disponíveis.

Campo Tipo Descrição
nome Tanga É o identificador exclusivo da regra de objeto.
governar Tanga É o identificador de regra de tipo.
tipo Tanga Os valores possíveis são: fazenda, a regra se aplica a fazendas; ou sistema, a regra se aplica ao sistema.

Dependentemente depende da regra, o objeto contém os próximos parâmetros

limitsec

Campo Tipo Descrição
fazendas Corda[] Fazendas onde a regra é aplicada.
limitar Sessão É o número máximo de novas conexões por segundo para uma fonte.
limit_burst Sessão É um pico permitido de novas conexões. Uma unidade de burst é regenerada quando os segundos de “limite” passam.

limitconns

Campo Tipo Descrição
fazendas Corda[] Fazendas onde a regra é aplicada.
limit_conns Sessão É o número máximo de conexão atual de uma fonte.

bogustcpflags

Campo Tipo Descrição
fazendas Corda[] Fazendas onde a regra é aplicada.

limitrst

Campo Tipo Descrição
fazendas Corda[] Fazendas onde a regra é aplicada.
limitar Sessão É o número máximo de solicitações de redefinição por segundo para uma fonte.
limit_burst Sessão É um pico permitido de solicitação de reinicialização. Uma unidade de burst é regenerada quando os segundos de “limite” passam.

sshbruteforce

Campo Tipo Descrição
visitas Sessão Número de ocorrências para a origem antes que as conexões sejam bloqueadas.
tempo Sessão Tempo em segundos para redefinir o visitas contrariar.
estado Tanga Mostrar o status da regra, os valores possíveis são: up o sistema elimina as solicitações icmp; ou down o sistema permite as solicitações icmp.

dropicmp

Campo Tipo Descrição
estado Tanga Mostrar o status da regra, os valores possíveis são: up o sistema elimina as solicitações icmp; ou down o sistema permite as solicitações icmp.

Recuperar uma regra DoS

Recuperar uma regra DoS

Solicite exemplo para regra de farm:

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

Exemplo de solicitação para regra do sistema:

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

GET /ipds/dos/<name>

Cada objeto DoS pode ter uma configuração diferente. nome é o identificador exclusivo da regra DoS.

Exemplo de resposta para regra de farm:

{
   "description" : "Get DoS limitConnHttp settings",
   "params" : {
      "farms" : [],
      "limit_conns" : 10,
      "name" : "limitConnHttp",
      "rule" : "limitconns",
      "type" : "farm"
   }
}

Exemplo de resposta para regra do 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"
   }
}

Parâmetros de resposta

A resposta será um array com todos os objetos DoS disponíveis.

Campo Tipo Descrição
nome Tanga É o identificador exclusivo da regra de objeto.
governar Tanga É o identificador de regra de tipo.
tipo Tanga Os valores possíveis são: fazenda, a regra se aplica a fazendas; ou sistema, a regra se aplica ao sistema.

Dependentemente depende da regra, o objeto contém os próximos parâmetros

limitsec

Campo Tipo Descrição
fazendas Corda[] Fazendas onde a regra é aplicada.
limitar Sessão É o número máximo de novas conexões por segundo para uma fonte.
limit_burst Sessão É um pico permitido de novas conexões. Uma unidade de burst é regenerada quando os segundos de “limite” passam.

limitconns

Campo Tipo Descrição
fazendas Corda[] Fazendas onde a regra é aplicada.
limit_conns Sessão É o número máximo de conexão atual de uma fonte.

bogustcpflags

Campo Tipo Descrição
fazendas Corda[] Fazendas onde a regra é aplicada.

limitrst

Campo Tipo Descrição
fazendas Corda[] Fazendas onde a regra é aplicada.
limitar Sessão É o número máximo de solicitações de redefinição por segundo para uma fonte.
limit_burst Sessão É um pico permitido de solicitação de reinicialização. Uma unidade de burst é regenerada quando os segundos de “limite” passam.

sshbruteforce

Campo Tipo Descrição
visitas Sessão Número de ocorrências para a origem antes que as conexões sejam bloqueadas.
tempo Sessão Tempo em segundos para redefinir o visitas contrariar.
estado Tanga Mostrar o status da regra, os valores possíveis são: up o sistema elimina as solicitações icmp; ou down o sistema permite as solicitações icmp.

dropicmp

Campo Tipo Descrição
estado Tanga Mostrar o status da regra, os valores possíveis são: up o sistema elimina as solicitações icmp; ou down o sistema permite as solicitações icmp.

Crie uma regra DoS

Crie uma regra DoS

Exemplo de solicitação:

curl -k -X POST -H 'Content-Type: application/json' -H "ZAPI_KEY: <ZAPI_KEY_STRING>" 
-d '{"name":"limitUsers", "rule":"limitsec"}'
https://<zenlb_server>:444/zapi/v3/zapi.cgi/ipds/dos

POST /ipds/dos

Crie um objeto DoS para usá-lo em farms quando for necessário.

Cada objeto DoS pode ter uma configuração diferente.

Solicitar Parâmetros

Campo Tipo Descrição Exigido
nome Tanga É o identificador exclusivo da regra de objeto. verdadeiro
governar Tanga É o identificador de regra de tipo. As opções são: limitconns, limitsec, limitrst or bogustcpflags. verdadeiro

Exemplo de resposta:

{
   "description" : "Post a DoS rule",
   "params" : {
      "farms" : [],
      "limit" : 2,
      "limit_burst" : 2,
      "name" : "limitUsers",
      "rule" : "limitsec",
      "type" : "farm"
   }
}

Parâmetros de resposta

A resposta será um json com a configuração padrão da regra criada. Veja o exemplo de resposta para mais informações.

Modificar uma regra DoS

Modificar uma regra DoS

Exemplo de solicitação:

curl -k -X PUT -H 'Content-Type: application/json' -H "ZAPI_KEY: <ZAPI_KEY_STRING>" 
-d '{"hits":"10","status":"up","time":"100"}'
https://<zenlb_server>:444/zapi/v3/zapi.cgi/ipds/dos/ssh_brute_force

PUT /ipds/dos/<name>

Modifique uma regra DoS. nome é o identificador exclusivo da regra DoS.

Solicitar Parâmetros

Cada tipo de regra pode ter parâmetros diferentes. Os parâmetros modificáveis ​​são os seguintes:

limitsec

Campo Tipo Descrição
limitar Sessão É o número máximo de novas conexões por segundo para uma fonte.
limit_burst Sessão É um pico permitido de novas conexões. Uma unidade de burst é regenerada quando os segundos de “limite” passam.

limitconns

Campo Tipo Descrição
limit_conns Sessão É o número máximo de conexão atual de uma fonte.

bogustcpflags

Não tem parâmetros.

limitrst

Campo Tipo Descrição
limitar Sessão É o número máximo de solicitações de redefinição por segundo para uma fonte.
limit_burst Sessão É um pico permitido de solicitação de reinicialização. Uma unidade de burst é regenerada quando os segundos de “limite” passam.

sshbruteforce

Campo Tipo Descrição
visitas Sessão Número de ocorrências para a origem antes que as conexões sejam bloqueadas.
tempo Sessão Tempo em segundos para redefinir o visitas contrariar.
estado Tanga Mostrar o status da regra, os valores possíveis são: up o sistema elimina as solicitações icmp; ou down o sistema permite as solicitações icmp.

dropicmp

Campo Tipo Descrição
estado Tanga Mostrar o status da regra, os valores possíveis são: up o sistema elimina as solicitações icmp; ou down o sistema permite as solicitações icmp.

Exemplo de resposta:

{
   "description" : "Put DoS rule settings",
   "params" : {
      "hits" : 10,
      "name" : "ssh_brute_force",
      "port" : 22,
      "rule" : "sshbruteforce",
      "status" : "up",
      "time" : 100,
      "type" : "system"
   },
   "success" : "true"
}

Parâmetros de resposta

A resposta será um json com todos os valores solicitados atualizados. Veja o exemplo de resposta para mais informações.

Excluir uma regra DoS

Excluir uma regra DoS

Exemplo de solicitação:

curl -k -X DELETE -H "ZAPI_KEY: <ZAPI_KEY_STRING>" 
https://<zenlb_server>:444/zapi/v3/zapi.cgi/ipds/dos/limitConnHttp

DELETE /ipds/dos/<name>

Regras do sistema não podem ser excluídas. Para desativá-lo, coloque o status em down. nome é o identificador exclusivo da regra DoS.

Exemplo de resposta:

{
   "description" : "Delete DoS rule",
   "message" : "Deleted limitConnHttp successful.",
   "success" : "true"
}

Instantâneo

As opções do sistema oferecem a possibilidade de personalizar os serviços em execução no balanceador e nos parâmetros globais.

Mostrar versão

Mostrar versão

Exemplo de solicitação:

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

GET /system/version

Mostrar informações sobre a versão do produto.

Exemplo de resposta:

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

Parâmetros de resposta

A resposta será um objeto JSON com os parâmetros abaixo.

Campo Tipo Descrição
appliance_version Tanga Versão de candidatura. Mostrar também hipervisor se for uma máquina virtual.
hostname Tanga Nome de anfitrião.
kernel_version Tanga Versão do kernel do Linux.
data do sistema Tanga Data do sistema.
zevenet_version Tanga Versão Zevenet.

Mostrar DNS

Mostrar DNS

Exemplo de solicitação:

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

GET /system/dns

Mostrar a configuração do serviço DNS.

Exemplo de resposta:

{
   "description" : "Get dns",
   "params" : {
      "primary" : "8.8.8.8",
      "secondary" : null
   }
}

Parâmetros de resposta

A resposta será um objeto JSON com os parâmetros abaixo.

Campo Tipo Descrição
primário Tanga DNS primário configurado no sistema.
secundário Tanga DNS secundário configurado no sistema.

Modificar DNS

Modificar DNS

Exemplo de solicitação:

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/zapi.cgi/system/dns

POST /system/dns

Modifique a configuração do serviço DNS.

Solicitar Parâmetros

Campo Tipo Descrição
primário Tanga DNS primário configurado no sistema.
secundário Tanga DNS secundário configurado no sistema.

Exemplo de resposta:

{
   "description" : "Post dns",
   "params" : {
      "primary" : "8.8.4.4",
      "secondary" : "8.8.8.8"
   }
}

Parâmetros de resposta

A resposta será um json com todos os valores solicitados atualizados. Veja o exemplo de resposta para mais informações.

Mostrar SSH

Mostrar SSH

Exemplo de solicitação:

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

GET /system/ssh

Mostrar a configuração do serviço SSH.

Solicitar Parâmetros

Campo Tipo Descrição
ouço Tanga IP do sistema onde o serviço SSH está escutando. o personagem * é usado para ouvir em todos os IPs configurados.
porta Tanga Porta configurada para o serviço SSH.

Exemplo de resposta:

{
   "description" : "Get ssh",
   "params" : {
      "listen" : "*",
      "port" : "22"
   }
}

Parâmetros de resposta

A resposta será um json com todos os valores solicitados atualizados. Veja o exemplo de resposta para mais informações.

Modifique o SSH

Modifique o SSH

Exemplo de solicitação:

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/zapi.cgi/system/ssh

POST /system/ssh

Modifique a configuração do serviço SSH.

Solicitar Parâmetros

A resposta será um objeto JSON com os parâmetros abaixo.

Campo Tipo Descrição
ouço Tanga IP do sistema onde o serviço SSH está escutando. o personagem * é usado para ouvir em todos os IPs configurados.
porta Tanga Porta configurada para o serviço SSH.

Exemplo de resposta:

{
   "description" : "Post ssh",
   "params" : {
      "listen" : "192.168.100.241",
      "port" : "22"
   }
}

Parâmetros de resposta

A resposta será um json com todos os valores solicitados atualizados. Veja o exemplo de resposta para mais informações.

Mostrar SNMP

Mostrar SNMP

Exemplo de solicitação:

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

GET /system/snmp

Mostrar a configuração do serviço SNMP.

Exemplo de resposta:

{
   "description" : "Get snmp",
   "params" : {
      "community" : "public",
      "ip" : "*",
      "port" : "161",
      "scope" : "0.0.0.0/0",
      "status" : "false"
   }
}

Parâmetros de resposta

A resposta será um objeto JSON com os parâmetros abaixo.

Campo Tipo Descrição
comunidade Tanga Nome da comunidade. Comunidade somente leitura usada.
ip Tanga IP da interface onde o serviço SNMP está sendo executado. É seguro manter todas as interfaces ativadas usando o personagem *.
porta Tanga Porta em que o serviço SNMP está sendo executado.
escopo Tanga IP ou sub-rede com acesso (IP / bit). IPs de cliente permitidos para acessar o serviço SNMPD, caso você queira permitir acesso somente a um IP, use o bit “/ 32”.
estado Tanga Status do serviço SNMP. Os valores possíveis são: verdadeiro, o serviço está sendo executado; ou falso, o serviço está parado.

Modifique o SNMP

Modifique o SNMP

Exemplo de solicitação:

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/zapi.cgi/system/snmp

POST /system/snmp

Modifique a configuração do serviço SNMP.

Solicitar Parâmetros

Campo Tipo Descrição
comunidade Tanga Nome da comunidade. Comunidade somente leitura usada.
ip Tanga IP da interface onde o serviço SNMP está sendo executado. É seguro manter todas as interfaces ativadas usando o personagem *.
porta Tanga Porta em que o serviço SNMP está sendo executado.
escopo Tanga IP ou sub-rede com acesso (IP / bit). IPs de cliente permitidos para acessar o serviço SNMPD, caso você queira permitir acesso somente a um IP, use o bit “/ 32”.
estado Tanga Status do serviço SNMP. Os valores possíveis são: verdadeiro, o serviço está sendo executado; ou falso, o serviço está parado.

Exemplo de resposta:

{
   "description" : "Post snmp",
   "params" : {
      "community" : "public",
      "ip" : "192.168.100.241",
      "port" : "170",
      "scope" : "0.0.0.0/0",
      "status" : "true"
   }
}

Parâmetros de resposta

A resposta será um json com todos os valores solicitados atualizados. Veja o exemplo de resposta para mais informações.

Recuperar licença

Recuperar licença

Exemplo de solicitação:

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

GET /system/license/<format>

Mostre a licença do Zevenet em um formato. O disponível formato valores são html or txt.

Mostrar NTP

Mostrar NTP

Exemplo de solicitação:

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

GET /system/ntp

Mostrar a configuração do serviço NTP.

Exemplo de resposta:

{
   "description" : "Get ntp",
   "params" : {
      "server" : "pool.ntp.org"
   }
}

Parâmetros de resposta

A resposta será um objeto JSON com os parâmetros abaixo.

Campo Tipo Descrição
servidor Tanga Servidor onde o cliente NTP faz as solicitações.

Modificar NTP

Modificar NTP

Exemplo de solicitação:

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/zapi.cgi/system/ntp

POST /system/ntp

Modifique a configuração do serviço NTP.

Solicitar Parâmetros

Campo Tipo Descrição
servidor Tanga Servidor onde o cliente NTP faz as solicitações.

Exemplo de resposta:

{
   "description" : "Post ntp",
   "params" : "pool.ntp.org"
}

Parâmetros de resposta

A resposta será um json com todos os valores solicitados atualizados. Veja o exemplo de resposta para mais informações.

Mostrar servidor HTTP

Mostrar servidor HTTP

Exemplo de solicitação:

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

GET /system/http

Mostrar a configuração do serviço HTTP. É onde a API e a GUI do Zevenet estão sendo executadas.

Exemplo de resposta:

{
   "description" : "Get http",
   "params" : {
      "ip" : "*",
      "port" : "444"
   }
}

Parâmetros de resposta

A resposta será um objeto JSON com os parâmetros abaixo.

Campo Tipo Descrição
ip Tanga IP onde o servidor HTTP está escutando. o personagem * é usado para ouvir em todos os IPs configurados.
porta Tanga Porta onde o serviço HTTP está escutando.

Modificar servidor HTTP

Modificar servidor HTTP

Exemplo de solicitação:

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/zapi.cgi/system/http

POST /system/http

Modifique a configuração do serviço HTTP.

Solicitar Parâmetros

Campo Tipo Descrição
ip Tanga IP onde o servidor HTTP está escutando. o personagem * é usado para ouvir em todos os IPs configurados.
porta Tanga Porta onde o serviço HTTP está escutando.

Exemplo de resposta:

{
   "description" : "Post http",
   "params" : {
      "ip" : "192.168.100.241",
      "port" : "80"
   }
}

Parâmetros de resposta

A resposta será um json com todos os valores solicitados atualizados. Veja o exemplo de resposta para mais informações.

Listar todos os usuários

Listar todos os usuários

Exemplo de solicitação:

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

GET /system/users

Listar os usuários disponíveis no sistema.

Exemplo de resposta:

{
   "description" : "Get users",
   "params" : [
      {
         "status" : "true",
         "user" : "root"
      },
      {
         "status" : "true",
         "user" : "zapi"
      }
   ]
}

Parâmetros de resposta

A resposta será um objeto JSON com uma matriz dos parâmetros abaixo.

Campo Tipo Descrição
estado Tanga Status do usuário. Os valores possíveis são: verdadeiro, o usuário está ativado; ou não falso, o usuário está desativado.
usuário Tanga Nome do usuário.

Recuperar usuário zapi

Recuperar usuário zapi

Exemplo de solicitação:

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

GET /system/users/zapi

Mostrar a configuração do usuário do zapi. Estes parâmetros são necessários para acessar os serviços Zevenet através do zapi.

Exemplo de resposta:

{
   "description" : "Zapi user configuration.",
   "params" : {
      "key" : "root",
      "status" : "true"
   }
}

Parâmetros de resposta

A resposta será um objeto JSON com uma matriz dos parâmetros abaixo.

Campo Tipo Descrição
chave Tanga Chave para autenticar no zapi. Este é o parâmetro ZAPI_KEY usado em chamadas para o zapi.
estado Tanga Status do usuário Zapi. Se o seu valor é verdadeiro, é possível usar o zapi; ou não falso, o zapi é desativado e não é possível enviar o pedido.

Modifique a configuração do usuário zapi

Modifique a configuração do usuário zapi

Exemplo de solicitação:

curl -k -X POST -H 'Content-Type: application/json' -H "ZAPI_KEY: <ZAPI_KEY_STRING>" 
 -d '{"key":"newzapikey","status":"enable","newpassword":"password1234"}' 
 https://<zevenet_server>:444/zapi/v3/zapi.cgi/system/users/zapi

POST /system/users/zapi

Modifique a configuração do usuário do zapi. Estes parâmetros são necessários para acessar os serviços Zevenet através do zapi.

Solicitar Parâmetros

Campo Tipo Descrição
chave Tanga Chave para autenticar no zapi. Este é o parâmetro ZAPI_KEY usado em chamadas para o zapi.
Nova senha Tanga Nova senha para o usuário do zapi.
estado Tanga Status do usuário Zapi. Se o seu valor é verdadeiro, é possível usar o zapi; ou não falso, o zapi é desativado e não é possível enviar o pedido.

Exemplo de resposta:

{
   "description" : "Zapi user settings.",
   "message" : "Settings was changed successful.",
   "params" : {
      "key" : "newzapikey",
      "newpassword" : "password1234",
      "status" : "enable"
   }
}

Parâmetros de resposta

A resposta será um json com todos os valores solicitados atualizados. Veja o exemplo de resposta para mais informações.

Modifique a senha do root

Modifique a senha do root

Exemplo de solicitação:

curl -k -X POST -H 'Content-Type: application/json' -H "ZAPI_KEY: <ZAPI_KEY_STRING>" 
{"password":"admin","newpassword":"alwaysisbetterastrongpass"} 
https://<zevenet_server>:444/zapi/v3/zapi.cgi/system/users/root

POST /system/users/root

Modifique a senha do root. Este usuário é usado para acessar os serviços zevenet através da GUI

Solicitar Parâmetros

Campo Tipo Descrição Exigido
senha Tanga Senha atual do usuário root. verdadeiro
Nova senha Tanga Nova senha para o usuário root. verdadeiro

Exemplo de resposta:

{
   "description" : "User settings.",
   "message" : "Settings was changed succesful.",
   "params" : {
      "newpassword" : "alwaysisbetterastrongpass",
      "password" : "admin"
   }
}

Parâmetros de resposta

A resposta será um json com todos os valores solicitados atualizados. Veja o exemplo de resposta para mais informações.

Listar arquivos de log

Listar arquivos de log

Exemplo de solicitação:

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

GET /system/logs

Listar os arquivos de log disponíveis.

Exemplo de resposta:

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

Parâmetros de resposta

A resposta será um JSON com uma matriz de arquivo de log. Os parâmetros de cada objeto são:

Campo Tipo Descrição
dados Tanga A data da última modificação do arquivo.
filete Tanga Nome do arquivo dos arquivos de log. É usado como identificador exclusivo de log.

Baixe um arquivo de log

Baixe um arquivo de log

Exemplo de solicitação:

curl -k -X GET -H "ZAPI_KEY: <ZAPI_KEY_STRING>" 
https://<zevenet_server>:444/zapi/v3/zapi.cgi/system/logs/syslog.2.gz > log.gz

GET /system/logs/<file>

Faça o download de um arquivo de log dos arquivos de log disponíveis listados durante a solicitação GET.

filete é o identificador exclusivo do arquivo de log.

Sistema - Backups

Com a opção Backup, você pode salvar a configuração atual do sistema e baixá-la.

Nesta seção, você poderá criar, restaurar, carregar e baixar arquivos de backup.

Listar backups

Listar backups

Exemplo de solicitação:

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

GET /system/backup

Exemplo de resposta:

{
   "description" : "Get backups",
   "params" : [
      {
         "date" : "Fri Feb  3 06:01:04 2017",
         "name" : "newbackup"
      },
      {
         "date" : "Fri Feb  3 05:50:48 2017",
         "name" : "firstConf"
      }
   ]
}

Parâmetros de resposta

A resposta será um JSON com uma matriz de backups. Os parâmetros de cada elemento da matriz são:

Campo Tipo Descrição
dados Tanga A data da última modificação.
nome Tanga É o nome do arquivo usado como identificador exclusivo. A extensão do arquivo é .tar.gz.

Crie um backup

Crie um backup

Exemplo de solicitação:

curl -k -X POST -H 'Content-Type: application/json' -H "ZAPI_KEY: <ZAPI_KEY_STRING>" 
 -d '{"name":"firstConf"}' 
 https://<zevenet_server>:444/zapi/v3/zapi.cgi/system/backup

POST /system/backup

Crie um backup de configuração do sistema da configuração atual.

Solicitar Parâmetros

Campo Tipo Descrição
nome Tanga É o nome do arquivo usado como identificador exclusivo. A extensão do arquivo é .tar.gz.

Exemplo de resposta:

{
   "description" : "Create a backups",
   "message" : "Backup firstConf was created successful.",
   "params" : "firstConf"
}

Faça o download de um backup

Faça o download de um backup

Exemplo de solicitação:

curl -k -X GET -H "ZAPI_KEY: <ZAPI_KEY_STRING>" 
 https://<zevenet_server>:444/zapi/v3/zapi.cgi/system/backup/firstConf > ~/zevenetConf.tar.gz

O arquivo de backup está no formato TAR GZ.

GET /system/backup/<name>

Baixe um backup de configuração do sistema. nome é o identificador exclusivo de backup.

Faça o upload de um backup

Faça o upload de um backup

Exemplo de solicitação:

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/zapi.cgi/system/backup/newbackup

PUT /system/backup/<name>

Carregar um backup armazenado local para Zevenet. nome é o identificador exclusivo de backup que será armazenado no Zevenet.

Solicitar Parâmetros

É necessário usar –data-binary para fazer upload de um backup.

Exemplo de resposta:

{
   "description" : "Upload a backup",
   "message" : "Backup newbackup was created successful.",
   "params" : "newbackup"
}

Excluir um backup

Excluir um backup

Exemplo de solicitação:

curl -k -X DELETE -H "ZAPI_KEY: <ZAPI_KEY_STRING>" 
https://<zevenet_server>:444/zapi/v3/zapi.cgi/system/backup/firstConf

DELETE /system/backup/<name>

Exclua um arquivo de backup do sistema Zevenet. nome é o identificador exclusivo de backup.

Exemplo de resposta:

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

Aplique um backup

Aplique um backup

Exemplo de solicitação:

curl -k -X POST -H 'Content-Type: application/json' -H "ZAPI_KEY: <ZAPI_KEY_STRING>" 
-d '{"action":"apply"}' 
https://<zevenet_server>:444/zapi/v3/zapi.cgi/system/backup/firstConf/actions

POST /system/backup/<name>/actions

Restaure a configuração de um arquivo de backup. nome é o identificador exclusivo de backup.

Solicitar Parâmetros

Campo Tipo Descrição
açao Tanga Para restaurar a configuração de backup, o valor deve ser Aplique.

Exemplo de resposta:

{
   "description" : "Apply a backup to the system",
   "params" : {
      "action" : "apply"
   }
}

Sistema - Notificações

As notificações são formadas por dois elementos: Remetente método e tipo de alerta.

Na seção de alerta, você poderá escolher o tipo de alerta que deseja receber. Na verdade, os alertas são focados no backend ou no status do cluster, portanto, o balanceador enviará uma notificação se houver algumas opções.

Na seção de métodos, você poderá escolher qual remetente será usado quando o Zevenet tiver que enviar uma notificação.

Mostrar estado de alerta

Mostrar estado de alerta

Exemplo de solicitação:

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

GET /system/notifications/alerts

Listar todos os tipos de alertas com seus status.

Exemplo de resposta:

{
   "description" : "Get notifications alert status",
   "params" : [
      {
         "alert" : "backends",
         "status" : "disabled"
      },
      {
         "alert" : "cluster",
         "status" : "disabled"
      }
   ]
}

Parâmetros de resposta

Campo Tipo Descrição
alerta Tanga Tipo de alerta, é usado como identificador exclusivo de alerta. Os alertas disponíveis são: backend, notifique quando um backend muda de status; ou cacho, envie uma notificação quando o nó principal do cluster for alternado para outro nó.
estado Tanga Mostrar se o alerta é inválido, o sistema não envia notificação quando há um evento; ou habilitado, o sistema envia um alerta quando é detectado um status alterado.

Recuperar alertas de notificação

Recuperar alertas de notificação

Exemplo de solicitação:

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

GET /system/notifications/alerts/<alert>

Mostrar a configuração sobre um tipo de alerta.

alerta é o identificador exclusivo de alerta.

Exemplo de resposta:

{
   "description" : "Get notifications alert backends settings",
   "params" : {
      "avoidflappingtime" : 5,
      "prefix" : "",
      "status" : "disabled"
   }
}

Parâmetros de resposta

Campo Tipo Descrição
tempo de evasão Sessão Às vezes backends estão disponíveis ou não em um curto período de tempo, este campo permite configurar um período de tempo para evitar notificações mensagem enquanto backend está mudando de status, uma vez que este período de tempo conclui, se o status backend é diferente para começar, então a notificação é enviada.
prefixo Tanga É um prefixo para o assunto do email, que é enviado pelo sistema para esse tipo de alerta.
estado Tanga Mostrar se o alerta é inválido, o sistema não envia notificação quando há um evento; ou habilitado, o sistema envia um alerta quando é detectado um status alterado.

Modificar alerta de notificação

Modificar alertas de notificação

Exemplo de solicitação:

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/zapi.cgi/system/notifications/alerts/backends

POST /system/notifications/alerts/<alert>

alerta é o identificador exclusivo de alerta.

Solicitar Parâmetros

Campo Tipo Descrição
tempo de evasão Sessão Às vezes backends estão disponíveis ou não em um curto período de tempo, este campo permite configurar um período de tempo para evitar notificações mensagem enquanto backend está mudando de status, uma vez que este período de tempo conclui, se o status backend é diferente para começar, então a notificação é enviada. Este parâmetro não está em alertas de cluster, o cluster possui seu próprio tempo de swich.
prefixo Tanga É um prefixo para o assunto do email, que é enviado pelo sistema para esse tipo de alerta.

Exemplo de resposta:

{
   "description" : "Set notifications alert backends",
   "params" : {
      "avoidflappingtime" : 10,
      "prefix" : "[backend alert]"
   }
}

Parâmetros de resposta

A resposta será um json com todos os valores solicitados atualizados. Veja o exemplo de resposta para mais informações.

Ativar alertas

Ativar alertas

Exemplo de solicitação:

curl -k -X POST -H 'Content-Type: application/json' -H "ZAPI_KEY: <ZAPI_KEY_STRING>" 
{"action":"enable"} 
https://<zevenet_server>:444/zapi/v3/zapi.cgi/system/notifications/alerts/backends/actions

POST /system/notifications/alerts/<alert>/actions

Ativar ou desativar as notificações para um tipo de alerta.

alerta é o identificador exclusivo de alerta.

Solicitar Parâmetros

Campo Tipo Descrição
açao Tanga As ações disponíveis para alertas são inválido, o sistema não envia notificação quando há um evento; ou habilitado, o sistema envia um alerta quando é detectado um status alterado.

Exemplo de resposta:

{
   "description" : "Set notifications alert backends actions",
   "params" : {
      "action" : "enable"
   }
}

Parâmetros de resposta

A resposta será um json com todos os valores solicitados atualizados. Veja o exemplo de resposta para mais informações.

Recuperar configuração de email

Recuperar configuração de email

Exemplo de solicitação:

curl -k -X GET -H "ZAPI_KEY: <ZAPI_KEY_STRING>" 
https://<zevenet_server>:444/zapi/v3/zapi.cgi/system/notifications/methods/email

GET /system/notifications/methods/email

Mostrar todas as configurações do remetente do email.

Nota: A porta SMTP usada para enviar e-mails é TCP 25, mesmo se o TLS estiver ativado.

Exemplo de resposta:

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

Parâmetros de resposta

Campo Tipo Descrição
de Tanga Conta de e-mail que envia o e-mail, essa conta será exibida no cabeçalho SMTP De: e será usada se o receptor responder ao e-mail.
método Tanga É o identificador exclusivo do método. Na verdade, o método disponível é email.
senha Tanga Senha para usuário Conta SMTP, essa senha é necessária se o servidor exigir autenticação SMTP.
servidor Tanga Servidor SMTP através do email é enviado.
tls Tanga Ative a validação TLS para enviar e-mail, essa propriedade usa STARTTLS e esse recurso deve ser suportado no servidor SMTP. Alguns servidores SMTP exigem habilitá-lo. Os valores possíveis são: verdadeiro, A validação do TLS está habilitada para enviar email; ou falso, o envio de e-mail não usa a validação TLS.
para Tanga Conta de e-mail que recebe o e-mail, essa conta será exibida no cabeçalho SMTP para.
usuário Tanga Conta de e-mail com permissão para enviar e-mails, essa conta é necessária se o servidor exigir autenticação SMTP.

Modifique a configuração de email

Modifique a configuração de email

Exemplo de solicitação:

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/zapi.cgi/system/notifications/methods/email

POST /system/notifications/methods/email

Modifique a configuração do método do remetente de email.

Solicitar Parâmetros

Campo Tipo Descrição
de Tanga Conta de e-mail que envia o e-mail, essa conta será exibida no cabeçalho SMTP De: e será usada se o receptor responder ao e-mail.
senha Tanga Senha para usuário Conta SMTP, essa senha é necessária se o servidor exigir autenticação SMTP.
servidor Tanga Servidor SMTP através do email é enviado.
tls Tanga Ative a validação TLS para enviar e-mail, essa propriedade usa STARTTLS e esse recurso deve ser suportado no servidor SMTP. Alguns servidores SMTP exigem habilitá-lo. Os valores possíveis são: verdadeiro, A validação do TLS está habilitada para enviar email; ou falso, o envio de e-mail não usa a validação TLS.
para Tanga Conta de e-mail que recebe o e-mail, essa conta será exibida no cabeçalho SMTP para.
usuário Tanga Conta de e-mail com permissão para enviar e-mails, essa conta é necessária se o servidor exigir autenticação SMTP.

Exemplo de resposta:

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

Parâmetros de resposta

A resposta será um json com todos os valores solicitados atualizados. Veja o exemplo de resposta para mais informações.

Envie um email de teste

Envie um email de teste

Exemplo de solicitação:

curl -k -X POST -H 'Content-Type: application/json'  -H "ZAPI_KEY: <ZAPI_KEY_STRING>" 
-d '{"action":"test"}' 
https://<zevenet_server>:444/zapi/v3/zapi.cgi/system/notifications/methods/email/actions

POST /system/notifications/methods/email/actions

Envie um email de teste com a configuração de email, para testá-lo.

Solicitar Parâmetros

Campo Tipo Descrição
açao Tanga O valor para enviar um email de teste é teste.

Exemplo de resposta:

{
   "description" : "Send test mail",
   "message" : "Test mail sent successful.",
   "success" : "true"
}

Faça o download de um suporte

Faça o download de um suporte

Exemplo de solicitação:

curl -k -X GET -H "ZAPI_KEY: <ZAPI_KEY_STRING>" 
https://<zevenet_server>:444/zapi/v3/zapi.cgi/system/supportsave > supportsave.tar.gz

GET /system/supportsave

Obtenha a imagem de status do sistema com toda a configuração e processo em execução no sistema. Este suporte é necessário para encontrar problemas ou assistência de suporte.

Sistema - Cluster

O cluster é o elemento feito por um nó mestre, que gerencia as conexões para os back-ends, e um nó de backup verifica o mestre, ele está preparado para swich para o nó mestre se for para o status inativo.

Quando houver um status comutado, o nó de backup restaurará todo o status da conexão. Portanto, o cliente não detectou uma interrupção no serviço.

Isso permite colocar o balanceador de carga em alta disponibilidade. Portanto, se houver algum problema em um Zevenet, o serviço continuará trabalhando com a configuração carregada.

Mostrar a configuração do cluster

Mostrar a configuração do cluster

Exemplo de solicitação:

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

GET /system/cluster

Mostrar todas as configurações sobre o cluster.

Resposta CORPO:

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

Parâmetros de resposta

A resposta será um objeto JSON com a configuração de cluster e uma matriz com os nós nela.

Objeto de Cluster:

Campo Tipo Descrição
check_interval Sessão É o tempo de espera entre duas verificações do status do nó mestre.
failback Tanga Qual nó tem preferência para ser mestre. Os valores podem ser um nome nó, para dar preferência a um nó; ou inválido, se algum nó puder ser mestre e não for prioridade para um.
interface Tanga Interface onde o IP do nó é configurado.
nós Objeto[] Nós do cluster.

Objeto de nó:

Campo Tipo Descrição
ip Tanga É o IP configurado no nó para verificar o status do nó e fazer a replicação de informações.
nome Tanga É o nome do host do nó e é usado como identificador exclusivo do nó.
Tanga Os valores possíveis são: local, se o nó é o que está recebendo a solicitação zapi; ou remoto, se é o outro nó configurado no cluster.

Ativar um cluster

Ativar um cluster

Exemplo de solicitação:

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/zapi.cgi/system/cluster

POST /system/cluster

Faça um cluster comunicando dois balanceadores.

Solicitar Parâmetros

Campo Tipo Descrição Exigido
remote_ip Tanga IP do host remoto usado para o cluster. verdadeiro
local_ip Tanga IP do host local usado para o cluster. verdadeiro
senha remota Tanga Senha do usuário raiz para o balanceador remoto. verdadeiro

Resposta CORPO:

{
   "description" : "Enabling cluster",
   "message" : "Cluster enabled successfully",
   "success" : "true"
}

Modificar configuração de cluster

Modificar configuração de cluster

Exemplo de solicitação:

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/zapi.cgi/system/cluster

PUT /system/cluster

Configure os parâmetros do modo de trabalho para o cluster.

Solicitar Parâmetros

Campo Tipo Descrição
check_interval Sessão É o tempo de espera entre duas verificações do status do nó mestre.
failback Tanga Qual nó tem preferência para ser mestre. Os valores podem ser um nome nó, para dar preferência a um nó; ou inválido, se algum nó puder ser mestre e não for prioridade para um.

Resposta CORPO:

{
   "description" : "Modifying the cluster configuration",
   "params" : {
      "check_interval" : "4",
      "failback" : "disabled"
   }
}

Desativar o cluster

Desativar o cluster

Exemplo de solicitação:

curl -k -X DELETE -H 'Content-Type: application/json' 
https://<zevenet_server>:444/zapi/v3/zapi.cgi/system/cluster

DELETE /system/cluster

Remova o cluster.

Resposta CORPO:

{
   "description" : "Disabling cluster",
   "message" : "Cluster disabled successfully",
   "success" : "true"
}

O modo de manutenção

O modo de manutenção

Exemplo de solicitação:

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/zapi.cgi/system/cluster/actions

POST /system/cluster/actions

Altere o nó do cluster local para o modo de manutenção.

Resposta CORPO:

{
   "description" : "Setting maintenance mode",
   "message" : "Local cluster node changed to maintenance mode successfully",
   "success" : "true"
}

Solicitar Parâmetros

Campo Tipo Descrição Exigido
açao Tanga Ação para aplicar ao cluster. A ação disponível é manutenção. verdadeiro
estado Tanga Status para colocar o nó, os valores possíveis são permitir, coloque-o no modo de manutenção; ou desabiltar, coloque o nó disponível. verdadeiro

Mostrar status dos nós

Mostrar status dos nós

Exemplo de solicitação:

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

GET /system/cluster/nodes

Mostrar o status de todos os nós.

Resposta CORPO:

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

Parâmetros de resposta

A resposta será um JSON com chave param e valorize uma matriz do objeto de status do nó.

Objeto de status do nó

Campo Tipo Descrição
ip Tanga É o IP configurado no nó para verificar o status do nó e fazer a replicação de informações.
nome Tanga É o nome do host do nó e é usado como identificador exclusivo do nó.
Tanga Os valores possíveis são: local, se o nó é o que está recebendo a solicitação zapi; ou remoto, se é o outro nó configurado no cluster.
mensagem Tanga Mensagem descritiva que indica o status e o modo de trabalho do nó.
papel Tanga Modo de trabalho real deste nó. Os valores possíveis são: dominar, esse nó está gerenciando as conexões entre backends e clientes; ou backup, este nó respondeu as conexões de status principal e a configuração principal e está verificando se o serviço principal funciona.
estado Tanga Indique se algum processo de cluster está falhando.

Mostrar o status do cluster localhost

Mostrar o status do cluster localhost

Exemplo de solicitação:

curl -k -X GET -H "ZAPI_KEY: <ZAPI_KEY_STRING>" 
https://<zevenet_server>:444/zapi/v3/zapi.cgi/system/cluster/nodes/localhost

GET /system/cluster/nodes/localhost

Mostrar o status do nó local.

Resposta CORPO:

{
   "description" : "Cluster status for localhost",
   "params" : {
      "message" : "Node online and active",
      "name" : "canoDEV4100",
      "role" : "master",
      "status" : "ok"
   }
}

Parâmetros de resposta

Campo Tipo Descrição
mensagem Tanga Mensagem descritiva que indica o status e o modo de trabalho do nó.
nome Tanga É o nome do host do nó e é usado como identificador exclusivo do nó.
papel Tanga Modo de trabalho real deste nó. Os valores possíveis são: dominar, esse nó está gerenciando as conexões entre backends e clientes; ou backup, este nó respondeu as conexões de status principal e a configuração principal e está verificando se o serviço principal funciona.
estado Tanga Indique se algum processo de cluster está falhando.