NAV Navbar
Logotipo
concha

Referência do Zevenet API v3.2

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 tenha sido criado, é possível enviar uma solicitação para a URL, https: // (zevenet_server): 444 / zapi / v3.2 / zapi.cgi / (URI_path), onde 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.2/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 para cada ocasião Descrição
params Objeto [] Lista de objetos de certificado.

Objeto de certificado

Campo para cada ocasião 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.2/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.2/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.2/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.2/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.2/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.2/zapi.cgi/certificates

POST /certificates

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

Solicitar Parâmetros

Campo para cada ocasião 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.2/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 para cada ocasião 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.2/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"
}

Listar Cifras

Listar Cifras

Exemplo de solicitação:

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

GET /ciphers

Listar as cifras disponíveis que um farm HTTPS pode usar.

A Descarregamento de SSL O chiper estará disponível apenas se for suportado pelo processador.

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" : "Get the ciphers available",
   "params" : [
      {
         "ciphers" : "all",
         "description" : "All"
      },
      {
         "ciphers" : "highsecurity",
         "description" : "High security"
      },
      {
         "ciphers" : "customsecurity",
         "description" : "Custom security"
      },
      {
         "ciphers" : "ssloffloading",
         "description" : "SSL offloading"
      }
   ]
}

Parâmetros de resposta

Campo para cada ocasião Descrição
params Objeto [] Lista de objetos de certificado.

Objeto de certificado

Campo para cada ocasião Descrição
cifras Tanga É usado como identificador exclusivo.
descrição Tanga Nome amigável.

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.2/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 para cada ocasião 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: down, a fazenda não está em execução; reinicialização necessária, o farm está ativo, mas está pendente de uma ação de reinicialização; crítico, o farm está ativo e todos os backends são inacessíveis ou de manutenção; problema, o farm está ativo e há algum back-end inacessível, mas quase um back-end está no status up; manutenção, o farm está ativo e há back-ends no status up, mas quase um back-end está no modo de manutenção; up, a fazenda está em alta e todos os backends estão funcionando bem.
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.2/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.2/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 para cada ocasião 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.2/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" : [
         {
            "name" : "men",
            "status" : "down"
         }
      ],
      "dos" : [],
      "rbl" : [
         {
            "name" : "protection_ssh",
            "status" : "up"
         }
      ]
   },
   "params" : {
      "addheader" : [
         {
            "header" : "load-balancer: true",
            "id" : 0
         }
      ],
      "certlist" : [
         {
            "file" : "zencert.pem",
            "id" : 1
         }
      ],
      "cipherc" : "ALL",
      "ciphers" : "all",
      "contimeout" : 20,
      "disable_sslv2" : "true",
      "disable_sslv3" : "false",
      "disable_tlsv1" : "false",
      "disable_tlsv1_1" : "true",
      "disable_tlsv1_2" : "false",
      "error414" : "Request URI is too long.",
      "error500" : "An internal server error occurred. Please try again later.",
      "error501" : "This method may not be used.",
      "error503" : "The service is not available. Please try again later.",
      "headremove" : [
         {
            "id" : 0,
            "pattern" : "^client"
         }
      ],
      "httpverb" : "MSRPCext",
      "ignore_100_continue" : "true",
      "listener" : "https",
      "logs" : "false",
      "reqtimeout" : 30,
      "restimeout" : 45,
      "resurrectime" : 10,
      "rewritelocation" : "enabled",
      "status" : "up",
      "vip" : "192.168.100.211",
      "vport" : 200
   },
   "services" : [
      {
         "backends" : [],
         "cookiedomain" : "",
         "cookieinsert" : "false",
         "cookiename" : "",
         "cookiepath" : "",
         "cookiettl" : 0,
         "farmguardian" : "check_tcp",
         "httpsb" : "false",
         "id" : "service3",
         "leastresp" : "false",
         "redirect" : "http://192.168.101.254/index.html",
         "redirect_code" : 302,
         "redirecttype" : "default",
         "sessionid" : "",
         "sts_status" : "false",
         "sts_timeout" : 0,
         "ttl" : 0,
         "urlp" : "",
         "vhost" : ""
      },
      {
         "backends" : [
            {
               "alias" : "http-server",
               "id" : 0,
               "ip" : "192.168.0.168",
               "port" : 80,
               "status" : "up",
               "timeout" : null,
               "weight" : null
            }
         ],
         "cookiedomain" : "",
         "cookieinsert" : "false",
         "cookiename" : "",
         "cookiepath" : "",
         "cookiettl" : 0,
         "farmguardian" : null,
         "httpsb" : "false",
         "id" : "srv",
         "leastresp" : "false",
         "persistence" : "",
         "redirect" : "",
         "redirecttype" : "",
         "sessionid" : "",
         "sts_status" : "false",
         "sts_timeout" : 0,
         "ttl" : 0,
         "urlp" : "",
         "vhost" : ""
      },
   ]
}

Parâmetros de resposta

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

Objeto Agrícola:

Campo para cada ocasião 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 para cada ocasião Descrição
listas negras Objeto[] Regras de lista negra aplicadas ao farm.
dos Objeto[] Regras de DoS aplicadas ao farm.
rbl Objeto[] Regras RBL aplicadas ao farm.

Lista Negra, DoS e RBL Objeto:

Campo para cada ocasião Descrição
nome Tanga O nome da regra.
estado Tanga Status da regra.

Objeto de parâmetros para farms HTTP:

Campo para cada ocasião Descrição
addheader Objeto[] É uma lista de objetos com os cabeçalhos para adicionar ao backend.
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 ostodas as cifras serão aceitas; alta seguranca, somente cifras de alta segurança serão aceitas; segurança aduaneira, somente cifras carregadas cipherc campo será aceito; ou ssloffloading, ele devolve o trabalho de criptografia ao processo, essa cifra depende do processador.
comtimeout Sessão Por quanto tempo o farm aguardará uma conexão TCP com o back-end em segundos.
disable_sslv2 Tanga Apenas no ouvinte https. Se este campo tiver o valor verdadeiro as conexões usando o protocolo de segurança SSL com a versão 2 não são permitidas; ou falso se o protocolo SSLv2 for permitido.
disable_sslv3 Tanga Apenas no ouvinte https. Se este campo tiver o valor verdadeiro as conexões usando o protocolo de segurança SSL com a versão 3 não são permitidas; ou falso se o protocolo SSLv3 for permitido.
disable_tlsv1 Tanga Apenas no ouvinte https. Se este campo tiver o valor verdadeiro as conexões usando o protocolo de segurança TLS com a versão 1 não são permitidas; ou falso se o protocolo TLSv1 for permitido.
disable_tlsv1_1 Tanga Apenas no ouvinte https. Se este campo tiver o valor verdadeiro as conexões usando o protocolo de segurança TLS com a versão 1.1 não são permitidas; ou falso se o protocolo TLSv1.1 for permitido.
disable_tlsv1_2 Tanga Apenas no ouvinte https. Se este campo tiver o valor verdadeiro as conexões usando o protocolo de segurança TLS com a versão 1.2 não são permitidas; ou falso se o protocolo TLSv1.2 for permitido.
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.
cabeça removida Objeto[] É uma lista de objetos com padrões para remover o cabeçalho das solicitações do cliente.
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, aceitou pedidos HTTP 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.
ignore_100_continue Tanga Se este campo tiver o valor verdadeiro do 100 continuar O heade HTTP será ignorado; se o valor for falso, 100 continuar cabeçalho será processado.
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.
toras Tanga O farm Registra o rastreio das conexões HTTP. Se este parâmetro tiver o valor verdadeiro, os logs estão habilitados; se tem o valor falso, os logs estão desativados.
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 de status disponíveis são: down, a fazenda não está em execução; reinicialização necessária, o farm está ativo, mas está pendente de uma ação de reinicialização; crítico, o farm está ativo e todos os backends são inacessíveis ou de manutenção; problema, o farm está ativo e há algum back-end inacessível, mas quase um back-end está no status up; manutenção, o farm está ativo e há back-ends no status up, mas quase um back-end está no modo de manutenção; up, a fazenda está em alta e todos os backends estão funcionando bem.
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 para cada ocasião 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 para cada ocasião 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.
farmguardian Tanga É o nome do FarmGuardian que está verificando o status do backend. O FarmGuardian estará em execução enquanto o farm estiver no status ativo.
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.
redirect_code Sessão É o código HTTP retornado quando um redirecionamento é configurado. Os valores possíveis são 301, 302, 307,
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.
sts_status Tanga Status do cabeçalho Strict Transport Security. Para ativar esse recurso, é necessário definir o ouvinte do farm como HTTPS. Os valores possíveis são: verdadeiro para habilitar a diretiva STS no serviço; ou falso para desabilitar a diretiva STS no serviço.
sts_timeout Sessão Tempo (em segundos) que o cliente lembra que o serviço só está disponível com o HTTS.
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 para cada ocasião Descrição
aliás Tanga É um nick para ajudar a identificar o backend. aliás
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. Os valores possíveis são: up, o farm está em execução e o backend está pronto para receber conexões; down, o farm está em execução e o serviço detectou que o back-end 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; indefinido, o status do back-end não foi verificado.
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 mais alto receberá mais conexões. Valor padrão null, peso especial não usado para este back-end. Os valores possíveis são de 1 para 9.

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

POST /farms

Crie um novo farm HTTP.

Solicitar Parâmetros

Campo para cada ocasião 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,"ignore_100_continue":"true",
"restimeout":47,"resurrectime":12,"reqtimeout":32,"rewritelocation":"enabled","httpverb":"standardHTTP",
"error414":"Message error 414","error500":"Message error 500","error501":"Message error 501",
"error503":"Message error 503","listener":"https","ciphers":"customsecurity","disable_sslv2":"true",
"disable_sslv3":"false","disable_tlsv1":"false","disable_tlsv1_1":"true","disable_tlsv1_2":"false", "logs":"true",
"cipherc":"TLSv1+SSLv3+HIGH:-MEDIUM:-LOW*:-ADH*"}' https://<zevenet_server>:444/zapi/v3.2/zapi.cgi/farms/FarmHTTP

PUT /farms/<farmname>

Modifique parâmetros globais para um determinado farm HTTP.

Solicitar Parâmetros

Campo para cada ocasião 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.
disable_sslv2 Tanga Apenas no ouvinte https. Se este campo tiver o valor verdadeiro as conexões usando o protocolo de segurança SSL com a versão 2 não são permitidas; ou falso se o protocolo SSLv2 for permitido.
disable_sslv3 Tanga Apenas no ouvinte https. Se este campo tiver o valor verdadeiro as conexões usando o protocolo de segurança SSL com a versão 3 não são permitidas; ou falso se o protocolo SSLv3 for permitido.
disable_tlsv1 Tanga Apenas no ouvinte https. Se este campo tiver o valor verdadeiro as conexões usando o protocolo de segurança TLS com a versão 1 não são permitidas; ou falso se o protocolo TLSv1 for permitido.
disable_tlsv1_1 Tanga Apenas no ouvinte https. Se este campo tiver o valor verdadeiro as conexões usando o protocolo de segurança TLS com a versão 1.1 não são permitidas; ou falso se o protocolo TLSv1.1 for permitido.
disable_tlsv1_2 Tanga Apenas no ouvinte https. Se este campo tiver o valor verdadeiro as conexões usando o protocolo de segurança TLS com a versão 1.2 não são permitidas; ou falso se o
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, aceitou pedidos HTTP 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.
ignore_100_continue Tanga Se este campo tiver o valor verdadeiro do 100 continuar O heade HTTP será ignorado; se o valor for falso, 100 continuar cabeçalho será processado.
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.
toras Tanga O farm Registra o rastreio das conexões HTTP. Se este parâmetro tiver o valor verdadeiro, os logs estão habilitados; se tem o valor falso, os logs estão desativados.
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 ostodas as cifras serão aceitas; alta seguranca, somente cifras de alta segurança serão aceitas; segurança aduaneira, somente cifras carregadas cipherc campo será aceito; ou ssloffloading, ele devolve o trabalho de criptografia ao processo, essa cifra depende do processador.
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,
      "disable_sslv2" : "true",
      "disable_sslv3" : "false",
      "disable_tlsv1" : "false",
      "disable_tlsv1_1" : "true",
      "disable_tlsv1_2" : "false",
      "error414" : "Message error 414",
      "error500" : "Message error 500",
      "error501" : "Message error 501",
      "error503" : "Message error 503",
      "httpverb" : "standardHTTP",
      "ignore_100_continue" : "true",
      "listener" : "https",
      "logs" : "true",
      "newfarmname" : "FarmHTTP",
      "reqtimeout" : 32,
      "restimeout" : 47,
      "resurrectime" : 12,
      "rewritelocation" : "enabled",
      "vip" : "178.62.126.152",
      "vport" : 88
   }
}

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 diretiva de addheader

Adicione uma diretiva de addheader

Exemplo de solicitação:

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

POST /farms/<farmname>/addheader

O farm adicionará o cabeçalho ao backend.

Solicitar Parâmetros

Campo para cada ocasião Descrição Exigido
cabeçalho Tanga É uma string com o cabeçalho que será enviado para o backend. verdadeiro

Exemplo de resposta:

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

Excluir uma diretiva de addheader

Excluir uma diretiva de addheader

Exemplo de solicitação:

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

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

índice é o índice da matriz addheader a ser excluída.

Exemplo de resposta:

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

Adicionar uma diretiva headremove

Adicionar uma diretiva headremove

Exemplo de solicitação:

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

POST /farms/<farmname>/headremove

Remova determinados cabeçalhos das solicitações recebidas. Todas as ocorrências do cabeçalho especificado correspondente serão removidas.

Solicitar Parâmetros

Campo para cada ocasião Descrição Exigido
de cinto de segurança Tanga É uma string com um regexp para procurar nas requisições do cliente. Se algum cabeçalho coincidir com o padrão, o cabeçalho será removido verdadeiro

Exemplo de resposta:

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

Excluir uma diretiva headremove

Excluir uma diretiva headremove

Exemplo de solicitação:

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

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

índice é o índice da matriz headremove a ser excluída.

Exemplo de resposta:

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

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.2/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 para cada ocasião 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.2/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.2/zapi.cgi/farms/httpFarm/ipds/blacklists

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

Aplique uma regra de lista negra, DoS ou RBL ao farm.

Solicitar Parâmetros

Campo para cada ocasião 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.2/zapi.cgi/farms/httpFarm/ipds/blacklists/china

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

Remover uma regra de lista negra, DoS ou RBL 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.

Recuperar serviço por ID

Recuperar serviço por ID

Exemplo de solicitação:

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

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

Mostrar todas as configurações sobre um determinado serviço.

Exemplo de resposta:

{
   "description" : "Get services of a farm",
   "services" : {
      "backends" : [
         {
            "alias" : "http-server",
            "id" : 0,
            "ip" : "192.168.100.254",
            "port" : 80,
            "status" : "up",
            "timeout" : 20,
            "weight" : null
         },
         {
            "alias" : "http-server",
            "id" : 0,
            "ip" : "192.168.100.254",
            "port" : 80,
            "status" : "up",
            "timeout" : null,
            "weight" : null
         }
      ],
      "cookiedomain" : "zevenet.cpm",
      "cookieinsert" : "true",
      "cookiename" : "peasocookie",
      "cookiepath" : "/patfh",
      "cookiettl" : 20,
      "farmguardian" : "check_tcp-cut_conns",
      "httpsb" : "false",
      "id" : "serv",
      "leastresp" : "false",
      "persistence" : "COOKIE",
      "redirect" : "",
      "redirect_code" : "",
      "redirecttype" : "",
      "sessionid" : "JSESSIONID",
      "sts_status" : "false",
      "sts_timeout" : 0,
      "ttl" : 18,
      "urlp" : "(?i)^/music$",
      "vhost" : ""
   }
}

Parâmetros de resposta

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

Objeto de serviços para farms HTTP:

Campo para cada ocasião 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.
farmguardian Tanga É o nome do FarmGuardian que está verificando o status do backend. O FarmGuardian estará em execução enquanto o farm estiver no status ativo.
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.
redirect_code Sessão É o código HTTP retornado quando um redirecionamento é configurado. Os valores possíveis são 301, 302, 307,
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.
sts_status Tanga Status do cabeçalho Strict Transport Security. Para ativar esse recurso, é necessário definir o ouvinte do farm como HTTPS. Os valores possíveis são: verdadeiro para habilitar a diretiva STS no serviço; ou falso para desabilitar a diretiva STS no serviço.
sts_timeout Sessão Tempo (em segundos) que o cliente lembra que o serviço só está disponível com o HTTS.
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 para cada ocasião Descrição
aliás Tanga É um nick para ajudar a identificar o backend. aliás
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. Os valores possíveis são: up, o farm está em execução e o backend está pronto para receber conexões; down, o farm está em execução e o serviço detectou que o back-end 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; indefinido, o status do back-end não foi verificado.
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 mais alto receberá mais conexões. Valor padrão null, peso especial não usado para este back-end. Os valores possíveis são de 1 para 9.

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

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

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 para cada ocasião 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.
redirect_code Sessão É o código HTTP retornado quando um redirecionamento é configurado. Os valores possíveis são 301, 302, 307,
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.
sts_status Tanga Status do cabeçalho Strict Transport Security. Para ativar esse recurso, é necessário definir o ouvinte do farm como HTTPS. Os valores possíveis são: verdadeiro para habilitar a diretiva STS no serviço; ou falso para desabilitar a diretiva STS no serviço.
sts_timeout Sessão Tempo (em segundos) que o cliente lembra que o serviço só está disponível com o HTTS.
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,
      "httpsb" : "true",
      "id" : "newsrv",
      "leastresp" : "true",
      "persistence" : "",
      "redirect" : "http://zenloadbalancer.com",
      "redirect_code" : 302,
      "redirecttype" : "default",
      "sessionid" : "sid",
      "sts_status" : "true",
      "sts_timeout" : 21600000,
      "ttl" : 125,
      "urlp" : "^/myapp1$",
      "vhost" : "www.mywebserver.com"
   },
   "status" : "needed restart"
}

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.

Adicionar FarmGuardian

Adicionar FarmGuardian

Exemplo de solicitação:

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

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

Aplique um FarmGuardian a um serviço.

O parâmetro URI é o identificador exclusivo do serviço.

Solicitar Parâmetros

Campo para cada ocasião Descrição
nome Tanga Identificador exclusivo FarmGuardian. Os FarmGuardians são criados e modificados na seção de monitoramento.

Exemplo de resposta:

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

Remover FarmGuardian

Remover FarmGuardian

Exemplo de solicitação:

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

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

Remova o FarmGuardian de um serviço em um farm.

Exemplo de resposta:

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

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.2/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 para cada ocasião 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://<zevenet_server>:444/zapi/v3.2/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://<zevenet_server>:444/zapi/v3.2/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" : [
      {
         "alias" : null,
         "id" : 0,
         "ip" : "192.168.0.10",
         "port" : 88,
         "status" : "up",
         "timeout" : 12,
         "weight" : 1
      },
      {
         "alias" : null,
         "id" : 1,
         "ip" : "192.168.102.245",
         "port" : 80,
         "status" : "up",
         "timeout" : 22,
         "weight" : 2
      }
   ]
}

Parâmetros de Resposta

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

Campo para cada ocasião Descrição
aliás Tanga É um nick para ajudar a identificar o backend. aliás
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. Os valores possíveis são de 1 para 9.
estado Tanga Status de back-end. Os valores possíveis são: up, o farm está em execução e o backend está pronto para receber conexões; down, o farm está em execução e o serviço detectou que o back-end 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; indefinido, o status do back-end não foi verificado.

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://<zevenet_server>:444/zapi/v3.2/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 para cada ocasião 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. Os valores possíveis são de 1 para 9.

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

PUT /farms/<farmname>/services/<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 para cada ocasião 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. Os valores possíveis são de 1 para 9.

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","mode":"cut"}'
 https://<zevenet_server>:444/zapi/v3.2/zapi.cgi/farms/httpfarm/services/newsrv/backends/0/maintenance

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

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 para cada ocasião Descrição Exigido
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.
modo Tanga Escolha um modo de manutenção. As opções disponíveis são: drenar, o back-end não aceita novas conexões, mas continuará a lidar com as conexões atuais; ou corte, as conexões atuais serão fechadas. Se este campo não for especificado, o modo padrão será drenar.

Exemplo de resposta:

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

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://<zevenet_server>:444/zapi/v3.2/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 como é usada com outros perfis da camada 7. 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 com um caractere '*'). Uma vez que um protocolo TCP ou UDP é selecionado, ele estará disponível para especificar uma porta, várias portas entre ',', as portas variam entre ':' ou todas as portas com '*'. Uma combinação de todos eles também será válida.

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

GET /farms/<farmname>

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

Resposta CORPO:

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

Parâmetros de resposta

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

Objeto Agrícola:

Campo para cada ocasião 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 para cada ocasião Descrição
listas negras Objeto[] Regras de lista negra aplicadas ao farm.
dos Objeto[] Regras de DoS aplicadas ao farm.
rbl Objeto[] Regras RBL aplicadas ao farm.

Lista Negra, DoS e RBL Objeto:

Campo para cada ocasião Descrição
nome Tanga O nome da regra.
estado Tanga Status da regra.

Objeto de parâmetros para farms L4xNAT:

Campo para cada ocasião 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.
toras Tanga O farm Registra informações do pacote da camada de transporte, não está disponível informações sobre a camada do aplicativo. Se este parâmetro tiver o valor verdadeiro, os logs estão habilitados; se tem o valor falso, os logs estão desativados.
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 de status disponíveis são: down, a fazenda não está em execução; reinicialização necessária, o farm está ativo, mas está pendente de uma ação de reinicialização; crítico, o farm está ativo e todos os backends são inacessíveis ou de manutenção; problema, o farm está ativo e há algum back-end inacessível, mas quase um back-end está no status up; manutenção, o farm está ativo e há back-ends no status up, mas quase um back-end está no modo de manutenção; up, a fazenda está em alta e todos os backends estão funcionando bem.
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 ,.
farmguardian Tanga É o nome do FarmGuardian que está verificando o status do backend. O FarmGuardian estará em execução enquanto o farm estiver no status ativo.

Objeto de back-end para farms L4xNAT:

Campo para cada ocasião Descrição
aliás Tanga É um nick para ajudar a identificar o backend. aliás
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. Os valores possíveis são: up, o farm está em execução e o backend está pronto para receber conexões; down, o farm está em execução e o serviço detectou que o back-end 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; indefinido, o status do back-end não foi verificado.
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 prioridade e 9 é a prioridade mínima.
peso Sessão É o valor do peso para o servidor real atual. Back-ends com mais peso receberão mais conexões. Os valores possíveis são de 1 para 9.

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

POST /farms

Crie um novo farm L4xNAT.

Solicitar Parâmetros

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

PUT /farms/<farmname>

Modifique a configuração de um farm L4xNAT.

Solicitar Parâmetros

Campo para cada ocasião 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.
toras Tanga O farm Registra informações do pacote da camada de transporte, não está disponível informações sobre a camada do aplicativo. Se este parâmetro tiver o valor verdadeiro, os logs estão habilitados; se tem o valor falso, os logs estão desativados.
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",
      "logs" : "true",
      "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.

Adicionar FarmGuardian

Adicionar FarmGuardian

Exemplo de solicitação:

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

POST /farms/<farmname>/fg

Aplique um FarmGuardian à fazenda.

Solicitar Parâmetros

Campo para cada ocasião Descrição
nome Tanga Identificador exclusivo FarmGuardian. Os FarmGuardians são criados e modificados na seção de monitoramento.

Exemplo de resposta:

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

Remover FarmGuardian

Remover FarmGuardian

Exemplo de solicitação:

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

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

Remova o FarmGuardian do farm.

Exemplo de resposta:

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

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

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

Aplique uma regra de listas negras, DoS ou RBL a um farm.

Solicitar Parâmetros

Campo para cada ocasião 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.2/zapi.cgi/farms/l4Farm/ipds/blacklists/china

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

Remover uma lista negra, DoS ou regra RBL 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://<zevenet_server>:444/zapi/v3.2/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" : [
      {
         "alias" : null,
         "id" : 0,
         "ip" : "192.5.1.1",
         "max_conns" : 400,
         "port" : 787,
         "priority" : 1,
         "status" : "up",
         "weight" : 1
      },
      {
         "alias" : "server-2",
         "id" : 1,
         "ip" : "192.5.1.3",
         "max_conns" : 200,
         "port" : 787,
         "priority" : 2,
         "status" : "up",
         "weight" : 1
      },
   ]
}

Parâmetros de Resposta

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

Campo para cada ocasião Descrição
aliás Tanga É um nick para ajudar a identificar o backend. aliás
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. Os valores possíveis são: up, o farm está em execução e o backend está pronto para receber conexões; down, o farm está em execução e o serviço detectou que o back-end 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; indefinido, o status do back-end não foi verificado.
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 prioridade e 9 é a prioridade mínima.
peso Sessão É o valor do peso para o servidor real atual. Back-ends com mais peso receberão mais conexões. Os valores possíveis são de 1 para 9.

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

POST /farms/<farmname>/backends

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

Solicitar Parâmetros

Campo para cada ocasião 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 prioridade e 9 é a prioridade mínima.
peso Sessão É o valor do peso para o servidor real atual. Back-ends com mais peso receberão mais conexões. Os valores possíveis são de 1 para 9.

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://<zevenet_server>:444/zapi/v3.2/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 para cada ocasião 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 prioridade e 9 é a prioridade mínima.
peso Sessão É o valor do peso para o servidor real atual. Back-ends com mais peso receberão mais conexões. Os valores possíveis são de 1 para 9.

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","mode":"cut"}'
 https://<zevenet_server>:444/zapi/v3.2/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 para cada ocasião 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.
modo Tanga Escolha um modo de manutenção. As opções disponíveis são: drenar, o back-end não aceita novas conexões, mas continuará a lidar com as conexões atuais; ou corte, as conexões atuais serão fechadas.

Exemplo de resposta:

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

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://<zevenet_server>:444/zapi/v3.2/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.2/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" : [],
      "rbl" : [
         {
            "name" : "protection_ssh",
            "status" : "up"
         }
      ]
   },
   "params" : {
      "status" : "needed restart",
      "vip" : "192.168.100.155",
      "vport" : 60
   },
   "services" : [
      {
         "algorithm" : "roundrobin",
         "backends" : [
            {
               "alias" : "localhost",
               "id" : 1,
               "ip" : "127.0.0.1",
               "port" : 53,
               "status" : "up"
            },
            {
               "alias" : "dns-server",
               "id" : 2,
               "ip" : "192.168.55.40",
               "port" : 53,
               "status" : "up"
            },
            {
               "alias" : null,
               "id" : 4,
               "ip" : "192.135.10.2",
               "port" : 53,
               "status" : "up"
            }
         ],
         "deftcpport" : 53,
         "farmguardian" : "dns-request",
         "id" : "service1"
      },
      {
         "algorithm" : "prio",
         "backends" : [
            {
               "alias" : "localhost",
               "id" : 1,
               "ip" : "127.0.0.1",
               "port" : 80,
               "status" : "up"
            },
            {
               "alias" : "localhost",
               "id" : 2,
               "ip" : "127.0.0.1",
               "port" : 80,
               "status" : "up"
            }
         ],
         "deftcpport" : 80,
         "farmguardian" : null,
         "id" : "prioServ"
      }
   ],
   "zones" : [
      {
         "defnamesv" : "ns3",
         "id" : "global.com",
         "resources" : [
            {
               "id" : 0,
               "rdata" : "ns3",
               "rname" : "@",
               "ttl" : null,
               "type" : "NS"
            },
            {
               "id" : 1,
               "rdata" : "192.168.100.155",
               "rname" : "ns3",
               "ttl" : null,
               "type" : "A"
            },
            {
               "id" : 3,
               "rdata" : "resource2",
               "rname" : "ns2",
               "ttl" : null,
               "type" : "NS"
            },
            {
               "id" : 4,
               "rdata" : "192.168.200.30",
               "rname" : "resource2",
               "ttl" : null,
               "type" : "A"
            }
         ]
      },
      {
         "defnamesv" : "ns1",
         "id" : "DOM.com",
         "resources" : [
            {
               "id" : 0,
               "rdata" : "ns1",
               "rname" : "@",
               "ttl" : null,
               "type" : "NS"
            },
            {
               "id" : 1,
               "rdata" : "192.168.100.155",
               "rname" : "ns1",
               "ttl" : null,
               "type" : "A"
            }
         ]
      }
   ]
}

Parâmetros de resposta

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

Objeto Agrícola:

Campo para cada ocasião 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 para cada ocasião Descrição
listas negras Objeto[] Listas negras aplicadas ao farm.
dos Objeto[] Regras de DoS aplicadas ao farm.
rbl Objeto[] Regras RBL aplicadas ao farm.

Lista Negra, DoS e RBL Objeto:

Campo para cada ocasião Descrição
nome Tanga O nome da regra.
estado Tanga Status da regra.

Objeto de parâmetro para farms GSLB:

Campo para cada ocasião 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 de status disponíveis são: down, a fazenda não está em execução; reinicialização necessária, o farm está ativo, mas está pendente de uma ação de reinicialização; crítico, a fazenda está ativa e todos os backends estão inacessíveis; problema, o farm está ativo e há algum back-end inacessível, mas quase um back-end está no status up; up, a fazenda está em alta e todos os backends estão funcionando bem.

Objeto de serviço para farms do GSLB:

Campo para cada ocasião Descrição
backends Objeto[] Backends definidos no serviço.
farmguardian Tanga É o nome do FarmGuardian que está verificando o status do backend. O FarmGuardian estará em execução enquanto o farm estiver no status ativo. Os registros do farmguardian não estão disponíveis para fazendas GSLB
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 para cada ocasião Descrição
aliás Tanga É um nick para ajudar a identificar o backend. aliás
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.
estado Tanga Status de back-end. Os valores possíveis são: up, o farm está em execução e o backend está pronto para receber conexões; down, o farm está em execução e o serviço detectou que o back-end não está funcionando; indefinido, o status do back-end não foi verificado.

Objeto da zona:

Campo para cada ocasião 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 para cada ocasião 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.2/zapi.cgi/farms

POST /farms

Crie um novo farm do GSLB.

Solicitar Parâmetros

Campo para cada ocasião 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://<zevenet_server>:444/zapi/v3.2/zapi.cgi/farms/gslbfarm

PUT /farms/<farmname>

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

Solicitar Parâmetros

Campo para cada ocasião 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.2/zapi.cgi/farms/gslbFarm/ipds/blacklists

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

Aplique uma regra de lista negra, DoS ou RBL ao farm.

Solicitar Parâmetros

Campo para cada ocasião 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.2/zapi.cgi/farms/gslbFarm/ipds/blacklists/china

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

Remover uma regra de lista negra, DoS ou RBL 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 para cada ocasião Descrição
backends Objeto[] Backends definidos no serviço.
farmguardian Tanga É o nome do FarmGuardian que está verificando o status do backend. O FarmGuardian estará em execução enquanto o farm estiver no status ativo.
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://<zevenet_server>:444/zapi/v3.2/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 para cada ocasião 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://<zevenet_server>:444/zapi/v3.2/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 para cada ocasião 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.

Adicionar FarmGuardian

Adicionar FarmGuardian

Exemplo de solicitação:

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

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

Aplique um FarmGuardian a um serviço.

O parâmetro URI é o identificador exclusivo do serviço.

Solicitar Parâmetros

Campo para cada ocasião Descrição
nome Tanga Identificador exclusivo FarmGuardian. Os FarmGuardians são criados e modificados na seção de monitoramento. Os registros FarmGuardian não estão disponíveis para farms gslb.

Exemplo de resposta:

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

Remover FarmGuardian

Remover FarmGuardian

Exemplo de solicitação:

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

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

Remova o FarmGuardian de um serviço em um farm.

Exemplo de resposta:

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

Excluir um serviço

Excluir um serviço

Exemplo de solicitação:

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

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

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://<zevenet_server>:444/zapi/v3.2/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" : [
      {
         "alias" : "localhost",
         "id" : 1,
         "ip" : "127.0.0.1",
         "port":53,
         "status":"up"
      },
      {
         "alias" : "dns-server",
         "id" : 2,
         "ip" : "192.168.55.40",
         "port":53,
         "status":"up"
      }
   ]
}

Parâmetros de Resposta

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

Campo para cada ocasião Descrição
aliás Tanga É um nick para ajudar a identificar o backend. aliás
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.
porta Sessão Porta do back-end onde o serviço real está escutando.
estado Tanga Status de back-end. Os valores possíveis são: up, o farm está em execução e o backend está pronto para receber conexões; down, o farm está em execução e o serviço detectou que o back-end não está funcionando; indefinido, o status do back-end não foi verificado.

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://<zevenet_server>:444/zapi/v3.2/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 para cada ocasião 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://<zevenet_server>:444/zapi/v3.2/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 para cada ocasião 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://<zevenet_server>:444/zapi/v3.2/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://<zevenet_server>:444/zapi/v3.2/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 para cada ocasião 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://<zevenet_server>:444/zapi/v3.2/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 para cada ocasião 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://<zevenet_server>:444/zapi/v3.2/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://<zevenet_server>:444/zapi/v3.2/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 para cada ocasião 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://<zevenet_server>:444/zapi/v3.2/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 para cada ocasião 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://<zevenet_server>:444/zapi/v3.2/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 para cada ocasião 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://<zevenet_server>:444/zapi/v3.2/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.2/zapi.cgi/farms/dlink

GET /farms/<farmname>

Mostrar todas as configurações sobre um farm.

Exemplo de resposta:

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

Parâmetros de resposta

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

Objeto Agrícola:

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

Objeto IPDS:

Campo para cada ocasião Descrição
listas negras Corda[] Listas negras aplicadas ao farm.

Objeto de parâmetros para farms de datalink:

Campo para cada ocasião 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 de status disponíveis são: down, a fazenda não está em execução; reinicialização necessária, o farm está ativo, mas está pendente de uma ação de reinicialização; crítico, a fazenda está ativa e todos os backends estão inacessíveis; problema, o farm está ativo e há algum back-end inacessível, mas quase um back-end está no status up; up, a fazenda está em alta e todos os backends estão funcionando bem.
vip Tanga IP do farm, onde o serviço virtual está escutando.

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

Campo para cada ocasião Descrição
aliás Tanga É um nick para ajudar a identificar o backend. aliás
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
estado Tanga Status de back-end. Os valores possíveis são: up, o farm está em execução e o backend está pronto para receber conexões; down, o farm está em execução e o serviço detectou que o back-end não está funcionando; indefinido, o status do back-end não foi verificado.
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.2/zapi.cgi/farms

POST /farms

Crie um novo farm de link de dados.

Solicitar Parâmetros

Campo para cada ocasião 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://<zevenet_server>:444/zapi/v3.2/zapi.cgi/farms/dlink

PUT /farms/<farmname>

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

Solicitar Parâmetros

Campo para cada ocasião 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.

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

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

Aplique uma regra de lista negra ao farm. Um perfil de conexão de dados aceita apenas regras de lista negra.

Solicitar Parâmetros

Campo para cada ocasião 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 dlink2.",
   "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.2/zapi.cgi/farms/dlink2/ipds/blacklists/china

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

Remover uma lista negra 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 dlink2.",
   "success" : "true"
}

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

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

Aplique uma regra de listas negras a um farm.

Solicitar Parâmetros

Campo para cada ocasião Descrição
nome Tanga Nome da regra da lista negra usado como identificador exclusivo.

Exemplo de resposta:

{
   "description" : "Apply a rule to a farm",
   "message" : "Blacklist rule china was applied successful to the farm dlink2.",
   "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.2/zapi.cgi/farms/dlink2/ipds/blacklists/china

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

Remover uma regra de lista negra 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 dlink2.",
   "success" : "true"
}

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

GET /farms/<farmname>/backends

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

Exemplo de resposta:

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

Parâmetros de Resposta

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

Campo para cada ocasião Descrição
aliás Tanga É um nick para ajudar a identificar o backend. aliás
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.
estado Tanga Status de back-end. Os valores possíveis são: up, o farm está em execução e o backend está pronto para receber conexões; down, o farm está em execução e o serviço detectou que o back-end não está funcionando; indefinido, o status do back-end não foi verificado.
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://<zevenet_server>:444/zapi/v3.2/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 para cada ocasião 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,"priority":1}'
  https://<zevenet_server>:444/zapi/v3.2/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 para cada ocasião Descrição
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 É a prioridade 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",
      "priority" : 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://<zevenet_server>:444/zapi/v3.2/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://<zevenet_server>:444/zapi/v3.2/zapi.cgi/interfaces/nic

GET /interfaces

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

Exemplo de resposta:

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

Parâmetros de resposta

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

Objeto de interface:

Campo para cada ocasião Descrição
aliás Tanga É um nick para ajudar a identificar a interface. aliás
ip Tanga IP da interface. O IP deve estar no mesmo segmento de rede que a interface pai na interface virtual.
has_vlan Tanga verdadeiro, a interface é pai de uma interface VLAN; ou falso, a interface não possui qualquer interface VLAN anexando-a. Este campo é apenas para interfaces NIC.
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.2/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 para cada ocasião 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://<zevenet_server>:444/zapi/v3.2/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 para cada ocasião 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://<zevenet_server>:444/zapi/v3.2/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 às 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://<zevenet_server>:444/zapi/v3.2/zapi.cgi/interfaces/nic

Exemplo de resposta:

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

Parâmetros de resposta

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

Objeto da interface NIC:

Campo para cada ocasião Descrição
aliás Tanga É um nick para ajudar a identificar a interface. aliás
ip Tanga IP da interface.
has_vlan Tanga verdadeiro, a interface é pai de uma interface VLAN; ou falso, a interface não possui qualquer interface VLAN anexando-a.
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://<zevenet_server>:444/zapi/v3.2/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" : {
      "alias" : "gestion",
      "gateway" : "192.168.100.5",
      "ip" : "192.168.100.102",
      "is_slave" : "false",
      "mac" : "62:30:43:36:29:ac",
      "name" : "eth1",
      "netmask" : "255.255.255.0",
      "status" : "up"
   }
}

Parâmetros de resposta

Campo para cada ocasião Descrição
aliás Tanga É um nick para ajudar a identificar a interface. aliás
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://<zevenet_server>:444/zapi/v3.2/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 para cada ocasião 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.
força Tanga Se um farm estiver usando a interface, ela não poderá ser modificada. Então, se este parâmetro for enviado com o valor verdadeiro, a interface será forçada a tomar a nova configuração e todos os farms estão usando a interface será reiniciada.

Exemplo de resposta:

{
   "description" : "Configure nic interface",
   "params" : {
      "gateway" : "192.168.100.5",
      "ip" : "192.168.100.102",
      "netmask" : "255.255.255.0",
      "force" : "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 configuração do NIC

Excluir configuração do NIC

Exemplo de solicitação:

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

DELETE /interfaces/nic/<name>

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://<zevenet_server>:444/zapi/v3.2/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 para cada ocasião 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://<zevenet_server>:444/zapi/v3.2/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" : [
      {
         "alias" : null,
         "gateway" : "",
         "ip" : "",
         "mac" : "66:eb:31:0e:07:71",
         "mode" : "broadcast",
         "name" : "bond2",
         "netmask" : "",
         "slaves" : [
            {
               "name" : "eth2"
            }
         ],
         "status" : "down"
      },
      {
         "alias" : null,
         "gateway" : "192.168.100.1",
         "ip" : "192.168.100.121",
         "mac" : "a2:6d:80:29:87:c6",
         "mode" : "balance-rr",
         "name" : "bondiface",
         "netmask" : "255.255.255.0",
         "slaves" : [
            {
               "name" : "eth3"
            },
            {
               "name" : "eth4"
            }
         ],
         "status" : "up"
      }
   ]
}

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 para cada ocasião Descrição
aliás Tanga É um nick para ajudar a identificar a interface. aliás
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 para cada ocasião 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://<zevenet_server>:444/zapi/v3.2/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" : {
      "alias" : null,
      "gateway" : "192.168.100.1",
      "ip" : "192.168.100.121",
      "mac" : "a2:6d:80:29:87:c6",
      "mode" : "balance-rr",
      "name" : "bondiface",
      "netmask" : "255.255.255.0",
      "slaves" : [
         {
            "name" : "eth3"
         },
         {
            "name" : "eth2"
         }
      ],
      "status" : "up"
   }
}

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 para cada ocasião Descrição
aliás Tanga É um nick para ajudar a identificar a interface. aliás
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 para cada ocasião 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://<zevenet_server>:444/zapi/v3.2/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 para cada ocasião 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 para cada ocasião 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 para cada ocasião 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://<zevenet_server>:444/zapi/v3.2/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 para cada ocasião 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.
força Tanga Se um farm estiver usando a interface, ela não poderá ser modificada. Então, se este parâmetro for enviado com o valor verdadeiro, a interface será forçada a tomar a nova configuração e todos os farms estão usando a interface será reiniciada.

Exemplo de resposta:

{
   "description" : "Modify bond address",
   "params" : {
      "gateway" : "192.168.100.1",
      "ip" : "192.168.100.121",
      "netmask" : "255.255.255.0",
      "force" : "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 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://<zevenet_server>:444/zapi/v3.2/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 às 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://<zevenet_server>:444/zapi/v3.2/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 para cada ocasião 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://<zevenet_server>:444/zapi/v3.2/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 para cada ocasião 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://<zevenet_server>:444/zapi/v3.2/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 às 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://<zevenet_server>:444/zapi/v3.2/zapi.cgi/interfaces/vlan

GET /interfaces/vlan

Obtenha todos os parâmetros de interfaces de VLAN.

Exemplo de resposta:

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

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 para cada ocasião Descrição
aliás Tanga É um nick para ajudar a identificar a interface. aliás
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://<zevenet_server>:444/zapi/v3.2/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" : {
      "alias" : null,
      "gateway" : "192.168.131.1",
      "ip" : "192.168.131.155",
      "mac" : "c2:56:f6:54:ff:a0",
      "name" : "eth0.1",
      "netmask" : "255.255.255.0",
      "status" : "up"
   }
}

Parâmetros de resposta

Campo para cada ocasião Descrição
aliás Tanga É um nick para ajudar a identificar a interface. aliás
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://<zevenet_server>:444/zapi/v3.2/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 para cada ocasião 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://<zevenet_server>:444/zapi/v3.2/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 para cada ocasião 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.
força Tanga Se um farm estiver usando a interface, ela não poderá ser modificada. Então, se este parâmetro for enviado com o valor verdadeiro, a interface será forçada a tomar a nova configuração e todos os farms estão usando a interface será reiniciada.

Exemplo de resposta:

{
   "description" : "Modify VLAN interface",
   "params" : {
      "gateway" : "192.168.131.1",
      "ip" : "192.168.131.155",
      "netmask" : "255.255.255.0",
      "force" : "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 interface VLAN

Excluir interface VLAN

Exemplo de solicitação:

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

DELETE /interfaces/vlan/<name>

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://<zevenet_server>:444/zapi/v3.2/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 para cada ocasião 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://<zevenet_server>:444/zapi/v3.2/zapi.cgi/interfaces/virtual

GET /interfaces/virtual

Obtenha todos os parâmetros de interfaces virtuais.

Exemplo de resposta:

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

Parâmetros de resposta

Campo para cada ocasião Descrição
aliás Tanga É um nick para ajudar a identificar a interface. aliás
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://<zevenet_server>:444/zapi/v3.2/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" : {
      "alias" : null,
      "gateway" : "192.168.100.5",
      "ip" : "192.168.100.41",
      "mac" : "c2:56:f6:54:ff:a0",
      "name" : "eth0:virtiface",
      "netmask" : "255.255.255.0",
      "status" : "down"
   }
}

Parâmetros de resposta

Campo para cada ocasião Descrição
aliás Tanga É um nick para ajudar a identificar a interface. aliás
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://<zevenet_server>:444/zapi/v3.2/zapi.cgi/interfaces/virtual

POST /interfaces/virtual

Crie uma interface virtual.

Solicitar Parâmetros

Campo para cada ocasião 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 para cada ocasião 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://<zevenet_server>:444/zapi/v3.2/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 para cada ocasião Descrição requeridos
ip Tanga IP da interface. O IP deve estar no mesmo segmento de rede que a interface pai. verdadeiro
força Tanga Se um farm estiver usando a interface, ela não poderá ser modificada. Então, se este parâmetro for enviado com o valor verdadeiro, a interface será forçada a tomar a nova configuração e todos os farms estão usando a interface será reiniciada.

Exemplo de resposta:

{
   "description" : "Modify virtual interface",
   "params" : {
      "ip" : "192.168.100.10",
      "force" : "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 interface virtual

Excluir interface virtual

Exemplo de solicitação:

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

DELETE /interfaces/virtual/<name>

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://<zevenet_server>:444/zapi/v3.2/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 para cada ocasião 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://<zevenet_server>:444/zapi/v3.2/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" : [
      {
         "alias" : null,
         "floating_alias" : null,
         "floating_ip" : null,
         "interface" : "bondiface",
         "interface_virtual" : null
      },
      {
         "alias" : null,
         "floating_alias" : null,
         "floating_ip" : "192.168.100.41",
         "interface" : "eth0",
         "interface_virtual" : "eth0:virtiface"
      },
      {
         "alias" : null,
         "floating_alias" : null,
         "floating_ip" : null,
         "interface" : "eth0.1",
         "interface_virtual" : null
      },
      {
         "alias" : "gestion",
         "floating_alias" : null,
         "floating_ip" : null,
         "interface" : "eth1",
         "interface_virtual" : null
      }
   ]
}

Parâmetros de resposta

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

Flutuante objeto:

Campo para cada ocasião Descrição
aliás Tanga É um nick para ajudar a identificar a interface. aliás
floating_alias Tanga É o alias da interface virtual.
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.
interface_virtual Tanga É o nome da interface virtual do IP flutuante usado para mascarar a interface.

Recuperar interface flutuante

Recuperar interface flutuante

Exemplo de solicitação:

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

GET /interfaces/floating/<name>

Mostra se 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" : {
      "alias" : null,
      "floating_alias" : null,
      "floating_ip" : "192.168.100.41",
      "interface" : "eth0",
      "interface_virtual" : "eth0:virtiface"
   }
}

Parâmetros de resposta

Campo para cada ocasião Descrição
aliás Tanga É um nick para ajudar a identificar a interface. aliás
floating_alias Tanga É o alias da interface virtual.
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.
interface_virtual Tanga É o nome da interface virtual do IP flutuante usado para mascarar a interface.

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://<zevenet_server>:444/zapi/v3.2/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 para cada ocasião 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://<zevenet_server>:444/zapi/v3.2/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 - FarmGuardian

FarmGuardian é usado para o estado de monitoramento avançado de backends. Quando um problema é detectado pelo FarmGuardian, ele desativa automaticamente o servidor real e será marcado como na lista negra.

Lista FarmGuardians

Lista FarmGuardians

Exemplo de solicitação:

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

GET /monitoring/fg

Liste os FarmGuardians. Modelos e FarmGuardians disponíveis aparecem na lista.

Exemplo de resposta:

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

Parâmetros de resposta

A resposta será um objeto JSON com a chave params e o formato abaixo:

Campo para cada ocasião Descrição
comando Tanga Comando para verificar o status do serviço no backend. Esses comandos disponíveis estão no caminho libexec.
cut_conns Tanga Os valores possíveis são: verdadeiro, FarmGuardian corta as conexões atuais quando o backend não está disponível; ou falso, se o back-end não estiver disponível, ele será desativado, mas as sessões ativas continuarão.
descrição Tanga Pequena descrição sobre o cheque.
fazendas Corda[] Fazendas onde o FarmGuardian é aplicado.
intervalo Sessão Tempo entre verificações.
log Tanga Os valores possíveis são: verdadeiro, FarmGuardian registrará cada cheque; ou falso, se o back-end não estiver disponível, ele será desativado, mas as sessões ativas continuarão.
nome Tanga Identificador único.
modelo Tanga Se o FarmGuardian for um modelo, ele não será aplicado a nenhum farm. Os modelos são úteis para criar um novo FarmGuardian.

Recuperar um FarmGuardian

Recuperar um FarmGuardian

Exemplo de solicitação:

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

GET /monitoring/fg/<name>

Mostrar a configuração de um FarmGuardian.

O parâmetro URI nome é o identificador exclusivo do FarmGuardian.

Exemplo de resposta:

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

Parâmetros de resposta

A resposta será um objeto JSON com a chave params e o formato abaixo:

Campo para cada ocasião Descrição
comando Tanga Comando para verificar o status do serviço no backend. Esses comandos disponíveis estão no caminho libexec.
cut_conns Tanga Os valores possíveis são: verdadeiro, FarmGuardian corta as conexões atuais quando o backend não está disponível; ou falso, se o back-end não estiver disponível, ele será desativado, mas as sessões ativas continuarão.
descrição Tanga Pequena descrição sobre o cheque.
fazendas Corda[] Fazendas onde o FarmGuardian é aplicado.
intervalo Sessão Tempo entre verificações.
log Tanga Os valores possíveis são: verdadeiro, FarmGuardian registrará cada cheque; ou falso, se o back-end não estiver disponível, ele será desativado, mas as sessões ativas continuarão.
nome Tanga Identificador único.
modelo Tanga Se o FarmGuardian for um modelo, ele não será modificado. Os modelos são úteis para criar um novo FarmGuardian ou se aplicam diretamente a fazendas.

Crie um FarmGuardian

Crie um FarmGuardian

Exemplo de solicitação:

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

POST /monitoring/fg

Crie um novo FarmGuardian.

Solicitar Parâmetros

A resposta será um objeto JSON com a chave params e o formato abaixo:

Campo para cada ocasião Descrição Exigido
nome Tanga Identificador único. verdadeiro
principal Tanga É o FarmGuardian usado como modelo para criar o novo FarmGuardian. Se esse campo não for enviado, o novo FarmGuardian será criado em branco.

Exemplo de resposta:

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

Parâmetros de resposta

A resposta será um objeto JSON com a chave params e o formato abaixo:

Campo para cada ocasião Descrição
comando Tanga Comando para verificar o status do serviço no backend. Esses comandos disponíveis estão no caminho libexec.
cut_conns Tanga Os valores possíveis são: verdadeiro, FarmGuardian corta as conexões atuais quando o backend não está disponível; ou falso, se o back-end não estiver disponível, ele será desativado, mas as sessões ativas continuarão.
descrição Tanga Pequena descrição sobre o cheque.
fazendas Corda[] Fazendas onde o FarmGuardian é aplicado.
intervalo Sessão Tempo entre verificações.
log Tanga Os valores possíveis são: verdadeiro, FarmGuardian registrará cada cheque; ou falso, se o back-end não estiver disponível, ele será desativado, mas as sessões ativas continuarão.
nome Tanga Identificador único.
modelo Tanga Se o FarmGuardian for um modelo, ele não será modificado. Os modelos são úteis para criar um novo FarmGuardian ou se aplicam diretamente a fazendas.

Modifique um FarmGuardian

Modifique um FarmGuardian

Exemplo de solicitação:

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

PUT /monitoring/fg/<name>

Modifique um FarmGuardian.

O parâmetro URI nome é o identificador exclusivo do FarmGuardian.

Solicitar Parâmetros

A resposta será um objeto JSON com a chave params e o formato abaixo:

Campo para cada ocasião Descrição Exigido
comando Tanga Comando para verificar o status do serviço no backend. Esses comandos disponíveis estão no caminho libexec.
cut_conns Tanga Os valores possíveis são: verdadeiro, FarmGuardian corta as conexões atuais quando o backend não está disponível; ou falso, se o back-end não estiver disponível, ele será desativado, mas as sessões ativas continuarão.
descrição Tanga Pequena descrição sobre o cheque.
intervalo Sessão Tempo entre verificações.
log Tanga Os valores possíveis são: verdadeiro, FarmGuardian registrará cada cheque; ou falso, se o back-end não estiver disponível, ele será desativado, mas as sessões ativas continuarão.
força Tanga Se um farm em execução estiver usando o FarmGuardian, o FarmGuardian não poderá ser modificado. Então, se este parâmetro for enviado com o valor verdadeiro, o FarmGuardian será forçado a assumir a nova configuração.

Exemplo de resposta:

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

Parâmetros de resposta

A resposta será um objeto JSON com a chave params e o formato abaixo:

Campo para cada ocasião Descrição
comando Tanga Comando para verificar o status do serviço no backend. Esses comandos disponíveis estão no caminho libexec.
cut_conns Tanga Os valores possíveis são: verdadeiro, FarmGuardian corta as conexões atuais quando o backend não está disponível; ou falso, se o back-end não estiver disponível, ele será desativado, mas as sessões ativas continuarão.
descrição Tanga Pequena descrição sobre o cheque.
fazendas Corda[] Fazendas onde o FarmGuardian é aplicado.
intervalo Sessão Tempo entre verificações.
log Tanga Os valores possíveis são: verdadeiro, FarmGuardian registrará cada cheque; ou falso, se o back-end não estiver disponível, ele será desativado, mas as sessões ativas continuarão.
nome Tanga Identificador único.
modelo Tanga Se o FarmGuardian for um modelo, ele não será aplicado a nenhum farm. Os modelos são úteis para criar um novo FarmGuardian.

Excluir um FarmGuardian

Excluir um FarmGuardian

Exemplo de solicitação:

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

DELETE /monitoring/fg/<name>

APAGAR um FarmGuardian.

O parâmetro URI nome é o identificador exclusivo do FarmGuardian.

Exemplo de resposta:

{
   "description" : "Delete the farm guardian custom-tcp",
   "message" : "custom-tcp has been deleted successful.",
   "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.2/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 para cada ocasião 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 para cada ocasião 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 para cada ocasião 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 para cada ocasião 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 para cada ocasião 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 taxa de transferência de interface

Mostrar taxa de transferência de interface

Exemplo de solicitação:

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

GET /stats/interfaces/throughput

Obtenha uma média por segundo do tráfego de taxa de entrada e saída para cada interface nic, bonding e vlan.

Exemplo de resposta:

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

Parâmetros de resposta

A resposta será um JSON com uma chave params cujo valor é um objeto de interface com o nome da interface como chave e como valor um objeto de entrada e saída com os campos:

Campo para cada ocasião Descrição
bytes Sessão Número de B / s passando pela interface.
pacotes Sessão Número de pacotes por segundo passando pela 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.2/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 para cada ocasião 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 para cada ocasião 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.2/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 às nic.

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

Objeto Bond:

Campo para cada ocasião 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 para cada ocasião 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.2/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 para cada ocasião 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.2/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 para cada ocasião 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.2/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 para cada ocasião 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.2/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 para cada ocasião 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.2/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 para cada ocasião 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.2/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 para cada ocasião 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 de status disponíveis são: down, a fazenda não está em execução; reinicialização necessária, o farm está ativo, mas está pendente de uma ação de reinicialização; crítico, o farm está ativo e todos os backends são inacessíveis ou de manutenção; problema, o farm está ativo e há algum back-end inacessível, mas quase um back-end está no status up; manutenção, o farm está ativo e há back-ends no status up, mas quase um back-end está no modo de manutenção; up, a fazenda está em alta e todos os backends estão funcionando bem.
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.2/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 para cada ocasião Descrição
backends Objeto[] Mostrar informações sobre backends.
sessões Objeto[] Mostrar informações sobre sessões.

Objeto Backend

Campo para cada ocasião 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 farm está em execução e o backend está pronto para receber conexões; down, o farm está em execução e o serviço detectou que o back-end 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; indefinido, o status do back-end não foi verificado.

Objeto da Sessão

Campo para cada ocasião 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 para cada ocasião 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 para cada ocasião 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 farm está em execução e o backend está pronto para receber conexões; down, o farm está em execução e o serviço detectou que o back-end não está funcionando; indefinido, o status do back-end não foi verificado.

Objeto do cliente

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

}

Parâmetros de resposta em fazendas L4xNAT

A resposta será um JSON com objeto backends e às sessões:

Objeto de back-end:

Campo para cada ocasião 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 farm está em execução e o backend está pronto para receber conexões; down, o farm está em execução e o serviço detectou que o back-end 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; indefinido, o status do back-end não foi verificado.

Objeto de sessão:

Campo para cada ocasião Descrição
id Sessão Identificador exclusivo de back-end em que o cliente está atribuído.
Sessão Tanga Identificador exclusivo de sessão. É o IP do cliente.

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.2/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" : {
         "critical" : 0,
         "down" : 1,
         "problem" : 0,
         "total" : 2,
         "up" : 1
      },
      "gslb" : {
         "critical" : 0,
         "down" : 0,
         "problem" : 0,
         "total" : 1,
         "up" : 1
      },
      "lslb" : {
         "critical" : 0,
         "down" : 2,
         "problem" : 0,
         "total" : 4,
         "up" : 2
      }
   }
}

Parâmetros de resposta

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

Campo para cada ocasião Descrição
crítico Sessão Número de fazendas em estado crítico. O farm é crítico quando está ativo e todos os back-ends são inacessíveis (inativos ou de manutenção).
down Sessão Número de fazendas paradas. As fazendas são paradas pelo administrador do sistema.
problema Sessão Número de farms no status do problema. O farm é um problema quando está ativo e quase um back-end está no status baixo.
total Sessão Número de fazendas totais.
up Sessão Número de farms em execução. Aqui é exibido maintenanced e precisa reiniciar o status do farm.

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.2/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 para cada ocasião 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 de status disponíveis são: down, a fazenda não está em execução; reinicialização necessária, o farm está ativo, mas está pendente de uma ação de reinicialização; crítico, o farm está ativo e todos os backends são inacessíveis ou de manutenção; problema, o farm está ativo e há algum back-end inacessível, mas quase um back-end está no status up; manutenção, o farm está ativo e há back-ends no status up, mas quase um back-end está no modo de manutenção; up, a fazenda está em alta e todos os backends estão funcionando bem.
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.2/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 às sistema.

Campo para cada ocasião 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 para cada ocasião 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.2/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.2/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.2/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 para cada ocasião 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.2/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.2/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.2/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 para cada ocasião 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 para cada ocasião Descrição
gráficos Tanga Gráfico no formato base 64.

Monitoramento - Aliases

Coloque um alias em uma interface ou back-end para identificá-lo rapidamente.

Existem dois tipos de aliases, o alias de interface pode ser aplicado em todos os tipos de interfaces: NIC, bonding, vlan ou virtual. É uma maneira fácil de relacionar um nome de interface com um nome mais amigável.

O outro tipo de alias é para backends. Isso relaciona o IP de back-end com um alias.

Os aliases são apenas uma informação visual, não substituem o IP de backend ou o nome da interface em uma solicitação de zapi.

Listar aliases

Listar aliases

Exemplo de solicitação:

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

GET /aliases/<backends|interfaces>

Listar os aliases no sistema para interfaces ou back-ends.

Exemplo de resposta:

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

Parâmetros de resposta

A API retorna um hash onde a chave é o IP de backend ou o nome da interface e o valor é seu alias.

Crie ou modifique um alias

Crie ou modifique um alias

Exemplo de solicitação:

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

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

Se o objeto tiver um alias, ele será substituído, caso contrário, um alias será criado para o objeto.

A id O parâmetro URI é o IP de back-end ou o nome da interface.

Solicitar Parâmetros

Campo para cada ocasião Descrição
aliás Tanga É o nick do elemento id enviado no URI.

Exemplo de resposta:

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

Parâmetros de resposta

O zapi retorna uma mensagem de sucesso se o processo foi corretamente.

Excluir um alias

Excluir um alias

Exemplo de solicitação:

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

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

Exclui o alias de uma interface ou back-end.

A id O parâmetro URI é o IP de back-end ou o nome da interface.

Exemplo de resposta:

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

Parâmetros de resposta

O zapi retorna uma mensagem de sucesso se o processo foi corretamente.

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, DoS or RBL.

Listar todas as regras do ipds

Listar regras de ipds

Exemplo de solicitação:

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

GET /ipds

Lista todas as regras de ipds que saem do sistema.

Exemplo de resposta:

{
   "description" : "List the available IPDS rules.",
   "params" : [
      {
         "name" : "dosrst",
         "rule" : "dos",
         "type" : "farm"
      },
      {
         "name" : "ssh_brute_force",
         "rule" : "dos",
         "type" : "system"
      },
      {
         "name" : "geo_IL_israel",
         "rule" : "blacklist"
      },
      {
         "name" : "geo_ME_montenegro",
         "rule" : "blacklist"
      },
      {
         "name" : "sip",
         "rule" : "rbl"
      },
      {
         "name" : "ssh",
         "rule" : "rbl"
      }
   ]
}

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 para cada ocasião Descrição
nome Tanga Nome da regra IPDS. É usado como identificador exclusivo.
governar Tanga É a natureza da regra dos ipds. Pode ser lista negra, dos or rbl.
tipo Tanga Este campo aparece em das regras e define se a regra é sistema, aplica-se ao balanceador; ou fazenda, as regras se aplicam a um farm.

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, uma do tipo negar e outro do tipo 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://<zevenet_server>:444/zapi/v3.2/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",
         "status" : "down",
         "type" : "local"
      },
      {
         "farms" : [],
         "name" : "russia",
         "policy" : "deny",
         "preload" : "true",
         "status" : "down",
         "type" : "local"
      },
      {
         "farms" : [],
         "name" : "northkorea",
         "policy" : "deny",
         "preload" : "true",
         "status" : "down",
         "type" : "local"
      },
      {
         "farms" : [
            "FarmHttp1",
            "FarmGslb1",
         ],
         "name" : "remoteList",
         "policy" : "deny",
         "preload" : "false",
         "status" : "up",
         "type" : "remote"
      },
      {
         "farms" : [],
         "name" : "myWhiteList",
         "policy" : "allow",
         "preload" : "false",
         "status" : "down",
         "type" : "local"
      },
   ]
}

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 para cada ocasião 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.
estado Tanga Os valores possíveis são: up, a lista negra é ativada e bloqueando (ou permitindo) o tráfego de fontes da lista; ou down, na verdade, a regra não está em execução e não está filtrando o tráfego.
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://<zevenet_server>:444/zapi/v3.2/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"
         }
      ],
      "status" : "up",
      "type" : "local"
   }
}

Objeto de lista negra local:

Campo para cada ocasião 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.
estado Tanga Os valores possíveis são: up, a lista negra é ativada e bloqueando (ou permitindo) o tráfego de fontes da lista; ou down, na verdade, a regra não está em execução e não está filtrando o tráfego.
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
      },
      "status" : "up",
      "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 para cada ocasião 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 às 31).
tempo objeto É uma estrutura que depende dos campos freqüência.
estado Tanga Os valores possíveis são: up, a lista negra é ativada e bloqueando (ou permitindo) o tráfego de fontes da lista; ou down, na verdade, a regra não está em execução e não está filtrando o tráfego.

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

Campo para cada ocasião Descrição
período Sessão Com que frequência a lista é atualizada.
unidades 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 para cada ocasião Descrição
hora Sessão Hora para atualizar a lista. O valor deve ser um número entre 0 e às 23.
minutos Sessão Minutos para atualizar a lista. O valor deve ser um número entre 0 e às 59.

Objeto de fontes

Campo para cada ocasião 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://<zevenet_server>:444/zapi/v3.2/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://<zevenet_server>:444/zapi/v3.2/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 para cada ocasião 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 para cada ocasião 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://<zevenet_server>:444/zapi/v3.2/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 para cada ocasião 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. Para alterar apenas uma fonte, consulte a seção de 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://<zevenet_server>:444/zapi/v3.2/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://<zevenet_server>:444/zapi/v3.2/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://<zevenet_server>:444/zapi/v3.2/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://<zevenet_server>:444/zapi/v3.2/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://<zevenet_server>:444/zapi/v3.2/zapi.cgi/ipds/blacklists/newListRem

Solicitar parâmetros para uma lista remota

Campo para cada ocasião 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 às 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 para cada ocasião 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 às frequency_type is exato.

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

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

Campo para cada ocasião Descrição
hora Sessão Hora para atualizar a lista. O valor deve ser um número entre 0 e às 23.
minutos Sessão Minutos para atualizar a lista. O valor deve ser um número entre 0 e às 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.

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://<zevenet_server>:444/zapi/v3.2/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://<zevenet_server>:444/zapi/v3.2/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 para cada ocasião 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://<zevenet_server>:444/zapi/v3.2/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 para cada ocasião 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://<zevenet_server>:444/zapi/v3.2/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 para cada ocasião 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://<zevenet_server>:444/zapi/v3.2/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"
}

Aplicar uma ação a uma regra de lista negra

Aplique uma ação

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

POST /ipds/blacklists/<name>/actions

Aplique uma ação a uma lista negra. nome é o identificador exclusivo da lista negra.

Solicitar Parâmetros

Campo para cada ocasião Descrição Exigido
açao Tanga Ação desejada para aplicar a uma regra de lista negra. Os valores disponíveis são: começo, ativa o blaclist em todas as fazendas onde é aplicado; Pare, interrompe a lista negra para todos os farm onde a regra da lista negra é aplicada, o tráfego não será bloqueado ou permitido; atualizar, esta ação só pode ser aplicada a remoto listas negras, esta ação atualiza a lista de fontes do remoto URL. 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 para cada ocasião Descrição Exigido
atualizar Tanga Status do último download da lista e data da última atualização bem-sucedida.

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 para cada ocasião 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 para cada ocasião 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 para cada ocasião 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 para cada ocasião 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 para cada ocasião 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.

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://<zevenet_server>:444/zapi/v3.2/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"
         },
      ]
   }
}

Parâmetros de resposta

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

Campo para cada ocasião 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://<zevenet_server>:444/zapi/v3.2/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",
         "status" : "down",
         "type" : "farm"
      },
      {
         "farms" : [],
         "limit" : 2,
         "limit_burst" : 2,
         "name" : "limitUsers",
         "rule" : "limitsec",
         "status" : "down",
         "type" : "farm"
      },
      {
         "hits" : 5,
         "name" : "ssh_brute_force",
         "port" : 22,
         "rule" : "sshbruteforce",
         "status" : "down",
         "time" : 180,
         "type" : "system"
      },
      {
         "farms" : [],
         "name" : "tcpAuth",
         "rule" : "bogustcpflags",
         "status" : "down",
         "type" : "farm"
      },
      {
         "farms" : [],
         "limit" : 2,
         "limit_burst" : 2,
         "name" : "dos4",
         "rule" : "limitrst",
         "status" : "down",
         "type" : "farm"
      },
   ]
}

Parâmetros de resposta

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

Campo para cada ocasião 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.
estado Tanga Os valores possíveis são: up, a regra DoS é ativada e filtrando o tráfego; ou down, a regra não está em execução e não está filtrando tráfego.

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

limitsec

Campo para cada ocasião 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 para cada ocasião 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 para cada ocasião Descrição
fazendas Corda[] Fazendas onde a regra é aplicada.

limitrst

Campo para cada ocasião 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 para cada ocasião 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.

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

Exemplo de solicitação para regra do sistema:

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

GET /ipds/dos/<name>

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",
      "status" : "down",
      "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 para cada ocasião 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.
estado Tanga Os valores possíveis são: up, a regra DoS é ativada e filtrando o tráfego; ou down, a regra não está em execução e não está filtrando tráfego.

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

limitsec

Campo para cada ocasião 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 para cada ocasião 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 para cada ocasião Descrição
fazendas Corda[] Fazendas onde a regra é aplicada.

limitrst

Campo para cada ocasião 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 para cada ocasião 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.

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://<zevenet_server>:444/zapi/v3.2/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 para cada ocasião 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://<zevenet_server>:444/zapi/v3.2/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 para cada ocasião 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 para cada ocasião 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 para cada ocasião 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 para cada ocasião 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 Os valores possíveis são: up, a regra DoS é ativada e filtrando o tráfego; ou down, a regra não está em execução e não está filtrando tráfego.

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://<zevenet_server>:444/zapi/v3.2/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"
}

Aplicar uma ação a uma regra DoS

Aplique uma ação

Solicitar exemplo para uma lista remota:

curl -k -X POST -H 'Content-Type: application/json' -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
-d '{"action":"start"}'
https://<zevenet_server>:444/zapi/v3.2/zapi.cgi/ipds/dos/conns_maximum/actions

POST /ipds/dos/<name>/actions

Aplique uma ação a uma regra dos. nome é o identificador exclusivo da regra.

Solicitar Parâmetros

Campo para cada ocasião Descrição Exigido
açao Tanga Ação desejada para aplicar a uma regra DoS. Os valores disponíveis são: começo, ativa a regra DoS em todas as fazendas onde é aplicada; Pare, desativa o DoS para todos os farm onde a regra DoS é aplicada, o tráfego não será bloqueado ou permitido. verdadeiro

Exemplo de resposta:

{
   "description" : "Apply a action to a DoS rule",
   "params" : {
      "action" : "start"
   }
}

Parâmetros de resposta

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

IPDS - RBL

RBLAs listas de blackhole em tempo real permitem criar um sistema de segurança delegando a tediosa tarefa de manutenção de um sistema de segurança atualizado a um especialista. A RBL verifica o tráfego de entrada do balanceador de carga em um banco de dados externo por meio do protocolo DNS. O proprietário do servidor DNS é responsável por atualizar e fornecer fontes de qualidade. O tráfego de entrada de uma fonte IP que está no banco de dados DNS será descartado.

Para trabalhar com o serviço RBL, os primeiros domínios DNS serão adicionados, cada domínio DNS contido em uma lista providor específica que classifica a fonte para diferentes critérios como tipo de ataque realizado ou gravidade de um ataque.

Depois que os domínios DNS forem criados, será necessário criar uma regra RBL com a configuração da regra. Em seguida, vinculando domínios DNS com a regra RBL. Cada regra pode examinar domínios diferentes.

Por último, aplique a regra RBL a todos os farms desejados.

Listar todas as regras da RBL

Listar todas as regras da RBL

Exemplo de solicitação:

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

GET /ipds/rbl

Listar todas as regras RBL disponíveis no balanceador de carga.

Exemplo de resposta:

{
   "description" : "Get RBL rules",
   "params" : [
      {
         "cache_size" : 8192,
         "cache_time" : 3600,
         "domains" : [
            "ssh.rbl.zevenet.com",
            "ssh.blocklist.de"
         ],
         "farms" : [
            "sshL4farm"
         ],
         "local_traffic" : "false",
         "log_level" : 4,
         "name" : "protection_ssh",
         "only_logging" : "true",
         "queue_size" : 64538,
         "status" : "down",
         "threadmax" : 700
      },
      {
         "cache_size" : 2048,
         "cache_time" : 7200,
         "domains" : [],
         "farms" : [],
         "local_traffic" : "true",
         "log_level" : 4,
         "name" : "sip",
         "only_logging" : "true",

         "queue_size" : 32269,
         "status" : "down",
         "threadmax" : 400
      },
      {
         "cache_size" : 8192,
         "cache_time" : 3600,
         "domains" : [],
         "farms" : [
            "webAPP"
         ],
         "local_traffic" : "false",
         "log_level" : 4,
         "name" : "web_attacks",
         "only_logging" : "true",
         "queue_size" : 64538,
         "status" : "down",
         "threadmax" : 700
      }
   ]
}

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 RBL, cada um contendo os atributos-chave abaixo.

Campo para cada ocasião Descrição
tamanho da memória cache Sessão É o número de fontes IP que a regra RBL pode armazenar em cache.
cache_time Sessão É o tempo (em segundos) que uma fonte IP será bloqueada.
domínios Corda[] É uma lista com todos os domínios que a regra está consultando.
fazendas Corda[] Lista de farms onde a lista negra é aplicada.
local_traffic Tanga Se este campo tiver o valor verdadeiro, a regra RBL examinará o tráfego de segmentos da rede privada; ou se o seu valor é falso a regra RBL ignorará o tráfego de segmentos da rede privada. O tráfego local nunca será bloqueado por um DNS público.
log_level Sessão É o nível do log de gravidade. Pode ter um valor entre 0 e 7, sendo 0 emergency e 7 debug.
nome Tanga Nome da regra RBL. É usado como identificador exclusivo.
only_logging Tanga Se o valor for verdadeiro, quando um IP corresponde em um domínio, ele será registrado; ou se esse campo tiver o valor falso, quando um IP corresponde a um domínio, o IP será registrado e o pacote será descartado.
queue_size Sessão É o número de pacotes que a regra pode manter na fila.
estado Tanga Mostrar o status da regra RBL. Seu valor pode ser down, se a regra não estiver funcionando; ou up a regra está funcionando.
threadmax Tanga É o número de pacotes que a regra pode consultar simultaneamente para servidores DNS. Seu valor máximo é 700. Quando o número de pacotes de entrada é maior que threadmax, os próximos pacotes serão aceitos automaticamente.

Recuperar uma regra RBL

Recuperar regra RBL

Exemplo de solicitação:

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

GET /ipds/rbl/<name>

Mostra a configuração da RBL e seus parâmetros de descrição. nome é o identificador exclusivo da regra RBL.

Parâmetros de resposta

Exemplo de resposta:

{
   "description" : "Get RBL protection_ssh",
   "params" : {
      "cache_size" : 8192,
      "cache_time" : 3600,
      "domains" : [
         "ssh.zevenet.com",
         "ssh.blocklist.de"
      ],
      "farms" : [
        "sshL4farm"
      ],
      "local_traffic" : "false",
      "log_level" : 4,
      "name" : "protection_ssh",
      "only_logging" : "true",
      "queue_size" : 64538,
      "status" : "down",
      "threadmax" : 700
   }
}

Objeto de regra RBL:

Campo para cada ocasião Descrição
tamanho da memória cache Sessão É o número de fontes IP que a regra RBL pode armazenar em cache.
cache_time Sessão É o tempo (em segundos) que uma fonte IP será bloqueada.
domínios Corda[] É uma lista com todos os domínios que a regra está consultando.
fazendas Corda[] Lista de farms onde a lista negra é aplicada.
local_traffic Tanga Se este campo tiver o valor verdadeiro, a regra RBL examinará o tráfego de segmentos da rede privada; ou se o seu valor é falso a regra RBL ignorará o tráfego de segmentos da rede privada. O tráfego local nunca será bloqueado por um DNS público.
log_level Sessão É o nível do log de gravidade. Pode ter um valor entre 0 e 7, sendo 0 emergency e 7 debug.
nome Tanga Nome da regra RBL. É usado como identificador exclusivo.
only_logging Tanga Se o valor for verdadeiro, quando um IP corresponde em um domínio, ele será registrado; ou se esse campo tiver o valor falso, quando um IP corresponde a um domínio, o IP será registrado e o pacote será descartado.
queue_size Sessão É o número de pacotes que a regra pode manter na fila.
estado Tanga Mostrar o status da regra RBL. Seu valor pode ser down, se a regra não estiver funcionando; ou up a regra está funcionando.
threadmax Tanga É o número de pacotes que a regra pode consultar simultaneamente para servidores DNS. Seu valor máximo é 700. Quando o número de pacotes de entrada é maior que threadmax, os próximos pacotes serão aceitos automaticamente.

Crie uma regra RBL

Crie uma nova regra RBL

Exemplo de solicitação:

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

POST /ipds/rbl

Crie uma regra RBL para ser usada nos farms.

Solicitar Parâmetros

Campo para cada ocasião Descrição Exigido
nome Tanga Nome da regra RBL. É usado como identificador exclusivo. verdadeiro
{
   "description" : "Create a RBL rule.",
   "params" : {
      "cache_size" : 8192,
      "cache_time" : 3600,
      "domains" : [],
      "farms" : [],
      "local_traffic" : "false",
      "log_level" : 4,
      "name" : "all",
      "only_logging" : "true",
      "queue_size" : 64538,
      "status" : "down",
      "threadmax" : 700
   }
}

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 RBL, cada um contendo os próximos atributos-chave.

Campo para cada ocasião Descrição
tamanho da memória cache Sessão É o número de fontes IP que a regra RBL pode armazenar em cache.
cache_time Sessão É o tempo (em segundos) que uma fonte IP será bloqueada.
domínios Corda[] É uma lista com todos os domínios que a regra está consultando.
fazendas Corda[] Lista de farms onde a lista negra é aplicada.
local_traffic Tanga Se este campo tiver o valor verdadeiro, a regra RBL examinará o tráfego de segmentos da rede privada; ou se o seu valor é falso a regra RBL ignorará o tráfego de segmentos da rede privada. O tráfego local nunca será bloqueado por um DNS público.
log_level Sessão É o nível do log de gravidade. Pode ter um valor entre 0 e 7, sendo 0 emergency e 7 debug.
nome Tanga Nome da regra RBL. É usado como identificador exclusivo.
only_logging Tanga Se o valor for verdadeiro, quando um IP corresponde em um domínio, ele será registrado; ou se esse campo tiver o valor falso, quando um IP corresponde a um domínio, o IP será registrado e o pacote será descartado.
queue_size Sessão É o número de pacotes que a regra pode manter na fila.
estado Tanga Mostrar o status da regra RBL. Seu valor pode ser down, se a regra não estiver funcionando; ou up a regra está funcionando.
threadmax Tanga É o número de pacotes que a regra pode consultar simultaneamente para servidores DNS. Seu valor máximo é 700. Quando o número de pacotes de entrada é maior que threadmax, os próximos pacotes serão aceitos automaticamente.

Modificar uma regra RBL

Modificar uma regra RBL

Exemplo de solicitação:

curl -k -X PUT -H 'Content-Type: application/json' -H "ZAPI_KEY: <ZAPI_KEY_STRING>" 
-d '{"name":"all_reported","cache_size":16384, "cache_time":180000, "queue_size":32269, "threadmax":500, "local_traffic":"true", "log_level":4, "only_logging":"true"}'
https://<zevenet_server>:444/zapi/v3.2/zapi.cgi/ipds/rbl/all

PUT /ipds/rule/<name>

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

Parâmetros de solicitação:

Campo para cada ocasião Descrição
tamanho da memória cache Sessão É o número de fontes IP que a regra RBL pode armazenar em cache.
cache_time Sessão É o tempo (em segundos) que uma fonte IP será bloqueada.
local_traffic Tanga Se este campo tiver o valor verdadeiro, a regra RBL examinará o tráfego de segmentos da rede privada; ou se o seu valor é falso a regra RBL ignorará o tráfego de segmentos da rede privada. O tráfego local nunca será bloqueado por um DNS público.
log_level Sessão É o nível do log de gravidade. Pode ter um valor entre 0 e 7, sendo 0 emergency e 7 debug.
nome Tanga Nome da regra RBL. É usado como identificador exclusivo.
only_logging Tanga Se o valor for verdadeiro, quando um IP corresponde em um domínio, ele será registrado; ou se esse campo tiver o valor falso, quando um IP corresponde a um domínio, o IP será registrado e o pacote será descartado.
queue_size Sessão É o número de pacotes que a regra pode manter na fila.
threadmax Tanga É o número de pacotes que a regra pode consultar simultaneamente para servidores DNS. Seu valor máximo é 700. Quando o número de pacotes de entrada é maior que threadmax, os próximos pacotes serão aceitos automaticamente.

Exemplo de resposta:

{
   "description" : "Modify RBL rule all.",
   "params" : {
      "cache_size" : 16384,
      "cache_time" : 180000,
      "domains" : [],
      "farms" : [],
      "local_traffic" : "true",
      "log_level" : 4,
      "name" : "all",
      "only_logging" : "true",
      "queue_size" : 32269,
      "status" : "down",
      "threadmax" : 500
   }
}

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 RBL, cada um contendo os próximos atributos-chave.

Campo para cada ocasião Descrição
tamanho da memória cache Sessão É o número de fontes IP que a regra RBL pode armazenar em cache.
cache_time Sessão É o tempo (em segundos) que uma fonte IP será bloqueada.
domínios Corda[] É uma lista com todos os domínios que a regra está consultando.
fazendas Corda[] Lista de farms onde a lista negra é aplicada.
local_traffic Tanga Se este campo tiver o valor verdadeiro, a regra RBL examinará o tráfego de segmentos da rede privada; ou se o seu valor é falso a regra RBL ignorará o tráfego de segmentos da rede privada. O tráfego local nunca será bloqueado por um DNS público.
log_level Sessão É o nível do log de gravidade. Pode ter um valor entre 0 e 7, sendo 0 emergency e 7 debug.
nome Tanga Nome da regra RBL. É usado como identificador exclusivo.
only_logging Tanga Se o valor for verdadeiro, quando um IP corresponde em um domínio, ele será registrado; ou se esse campo tiver o valor falso, quando um IP corresponde a um domínio, o IP será registrado e o pacote será descartado.
queue_size Sessão É o número de pacotes que a regra pode manter na fila.
estado Tanga Mostrar o status da regra RBL. Seu valor pode ser down, se a regra não estiver funcionando; ou up a regra está funcionando.
threadmax Tanga É o número de pacotes que a regra pode consultar simultaneamente para servidores DNS. Seu valor máximo é 700. Quando o número de pacotes de entrada é maior que threadmax, os próximos pacotes serão aceitos automaticamente.

Copiar uma regra RBL

Copiar uma regra RBL

Exemplo de solicitação:

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

POST /ipds/rule/<name>

Copie uma regra RBL para criar uma nova regra. nome é o identificador exclusivo da regra RBL.

Parâmetros de solicitação:

Campo para cada ocasião Descrição requeridos
nome Tanga Nome da regra RBL para a nova regra. É usado como identificador exclusivo. verdadeiro

Exemplo de resposta:

{
   "description" : "Copy a RBL rule.",
   "params" : {
      "cache_size" : 16384,
      "cache_time" : 180000,
      "domains" : [],
      "farms" : [],
      "local_traffic" : "true",
      "log_level" : 4,
      "name" : "copied_rule",
      "only_logging" : "true",
      "queue_size" : 32269,
      "status" : "down",
      "threadmax" : 500
   }
}

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 RBL, cada um contendo os próximos atributos-chave.

Campo para cada ocasião Descrição
tamanho da memória cache Sessão É o número de fontes IP que a regra RBL pode armazenar em cache.
cache_time Sessão É o tempo (em segundos) que uma fonte IP será bloqueada.
domínios Corda[] É uma lista com todos os domínios que a regra está consultando.
fazendas Corda[] Lista de farms onde a lista negra é aplicada.
local_traffic Tanga Se este campo tiver o valor verdadeiro, a regra RBL examinará o tráfego de segmentos da rede privada; ou se o seu valor é falso a regra RBL ignorará o tráfego de segmentos da rede privada. O tráfego local nunca será bloqueado por um DNS público.
log_level Sessão É o nível do log de gravidade. Pode ter um valor entre 0 e 7, sendo 0 emergency e 7 debug.
nome Tanga Nome da regra RBL. É usado como identificador exclusivo.
only_logging Tanga Se o valor for verdadeiro, quando um IP corresponde em um domínio, ele será registrado; ou se esse campo tiver o valor falso, quando um IP corresponde a um domínio, o IP será registrado e o pacote será descartado.
queue_size Sessão É o número de pacotes que a regra pode manter na fila.
estado Tanga Mostrar o status da regra RBL. Seu valor pode ser down, se a regra não estiver funcionando; ou up a regra está funcionando.
threadmax Tanga É o número de pacotes que a regra pode consultar simultaneamente para servidores DNS. Seu valor máximo é 700. Quando o número de pacotes de entrada é maior que threadmax, os próximos pacotes serão aceitos automaticamente.

Excluir uma regra RBL

Excluir um RBL

Exemplo de solicitação:

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

DELETE /ipds/rbl/<name>

Exclua uma regra RBL específica. nome é o identificador exclusivo da regra RBL.

Exemplo de resposta:

{
   "description" : "Delete RBL 'sip'",
   "message" : "The rule sip has been deleted successful.",
   "success" : "true"
}

Listar todos os domínios RBL

Listar todos os domínios RBL

Exemplo de solicitação:

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

GET /ipds/rbl/domains

Listar todos os domínios disponíveis para vincular às regras RBL.

Exemplo de resposta:

{
   "description" : "Get RBL domains",
   "params" : {
      "preloaded" : [
         {
            "domain" : "all.rbl.zevenet.com",
            "id" : 0
         },
         {
            "domain" : "ssh.rbl.zevenet.com",
            "id" : 1
         },
         {
            "domain" : "sip.rbl.zevenet.com",
            "id" : 2
         }
      ],
      "user" : [
         {
            "domain" : "zen.spamhaus.org",
            "id" : 0
         },
         {
            "domain" : "web.dnsbl.sorbs.net",
            "id" : 1
         }
      ]
   }
}

Parâmetros de resposta

A resposta será um JSON com a chave params e dois tipos de domínios listam como valor.

Objeto de origem:

Campo para cada ocasião Descrição
pré-carregado Objeto[] É uma lista com os domínios adicionados pela equipe de Zevenet.
usuário Objeto[] É uma lista com os domínios adicionados pelo administrador do balanceador de carga.

pré-carregado e objeto do usuário:

Campo para cada ocasião Descrição
id Número[] É o id que identifica um domínio.
domínio Corda[] É o domínio em que a regra rbl faz consultas.

Adicione um domínio

Adicione um domínio

Exemplo de solicitação:

curl -k -X POST -H "ZAPI_KEY: <ZAPI_KEY_STRING>" -H 'Content-Type: application/json'
-d '{"domain":"web.dnsbl.sorbs.net"}'
https://<zevenet_server>:444/zapi/v3.2/zapi.cgi/ipds/rbl/domains

POST /ipds/rbl/domains

Adicione um novo domínio à lista de domínios do usuário.

Solicitar Parâmetros

Campo para cada ocasião Descrição Exigido
domínio Tanga É uma zona de um provedor RBL em que uma regra RBL fará consultas. verdadeiro

Exemplo de resposta:

{
   "description" : "Post a RBL domain.",
   "message" : "",
   "params" : {
      "domains" : [
         "zen.spamhaus.org",
         "sip.blocklist.de",
         "web.dnsbl.sorbs.net"
      ]
   }
}

Parâmetros de resposta

A resposta será um json com uma lista de todos os domínios adicionados pelo administrador do balanceador de carga.

Campo para cada ocasião Descrição
domínios Corda[] É uma lista com os domínios adicionados pelo administrador do balanceador de carga.

Modifique um domínio

Modifique um domínio

Exemplo de solicitação:

curl -k -X PUT -H "ZAPI_KEY: <ZAPI_KEY_STRING>" -H 'Content-Type: application/json'
-d '{"domain":"ssh.blocklist.de"}'
https://<zevenet_server>:444/zapi/v3.2/zapi.cgi/ipds/rbl/domains/2

PUT /ipds/rbl/domains/<id>

Modifique um domínio ou a lista de domínios do usuário por outro que seja enviado como parâmetro.

id é o identificador de usuários do domínio.

Solicitar Parâmetros

Campo para cada ocasião Descrição
domínio Tanga É um domínio que substitui o domínio enviado no URI.

Exemplo de resposta:

{
   "description" : "Replace a domain",
   "message" : "RBL domain ssh.blocklist.de has been modified successful.",
   "params" : {
      "domains" : [
         {
            "domain" : "zen.spamhaus.org",
            "id" : 0
         },
         {
            "domain" : "web.dnsbl.sorbs.net",
            "id" : 1
         },
         {
            "domain" : "ssh.blocklist.de",
            "id" : 2
         }
      ]

   }
}

Parâmetros de resposta

A resposta será um json com uma lista de todos os domínios adicionados pelo administrador do balanceador de carga.

Objeto do domínio do usuário:

Campo para cada ocasião Descrição
id Número[] É o id que identifica um domínio.
domínio Corda[] É o domínio em que a regra rbl faz consultas.

Excluir um domínio

Excluir um domínio

Exemplo de solicitação:

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

DELETE /ipds/rbl/domains/<id>

Exclua um domínio da lista de domínios do usuário.

id é o identificador de usuário do domínio que será excluído.

Exemplo de resposta:

{
   "description" : "Delete a RBL domain.",
   "message" : "RBL domain web.dnsbl.sorbs.net has been deleted successful.",
   "success" : "true"
}

Aplicar uma ação em uma regra RBL

Aplique uma ação

Exemplo de solicitação:

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

POST /ipds/rbl/<name>/actions

Aplique uma ação a uma regra RBL, consulte a tabela Parâmetros de solicitação para ações. Para aplicar uma ação a uma regra, é necessário que a regra seja aplicada pelo menos a um farm e deve ter pelo menos um domínio ativado.

nome é o identificador exclusivo da regra RBL.

Solicitar Parâmetros

Campo para cada ocasião Descrição
açao Tanga Aplique a ação desejada. As ações são: Pare, a regra RBL será interrompida e os farms de encaminhamento de tráfego nos quais é aplicada a regra não serão eliminados. começo, a regra RBL será iniciada e todo o tráfego encaminhará os farms nos quais essa regra é aplicada será eliminado.

Exemplo de resposta:

{
   "description" : "Apply a action to a RBL rule",
   "params" : {
      "action" : "start"
   }
}

Parâmetros de resposta

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

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.2/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 para cada ocasião 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.2/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 para cada ocasião 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.2/zapi.cgi/system/dns

POST /system/dns

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

Solicitar Parâmetros

Campo para cada ocasião 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.2/zapi.cgi/system/ssh

GET /system/ssh

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

Exemplo de resposta:

{
   "description" : "Get ssh",
   "params" : {
      "listen" : "*",
      "port" : "22"
   }
}

Parâmetros de resposta

Campo para cada ocasião 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.

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.2/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 para cada ocasião 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.2/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 para cada ocasião 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.2/zapi.cgi/system/snmp

POST /system/snmp

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

Solicitar Parâmetros

Campo para cada ocasião 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.2/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.2/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 para cada ocasião 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.2/zapi.cgi/system/ntp

POST /system/ntp

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

Solicitar Parâmetros

Campo para cada ocasião 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.2/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 para cada ocasião 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.2/zapi.cgi/system/http

POST /system/http

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

Solicitar Parâmetros

Campo para cada ocasião 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.

Recuperar o usuário atual

Recuperar o usuário atual

Exemplo de solicitação:

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

GET /system/users

Mostrar informações sobre o usuário atual. O usuário atual é o usuário obter do ZAPI_KEY ou o usuário logado pelo webgui

Exemplo de resposta:

{
   "description" : "Retrieve the user root",
   "params" : {
      "user" : "root",
      "zapi_permissions" : "true"
   }
}

Parâmetros de resposta

A resposta será um objeto JSON com uma matriz dos parâmetros abaixo.

Campo para cada ocasião Descrição
usuário Tanga É o proprietário do usuário do ZAPI_KEY. Pode ser o usuário padrão da raiz ou um usuário do RBAC.
zapi_permissions Tanga Se o valor for verdadeiro, o usuário pode usar a api Zevenet usando o zapikey do usuário; ou se o valor for falso, o usuário desativou o para usar o zapi.

Modifique o usuário atual

Modifique o usuário atual

Exemplo de solicitação:

curl -k -X POST -H 'Content-Type: application/json' -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
-d '{"password":"CDe0c3ck","newpassword":"v2mfcvv2","zapi_permissions":"false","zapikey":"vCeH60mQFf2MgH5"}'

https://<zevenet_server>:444/zapi/v3.2/zapi.cgi/system/users

POST /system/users

Modifique a configuração do usuário atual. O usuário atual é o usuário obter do ZAPI_KEY ou o usuário logado pelo webgui.

Parâmetros de solicitação:

Campo para cada ocasião Descrição Exigido
zapikey Tanga Cada usuário pode ter um zapikey. Com este zapikey o usuário pode realizar ações através do zapikey com as permissões da função do usuário.
zapi_permissions Tanga Os valores possíveis são: verdadeiro, para permitir o acesso ao balanceador de carga através do zapi; ou falso, para não permitir o acesso através do zapi.
Nova senha Tanga Nova senha de usuário para acessar através do web gui.
senha Tanga Senha do usuário atual. É necessário quando Nova senha é enviado.

Exemplo de resposta:

{
   "description" : "Modify the user Shadi",
   "message" : "Settings was changed successful."
}

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.2/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 para cada ocasião 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.

Mostrar linhas de um arquivo de log

Mostrar linhas de um arquivo de log

Exemplo de solicitação:

curl -k -X GET -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
https://<zevenet_server>:444/zapi/v3.2/zapi.cgi/system/logs/kern.log/lines/2

GET /system/logs/<file>/lines/<lines>

Listar um número de linhas de um arquivo de log. O parametro URI filete é o arquivo de log da leitura. Linhas é o número de linhas para mostrar a partir da final.

Exemplo de resposta:

{
   "description" : "Show a log file",
   "log" : [
      "Aug 28 09:44:00 maq2 kernel: [258451.740173] Netfilter messages via NETLINK v0.30.\n",
      "Aug 28 09:44:00 maq2 kernel: [258451.775666] ctnetlink v0.93: registering with nfnetlink.\n"
   ]
}

Parâmetros de resposta

A resposta será um JSON com uma matriz de arquivo de log. A chave é log e seu valor é uma matriz com o número de linhas solicitadas.

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.2/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.2/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 para cada ocasião 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.2/zapi.cgi/system/backup

POST /system/backup

Crie um backup de configuração do sistema da configuração atual.

Solicitar Parâmetros

Campo para cada ocasião 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.2/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.2/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.2/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.2/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 para cada ocasião 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.2/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 para cada ocasião 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.2/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 para cada ocasião 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.2/zapi.cgi/system/notifications/alerts/backends

POST /system/notifications/alerts/<alert>

alerta é o identificador exclusivo de alerta.

Solicitar Parâmetros

Campo para cada ocasião 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.2/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 para cada ocasião Descrição
açao Tanga As ações disponíveis para alertas são desabiltar, o sistema não envia notificação quando há um evento; ou permitir, 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.2/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 para cada ocasião Descrição
desde 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.2/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 para cada ocasião Descrição
desde 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.2/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 para cada ocasião 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.2/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.2/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 para cada ocasião 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 para cada ocasião 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.2/zapi.cgi/system/cluster

POST /system/cluster

Faça um cluster comunicando dois balanceadores.

Solicitar Parâmetros

Campo para cada ocasião 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.2/zapi.cgi/system/cluster

PUT /system/cluster

Configure os parâmetros do modo de trabalho para o cluster.

Solicitar Parâmetros

Campo para cada ocasião 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.2/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.2/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 para cada ocasião 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.2/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 para cada ocasião 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.2/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 para cada ocasião 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.

RBAC

O RBAC é a solução para um controle de acesso baseado em função. Então, Zevenet pode ser gerente e administrar por diferentes funções, restringindo o acesso a configurações e recursos para grupos.

Um grupo pode ver os recursos, farms e interfaces virtuais, isto é, proprietário. É possível definir permissões diferentes para aplicar ações sobre recursos e, por exemplo, um grupo poderia gerenciar um farm e outro poderia monitorá-lo.

Três elments são usados ​​para trabalhar com o RBAC: papéis, um rol é um conjunto de permissões para diferentes elementos do balanceador de carga. usuários, cada usuário poderá acessar o balanceador de carga para api, para webgui ou ambos, com a função de grupo do usuário. grupo, é um conjunto de usuários e um conjunto de recursos (farms e interfaces virtuais). Um grupo deve ter uma função atribuída.

RBAC - Usuários

Um usuário pode acessar o balanceador de carga com a função do grupo do usuário por meio da api, com o zapikey do usuário e aplicando-lhe as permissões zapi, ou por meio da interface do usuário com o nome de usuário e a senha se o usuário tiver permissões de interface de usuário da web.

Listar 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.2/zapi.cgi/rbac/users

GET /rbac/users

Listar todos os usuários do RBAC e suas configurações

Exemplo de resposta:

{
   "description" : "List the RBAC users",
   "params" : [
      {
         "group" : "monitor",
         "name" : "sarah",
         "webgui_permissions" : "true",
         "zapi_permissions" : "true"
      },
      {
         "group" : "system-admin",
         "name" : "john",
         "webgui_permissions" : "true",
         "zapi_permissions" : "true"
      },
      {
         "group" : "web-admin",
         "name" : "aaron",
         "webgui_permissions" : "true",
         "zapi_permissions" : "false"
      }
   ]
}

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 usuários, cada um contendo os atributos-chave abaixo.

Campo para cada ocasião Descrição
grupo Tanga É o nome do grupo em que o usuário está. O usuário pode estar apenas em um grupo.
nome Tanga Nome de usuário, identifica para o usuário e é usado para acessar através do web gui.
webgui_permissions Tanga Os valores possíveis são: verdadeiro, para permitir o acesso ao balanceador de carga através do web gui; ou falso, para não permitir o acesso através do web gui.
zapi_permissions Tanga Os valores possíveis são: verdadeiro, para permitir o acesso ao balanceador de carga através do zapi; ou falso, para não permitir o acesso através do zapi.

Recuperar um usuário

Recuperar um usuário

Exemplo de solicitação:

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

GET /rbac/users/<name>

Mostrar a configuração do usuário. nome é o nome de usuário e é um identificador exclusivo.

Exemplo de resposta:

{
   "description" : "Get the user sarah",
   "params" : {
         "group" : "monitor",
         "name" : "sarah",
         "webgui_permissions" : "true",
         "zapi_permissions" : "true"
      }
}

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 usuários, cada um contendo os atributos-chave abaixo.

Campo para cada ocasião Descrição
grupo Tanga É o nome do grupo em que o usuário está. O usuário pode estar apenas em um grupo.
nome Tanga Nome de usuário, identifica para o usuário e é usado para acessar através do web gui.
webgui_permissions Tanga Os valores possíveis são: verdadeiro, para permitir o acesso ao balanceador de carga através do web gui; ou falso, para não permitir o acesso através do web gui.
zapi_permissions Tanga Os valores possíveis são: verdadeiro, para permitir o acesso ao balanceador de carga através do zapi; ou falso, para não permitir o acesso através do zapi.

Crie um usuário

Crie um novo usuário

Exemplo de solicitação:

curl -k -X POST -H "ZAPI_KEY: <ZAPI_KEY_STRING>" -H 'Content-Type: application/json'
-d '{ "name":"monica","password":"aCX2kl5m9"}'
https://<zevenet_server>:444/zapi/v3.2/zapi.cgi/rbac/users

POST /rbac/users

Crie um usuário, o usuário é criado sem função e grupo.

Solicitar Parâmetros

Campo para cada ocasião Descrição Exigido
nome Tanga Nome de usuário, identifica para o usuário e é usado para acessar através do web gui. verdadeiro
senha Tanga É a senha usada pelo usuário para acessar através do web gui. verdadeiro
{
   "description" : "Create the RBAC user, monica",
   "message" : "Added the RBAC user monica",
   "params" : {
      "user" : {
         "group" : "",
         "name" : "monica",
         "webgui_permissions" : "false",
         "zapi_permissions" : "false"
      }
   }
}

Parâmetros de resposta

A resposta será um objeto JSON com um conjunto de chaves para params. O valor disso será um objeto com a chave usuários com os atributos-chave abaixo.

Campo para cada ocasião Descrição
grupo Tanga É o nome do grupo em que o usuário está. O usuário pode estar apenas em um grupo.
nome Tanga Nome de usuário, identifica para o usuário e é usado para acessar através do web gui.
webgui_permissions Tanga Os valores possíveis são: verdadeiro, para permitir o acesso ao balanceador de carga através do web gui; ou falso, para não permitir o acesso através do web gui.
zapi_permissions Tanga Os valores possíveis são: verdadeiro, para permitir o acesso ao balanceador de carga através do zapi; ou falso, para não permitir o acesso através do zapi.

Modifique um usuário

Modifique um usuário

Exemplo de solicitação:

curl -k -X PUT -H 'Content-Type: application/json' -H "ZAPI_KEY: <ZAPI_KEY_STRING>" 
-d '{ "zapi_permissions":"true","webgui_permissions":"true","newpassword":"8fhM42W1","zapikey":"m3dW2MyYt4Hgv3"}'
https://<zevenet_server>:444/zapi/v3.2/zapi.cgi/rbac/users/monica

PUT /rbac/users/<name>

Modifique a configuração de um usuário. nome é o nome de usuário e é um identificador exclusivo.

Parâmetros de solicitação:

Campo para cada ocasião Descrição Exigido
zapikey Tanga Cada usuário pode ter um zapikey. Com este zapikey o usuário pode fazer a ação através do zapikey com as permissões do papel do usuário. .
webgui_permissions Tanga Os valores possíveis são: verdadeiro, para permitir o acesso ao balanceador de carga através do web gui; ou falso, para não permitir o acesso através do web gui.
zapi_permissions Tanga Os valores possíveis são: verdadeiro, para permitir o acesso ao balanceador de carga através do zapi; ou falso, para não permitir o acesso através do zapi.
Nova senha Tanga Nova senha de usuário para acessar através do web gui.

Exemplo de resposta:

{
   "description" : "Modify the RBAC user monica",
   "message" : "Settings were changed successful.",
   "params" : {
      "group" : "",
      "name" : "monica",
      "webgui_permissions" : "true",
      "zapi_permissions" : "true"
   }
}

Parâmetros de resposta

A resposta será um objeto JSON com um conjunto de chaves para params. O valor disso será um objeto de usuário com os atributos-chave abaixo.

Campo para cada ocasião Descrição
grupo Tanga É o nome do grupo em que o usuário está. O usuário pode estar apenas em um grupo.
nome Tanga Nome de usuário, identifica para o usuário e é usado para acessar através do web gui.
webgui_permissions Tanga Os valores possíveis são: verdadeiro, para permitir o acesso ao balanceador de carga através do web gui; ou falso, para não permitir o acesso através do web gui.
zapi_permissions Tanga Os valores possíveis são: verdadeiro, para permitir o acesso ao balanceador de carga através do zapi; ou falso, para não permitir o acesso através do zapi.

Excluir um usuário

Excluir um usuário

Exemplo de solicitação:

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

DELETE /rbac/users/<name>

Exclua um usuário do RBAC. nome é o nome de usuário e é um identificador exclusivo.

Exemplo de resposta:

{
   "description" : "Delete the RBAC user john",
   "message" : "The RBAC user john has been deleted successful.",
   "success" : "true"
}

RBAC - Funções

Estrutura de papel

Exemplo de função, todas essas combinações possíveis de objetos e ações:

{
   "params" : {
      "activation-certificate" : {
         "delete" : "false",
         "show" : "false",
         "upload" : "false"
      },
      "alias" : {
         "delete" : "false",
         "list" : "false",
         "modify" : "false"         
      },
      "backup" : {
         "apply" : "false",
         "create" : "false",
         "delete" : "false",
         "download" : "false",
         "upload" : "false"
      },
      "certificate" : {
         "create" : "false",
         "delete" : "false",
         "download" : "false",
         "show" : "false",
         "upload" : "false"
      },
      "cluster" : {
         "create" : "false",
         "delete" : "false",
         "maintenance" : "false",
         "modify" : "false"
      },
      "farm" : {
         "action" : "false",
         "create" : "false",
         "delete" : "false",
         "maintenance" : "false",
         "modify" : "false"
      },
      "farmguardian" : {
         "modify" : "false"
      },
      "interface" : {
         "modify" : "false"
      },
      "interface-virtual" : {
         "action" : "false",
         "create" : "false",
         "delete" : "false",
         "modify" : "false"
      },
      "ipds" : {
         "modify" : "false"
      },
      "log" : {
         "download" : "false",
         "show" : "false"
      },
      "notification" : {
         "action" : "false",
         "modify" : "false",
         "show" : "false",
         "test" : "false"
      },
      "rbac-group" : {
         "create" : "false",
         "delete" : "false",
         "list" : "false",
         "modify" : "false",
         "show" : "false"
      },
      "rbac-role" : {
         "create" : "false",
         "delete" : "false",
         "modify" : "false",
         "show" : "false"
      },
      "rbac-user" : {
         "create" : "false",
         "delete" : "false",
         "list" : "false",
         "modify" : "false",
         "show" : "false"
      },
      "supportsave" : {
         "download" : "false"
      },
      "system-service" : {
         "modify" : "false"
      }
   }
}

Uma função define um conjunto de permissões que é aplicado a um grupo. Todos os usuários do grupo herdam a função do grupo. Uma função é um conjunto de objetos, cada objeto possui ações. Uma ação pode ter o valor: “verdadeiro”, para permitir a ação ou “falso” para bloquear a ação.

Cada objeto tem disponíveis as ações mostradas no exemplo de função. Por exemplo, para uma fazenda, as ações disponíveis são: “ação”, “criar”, “excluir”, “manutenção” e “modificar”; ou para um objeto alias, eles são: “excluir”, “listar” e “modificar”.

Os objetos

Campo Descrição
certificado de ativação Define ações aplicadas ao certificado de ativação do Zevenet.
aliás Define ações para gerenciar o recurso de alias.
backup Define ações para gerenciar os backups.
certificado Define ações para gerenciar os certificados SSL.
cacho Define ações para gerenciar o cluster.
fazenda Define ações para administrar as fazendas. O usuário só poderá gerenciar as fazendas do grupo do usuário.
farmguardian Ele define ações para gerenciar as verificações de integridade da fazenda. Para aplicar um farmguardian a um farm, o objeto necessário é fazenda.
interface Define ações para administrar o rede cardápio. As interfaces virtuais são uma exceção, elas são gerenciadas pelo interfaces virtuais objeto.
interface-virtual Ele define ações para administrar as interfaces virtuais. O usuário só poderá gerenciar as interfaces do grupo de usuários.
ipds Define ações para gerenciar as regras do ipds. Para aplicar uma regra a um farm, o objeto necessário é fazenda.
log Ele define ações para gerenciar os logs do balanceador de carga.
notificação Define ações para gerenciar notificações: alertas e métodos enviados.
rbac-group Define ações para gerenciar os grupos do RBAC.
rbac-role Define ações para gerenciar as funções do RBAC.
rbac-user Define ações para gerenciar os usuários do RBAC.
suporte Ele define ações para gerenciar o suporte a Zevenet.
serviço de sistema Define ações para gerenciar o remoto e os serviços locais.

As ações

Campo Descrição
Lista Ele lista os elementos disponíveis de um objeto.
mostrar Ele recupera um objeto e sua configuração.
baixar Ele faz o download de um objeto do balanceador de carga.
carregar Ele faz o upload de um objeto para o balanceador de carga.
manutenção Ele modifica o status de um objeto entre manutenção e para cima.
açao Aplica uma ação ao objeto. Cada objeto tem suas ações.
crio Cria um novo elemento para um tipo de objeto.
excluir Apaga permanentemente um objeto.
modificar Ele modifica a configuração de um objeto. Às vezes, se o objeto não tiver as ações: crio, excluir or açao ações, essas ações são aplicadas por modificar permissão.

Listar os papéis

Listar todos os papéis

Exemplo de solicitação:

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

GET /rbac/roles

Listar todas as funções do RBAC

Exemplo de resposta:

{
   "description" : "List the RBAC roles",
   "params" : [
      "example",
      "admin",
      "monitor"
   ]
}

Parâmetros de resposta

A resposta será um objeto JSON com um conjunto de chaves para params. O valor disso será uma matriz de nomes de funções. Cada nome é o identificador de uma função

Recuperar um papel

Recuperar um papel

Exemplo de solicitação:

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

GET /rbac/roles/<name>

Mostrar a configuração do usuário. nome é o nome de usuário e é um identificador exclusivo.

Parâmetros de resposta

A resposta será um objeto JSON com um conjunto de chaves para params. O valor disso será uma estrutura de função. As chaves são os objetos de permissões, que identificam onde irão atuar e como parâmetros deste objeto estão as ações a controlar. Se a ação tiver o valor “verdadeiro”, isso será permitido para a função; se a ação tiver o valor “falso”, a ação será bloqueada.

Crie um papel

Crie uma nova função

Exemplo de solicitação:

curl -k -X POST -H "ZAPI_KEY: <ZAPI_KEY_STRING>" -H 'Content-Type: application/json'
-d '{ "name":"web-monitor"}'
https://<zevenet_server>:444/zapi/v3.2/zapi.cgi/rbac/roles

POST /rbac/roles

Criar uma função gerará uma nova função a partir de um modelo com todas as permissões definidas como falso por padrão.

Solicitar Parâmetros

Campo para cada ocasião Descrição Exigido
nome Tanga Nome da função, é usado como identificador exclusivo. verdadeiro

Parâmetros de resposta

A resposta será um objeto JSON com um conjunto de chaves para params. O valor disso será uma estrutura com as permissões. Uma permissão é uma chave, que identifica o objeto onde ele irá atuar e como parâmetros deste objeto estão as ações a serem controladas. Se a ação tiver o valor “verdadeiro”, isso será permitido para a função; se a ação tiver o valor “falso”, a ação será bloqueada.

Modifique um papel

Modifique um papel

Exemplo de solicitação:

curl -k -X PUT -H 'Content-Type: application/json' -H "ZAPI_KEY: <ZAPI_KEY_STRING>" 
-d ''{ "ipds":{"action":"true"}, "farm":{"maintenance":"true", "action":"true"} }'
https://<zevenet_server>:444/zapi/v3.2/zapi.cgi/rbac/roles/web-monitor

PUT /rbac/users/<name>

Modifique as permissões de função. nome é o nome da função e é um identificador exclusivo.

Parâmetros de solicitação:

Campo Opções Descrição
certificado de ativação excluir, mostrar e às carregar Define ações aplicadas ao certificado de ativação do Zevenet.
aliás excluir, Lista e às modificar Define ações para gerenciar o recurso de alias.
backup Aplique, crio, excluir, baixar e às carregar Define ações para gerenciar os backups.
certificado crio, excluir, baixar, mostrar e às carregar Define ações para gerenciar os certificados SSL.
cacho crio, excluir, manutenção e às modificar Define ações para gerenciar o cluster.
fazenda açao, crio, excluir, manutenção e às modificar Define ações para administrar as fazendas. O usuário só poderá gerenciar as fazendas do grupo do usuário.
farmguardian modificar Ele define ações para gerenciar as verificações de integridade da fazenda. Para aplicar um farmguardian a um farm, o objeto necessário é fazenda.
interface modificar Define ações para administrar o rede cardápio. As interfaces virtuais são uma exceção, elas são gerenciadas pelo interfaces virtuais objeto.
interface-virtual açao, crio, excluir e às modificar Ele define ações para administrar as interfaces virtuais. O usuário só poderá gerenciar as interfaces do grupo de usuários.
ipds açao e às modificar Define ações para gerenciar as regras do ipds. Para aplicar uma regra a um farm, o objeto necessário é fazenda.
log baixar e às mostrar Ele define ações para gerenciar os logs do balanceador de carga.
notificação açao, modificar, mostrar e às teste Define ações para gerenciar notificações: alertas e métodos enviados.
rbac-group crio, excluir, Lista, modificar e às mostrar Define ações para gerenciar os grupos do RBAC.
rbac-role crio, excluir, modificar e às mostrar Define ações para gerenciar as funções do RBAC.
rbac-user crio, excluir, Lista, modificar e às mostrar Define ações para gerenciar os usuários do RBAC.
suporte baixar Ele define ações para gerenciar o suporte a Zevenet.
serviço de sistema modificar Define ações para gerenciar o remoto e os serviços locais.

    Cada tipo de ação explicado abaixo:

Açao Social Descrição
Lista Ele lista os elementos disponíveis de um objeto. verdadeiro para dar a permissão, falso para remover a permissão.
mostrar Ele recupera um objeto e sua configuração. verdadeiro para dar a permissão, falso para remover a permissão.
baixar Ele faz o download de um objeto do balanceador de carga. verdadeiro para dar a permissão, falso para remover a permissão.
carregar Ele faz o upload de um objeto para o balanceador de carga. verdadeiro para dar a permissão, falso para remover a permissão.
manutenção Ele modifica o status de um objeto entre manutenção e para cima. verdadeiro para dar a permissão, falso para remover a permissão.
açao Aplica uma ação ao objeto. Cada objeto tem suas ações. verdadeiro para dar a permissão, falso para remover a permissão.
crio Cria um novo elemento para um tipo de objeto. verdadeiro para dar a permissão, falso para remover a permissão.
excluir Apaga permanentemente um objeto. verdadeiro para dar a permissão, falso para remover a permissão.
modificar Ele modifica a configuração de um objeto. Às vezes, se o objeto não tiver as ações: crio, excluir or açao ações, essas ações são aplicadas por modificar permissão. verdadeiro para dar a permissão, falso para remover a permissão.

Parâmetros de resposta

A resposta será um objeto JSON com um conjunto de chaves para params. O valor disso será uma estrutura com as permissões. Uma permissão é uma chave, que identifica o objeto onde ele irá atuar e como parâmetros deste objeto estão as ações a serem controladas. Se a ação tiver o valor “verdadeiro”, isso será permitido para a função; se a ação tiver o valor “falso”, a ação será bloqueada.

Excluir um papel

Excluir um papel

Exemplo de solicitação:

curl -k -X DELETE -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
https://<zevenet_server>:444/zapi/v3.2/zapi.cgi/rbac/roles/web-monitor

DELETE /rbac/roles/<name>

Excluir uma função do RBAC. nome é o nome da função e é um identificador exclusivo.

Exemplo de resposta:

{
   "description" : "Delete the RBAC role web-monitor",
   "message" : "The RBAC role web-monitor has been deleted successful.",
   "success" : "true"
}

RBAC - Grupos

Um grupo é um conjunto de usuários com uma função. Os usuários podem aplicar ações nos recursos (farms e interfaces virtuais) de seu grupo.

Listar os grupos

Listar todos os grupos

Exemplo de solicitação:

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

GET /rbac/groups

Listar todos os grupos do RBAC e suas configurações

Exemplo de resposta:

{
   "description" : "List the RBAC groups",
   "params" : [
      {
         "name" : "system-admin",
         "resources" : {
            "farms" : [
               "webHTTP",
               "dns"
            ],
            "interfaces" : [
                "eth2:virt",
                "eth2:vip"
            ]
         },
         "role" : "admin",
         "users" : [
            "john",
            "monica"
         ]
      },
      {
         "name" : "monitor",
         "resources" : {
            "farms" : [
               "webHTTP",
               "mailService"
            ],
            "interfaces" : []
         },
         "role" : "monitor",
         "users" : [
            "sarah",
            "kevin"
         ]
      }
   ]
}

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 grupos, cada um contendo os atributos-chave abaixo.

Campo para cada ocasião Descrição
nome Tanga Nome do grupo, identifica para o grupo.
recursos objeto Os valores possíveis são: verdadeiro, para permitir o acesso ao balanceador de carga através do web gui; ou falso, para não permitir o acesso através do web gui.
papel Tanga Função aplicada ao grupo. Todos os usuários no grupo herdam essa função.
usuários Corda[] Lista de usuários no grupo. O nome dos usuários são seus identificadores exclusivos.

A recurso objeto:

Campo para cada ocasião Descrição
fazendas Corda[] É uma lista com os farms membros do grupo.
interfaces de Corda[] É uma lista com as interfaces virtuais do membro do grupo.

Recuperar um grupo

Recuperar um grupo

Exemplo de solicitação:

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

GET /rbac/groups/<name>

Mostrar a configuração dos grupos. nome é o nome de usuário e é um identificador exclusivo.

Exemplo de resposta:

{
   "description" : "Get the group corel7",
   "params" : {
     "name" : "monitor",
     "resources" : {
        "farms" : [
           "webHTTP",
           "mailService"
        ],
        "interfaces" : []
     },
     "role" : "monitor",
     "users" : [
        "sarah",
        "kevin"
     ]
  }
}

Parâmetros de resposta

A resposta será um objeto JSON com um conjunto de chaves para params. O valor disso será um objeto de grupo, que contém os principais atributos abaixo.

Campo para cada ocasião Descrição
nome Tanga Nome do grupo, identifica para o grupo.
recursos objeto Os valores possíveis são: verdadeiro, para permitir o acesso ao balanceador de carga através do web gui; ou falso, para não permitir o acesso através do web gui.
papel Tanga Função aplicada ao grupo. Todos os usuários no grupo herdam essa função.
usuários Corda[] Lista de usuários no grupo. O nome dos usuários são seus identificadores exclusivos.

A recurso objeto:

Campo para cada ocasião Descrição
fazendas Corda[] É uma lista com os farms membros do grupo.
interfaces de Corda[] É uma lista com as interfaces virtuais do membro do grupo.

Crie um grupo

Criar um novo grupo

Exemplo de solicitação:

curl -k -X POST -H "ZAPI_KEY: <ZAPI_KEY_STRING>" -H 'Content-Type: application/json'
-d '{ "name":"development"}'
https://<zevenet_server>:444/zapi/v3.2/zapi.cgi/rbac/groups

POST /rbac/groups

Crie um novo grupo no qual usuários, recursos e funções estejam relacionados.

Solicitar Parâmetros

Campo para cada ocasião Descrição Exigido
nome Tanga Nome do grupo, identifica para o grupo. verdadeiro
{
   "description" : "Create the RBAC group, development",
   "message" : "Added the RBAC group development",
   "params" : {
      "group" : {
         "name" : "development",
         "resources" : {
            "farms" : [],
            "interfaces" : []
         },
         "role" : "",
         "users" : []
      }
   }
}

Parâmetros de resposta

A resposta será um objeto JSON com um conjunto de chaves para params. O valor disso será um objeto de grupo, que contém os principais atributos abaixo.

Campo para cada ocasião Descrição
nome Tanga Nome do grupo, identifica para o grupo.
recursos objeto Os valores possíveis são: verdadeiro, para permitir o acesso ao balanceador de carga através do web gui; ou falso, para não permitir o acesso através do web gui.
papel Tanga Função aplicada ao grupo. Todos os usuários no grupo herdam essa função.
usuários Corda[] Lista de usuários no grupo. O nome dos usuários são seus identificadores exclusivos.

A recurso objeto:

Campo para cada ocasião Descrição
fazendas Corda[] É uma lista com os farms membros do grupo.
interfaces de Corda[] É uma lista com as interfaces virtuais do membro do grupo.

Modifique um grupo

Modifique um grupo

Exemplo de solicitação:

curl -k -X PUT -H 'Content-Type: application/json' -H "ZAPI_KEY: <ZAPI_KEY_STRING>" 
-d '{ "role":"true"}'
https://<zevenet_server>:444/zapi/v3.2/zapi.cgi/rbac/groups/development

PUT /rbac/groups/<name>

Modifique a configuração de um grupo. nome é o nome do grupo e é um identificador exclusivo.

Parâmetros de solicitação:

Campo para cada ocasião Descrição Exigido
papel Tanga É o papel a ser aplicado ao grupo.

Exemplo de resposta:

{
   "description" : "Create the RBAC group, development",
   "message" : "Added the RBAC group development",
   "params" : {
      "group" : {
         "name" : "development",
         "resources" : {
            "farms" : [],
            "interfaces" : []
         },
         "role" : "monitor",
         "users" : []
      }
   }
}

Parâmetros de resposta

A resposta será um objeto JSON com um conjunto de chaves para params. O valor disso será um objeto de grupo, que contém os principais atributos abaixo.

Campo para cada ocasião Descrição
nome Tanga Nome do grupo, identifica para o grupo.
recursos objeto Os valores possíveis são: verdadeiro, para permitir o acesso ao balanceador de carga através do web gui; ou falso, para não permitir o acesso através do web gui.
papel Tanga Função aplicada ao grupo. Todos os usuários no grupo herdam essa função.
usuários Corda[] Lista de usuários no grupo. O nome dos usuários são seus identificadores exclusivos.

A recurso objeto:

Campo para cada ocasião Descrição
fazendas Corda[] É uma lista com os farms membros do grupo.
interfaces de Corda[] É uma lista com as interfaces virtuais do membro do grupo.

Excluir um grupo

Excluir um usuário

Exemplo de solicitação:

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

DELETE /rbac/groups/<name>

Exclua um usuário do RBAC. nome é o nome de usuário e é um identificador exclusivo.

Exemplo de resposta:

{
   "description" : "Delete the RBAC group development",
   "message" : "The RBAC group development has been deleted successful.",
   "success" : "true"
}

Adicionar um recurso ou usuário a um grupo

Adicionar um recurso ou usuário a um grupo

Exemplo de solicitação:

curl -k -X POST -H "ZAPI_KEY: <ZAPI_KEY_STRING>" -H 'Content-Type: application/json'
-d '{"name":"monica"}'
https://<zevenet_server>:444/zapi/v3.2/zapi.cgi/rbac/groups/development/users

POST /rbac/groups/<name>/(interfaces|farms|users)

O parâmetro uri nome é o nome do grupo.

Selecionar usuários no uri para adicionar um usuário ao grupo. Selecione fazendas no uri para adicionar uma fazenda ao grupo. Selecione interfaces de no uri para adicionar uma interface virtual ao grupo.

Solicitar Parâmetros

Campo para cada ocasião Descrição Exigido
nome Tanga É o nome do objeto para adicionar ao grupo verdadeiro

Exemplo de resposta:

{
   "description" : "Add the user monica to the group development",
   "message" : "Added the user monica to the group development",
   "params" : {
      "group" : {
         "name" : "development",
         "resources" : {
            "farms" : [],
            "interfaces" : []
         },
         "role" : "monitor",
         "users" : [
            "monica"
         ]
      }
   }
}

Parâmetros de resposta

A resposta será um objeto JSON com um conjunto de chaves para params. O valor disso será um objeto de grupo, que contém os principais atributos abaixo.

Campo para cada ocasião Descrição
nome Tanga Nome do grupo, identifica para o grupo.
recursos objeto Os valores possíveis são: verdadeiro, para permitir o acesso ao balanceador de carga através do web gui; ou falso, para não permitir o acesso através do web gui.
papel Tanga Função aplicada ao grupo. Todos os usuários no grupo herdam essa função.
usuários Corda[] Lista de usuários no grupo. O nome dos usuários são seus identificadores exclusivos.

A recurso objeto:

Campo para cada ocasião Descrição
fazendas Corda[] É uma lista com os farms membros do grupo.
interfaces de Corda[] É uma lista com as interfaces virtuais do membro do grupo.

Excluir um recurso ou usuário de um grupo

Excluir um recurso ou usuário de um grupo

Exemplo de solicitação:

curl -k -X DELETE -H "ZAPI_KEY: <ZAPI_KEY_STRING>" 
https://<zevenet_server>:444/zapi/v3.2/zapi.cgi/rbac/groups/development/users/monica

DELETE /rbac/groups/<name>/(interfaces|farms|users)/<name>

O primeiro parâmetro uri nome é o nome do grupo. O segundo parâmetro uri nome é um recurso ou nome de usuário.

Selecionar usuários no uri para remover um usuário do grupo. Selecione fazendas no uri para remover uma fazenda do grupo. Selecione interfaces de no uri para remover uma interface virtual do grupo.

Exemplo de resposta:

{
   "description" : "Removing the user monica from the group development",
   "message" : "The user monica has been unlinked successful from the group development.",
   "success" : "true"
}