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 ENTRE, 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 | Tipo | Descrição |
---|---|---|
params | Objeto [] | Lista de objetos de certificado. |
Objeto de certificado
Campo | Tipo | Descrição |
---|---|---|
CN | Tanga | Nome comum do domínio. |
criação | Tanga | Data de criação. |
expiração | Tanga | Data de validade. |
lima | 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 | Tipo | Descrição | Exigido |
---|---|---|---|
nome | Tanga | Nome do ID do certificado. | verdadeiro |
fqdn | Tanga | O nome de domínio totalmente qualificado do seu servidor. | verdadeiro |
divisão | Tanga | A divisão de sua organização manipulando o certificado. | verdadeiro |
organização | Tanga | O nome legal da sua organização. | verdadeiro |
localidade | Tanga | A cidade onde sua organização está localizada. | verdadeiro |
estado | Tanga | O estado / região onde sua organização está localizada. | verdadeiro |
país | Tanga | O código ISO de duas letras para o país onde sua organização é a localização. | verdadeiro |
enviar | Tanga | Um endereço de e-mail usado para entrar em contato com sua organização. | verdadeiro |
Exemplo de resposta:
{
"description" : "Create CSR",
"message" : "Certificate NewCSR created",
"success" : "true"
}
Upload de um certificado
Upload de um certificado
Exemplo de solicitação:
curl -k -X POST -H "ZAPI_KEY: <ZAPI_KEY_STRING>" -H 'Content-Type: text/plain'
--tcp-nodelay --data-binary @/local_path/to/example.pem
https://<zevenet_server>:444/zapi/v3.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-nodelay
e --data-binary
para carregar o arquivo no modo binário.
Solicitar parâmetros de URI
Campo | Tipo | Descrição | Exigido |
---|---|---|---|
lima | 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.
O 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 | Tipo | Descrição |
---|---|---|
params | Objeto [] | Lista de objetos de certificado. |
Objeto de certificado
Campo | Tipo | 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.
- LSLB: Este módulo é capaz de trabalhar com http e l4xnat fazendas de perfil. Ele funciona como um proxy reverso ou roteador da web
- GSLB: Este módulo é capaz de trabalhar com gslb fazenda de perfil. Funciona como servidor de nomes de domínio
- DSLB: Este módulo é capaz de trabalhar com link de dados fazenda de perfil. Funciona como um gateway.
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 | Tipo | Descrição |
---|---|---|
farmname | Tanga | Nome descritivo da fazenda. É usado como identificador único. |
perfis | Tanga | Tipo de perfil, os valores disponíveis do perfil são: http, https or l4xnat para o módulo LSLB, gslb para o módulo GLSB e link de dados para o módulo DSLB |
estado | Tanga | Status da fazenda. Os valores de status disponíveis são: 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 | Tipo | Descrição |
---|---|---|
açao | Tanga | Defina a ação desejada. As ações são: Pare, a fazenda será parada. começo, a fazenda será iniciada e restart, o farm será interrompido e iniciado automaticamente. |
Exemplo de resposta:
{
"description" : "Set a new action in FarmHTTP",
"params" : [
{
"action" : "stop"
}
]
}
Parâmetros de resposta
Se não houver problemas na configuração, o zapi retornará a ação solicitada.
Fazendas HTTP
Perfil HTTP é um avançado balanceamento de carga 7 de camada (ou Application Delivery Controller) com propriedades especiais de proxy. Esse perfil oferece alguns recursos, como o balanceamento de carga 7 da camada HTTPS combinado com a aceleração de transferência de SSL. Esse perfil é adaptado para serviços da Web (servidores de aplicativos da Web incluídos) e todos os protocolos de aplicativos baseados em protocolos HTTP e HTTPS, como WebDav, RDP sobre HTTP, ICA sobre HTTP etc. Para configurar esse perfil de farm, um endereço IP virtual e um porta TCP virtual será necessária.
Recuperar farm por nome
Recuperar farm por nome
Exemplo de solicitação:
curl -k -X GET -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
https://<zevenet_server>:444/zapi/v3.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 | Tipo | Descrição |
---|---|---|
ipds | objeto | Lista de regras do IPDS aplicadas a este farm. |
params | objeto | Parâmetros da configuração do farm. |
Serviços | Objeto[] | Array com todos os serviços criados neste farm e sua configuração. |
Objeto IPDS:
Campo | Tipo | Descrição |
---|---|---|
listas negras | 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 | Tipo | Descrição |
---|---|---|
nome | Tanga | O nome da regra. |
estado | Tanga | Status da regra. |
Objeto de parâmetros para farms HTTP:
Campo | Tipo | 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 | Tipo | Descrição |
---|---|---|
lima | Tanga | O nome do certificado, referências ao certificado no armazenamento de certificados. |
id | Sessão | ID do certificado, a ordem na lista, o primeiro será o usado por padrão se o cabeçalho do host virtual não corresponder ao campo CN no certificado. Usado para SNI. |
Objeto de serviços para farms HTTP:
Campo | Tipo | Descrição |
---|---|---|
backends | Objeto[] | Backends definidos no serviço. |
cookiedomain | Tanga | A inserção de cookies será executada se o domínio corresponder ao conteúdo do cookie. Habilitar cookieinsert campo é obrigatório. |
cookieinsert | Tanga | Permite a inserção de cookies para sessões pegajosas de backends. As opções são verdadeiro, o perfil pesquisará o cookie fornecido no campo cookiename, se não existir, este cookie será adicionado, falso, não a ação é tomada. |
cookiename | Tanga | O nome do cookie (ID da sessão) será usado para identificar o processo fixo nos backends. Habilitar cookieinsert campo é obrigatório. |
caminho de cookie | Tanga | Ele gerencia o valor do caminho do cookie para o cookie fornecido. Habilitar cookieinsert campo é obrigatório. |
Cookiettl | Sessão | É o tempo máximo de vida de um cookie, em segundos. Habilitar cookieinsert campo é obrigatório. |
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 | Tipo | 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 | Tipo | Descrição | Exigido |
---|---|---|---|
farmname | Tanga | Nome descritivo da fazenda. É usado como identificador exclusivo. | verdadeiro |
perfis | Tanga | O perfil da fazenda criada. Para fazendas http é http. | verdadeiro |
vip | Tanga | IP do farm, onde o serviço virtual será executado. O IP indicado deve ser configurado no sistema e UP | verdadeiro |
vport | Sessão | Porto da fazenda, onde o serviço virtual vai ouvir. A mesma porta virtual e IP virtual não deve estar em uso por outro farm. | verdadeiro |
Exemplo de resposta:
{
"description" : "Creating farm 'newHTTPfarm'",
"params" : {
"interface" : "eth0.2",
"farmname" : "newHTTPfarm",
"profile" : "http",
"vip" : "192.168.100.23",
"vport" : 80
}
}
Parâmetros de resposta
A resposta será um json com todos os valores solicitados atualizados. Veja o exemplo de resposta para mais informações.
Modificar uma fazenda
Modificar uma fazenda
Exemplo de solicitação:
curl -k -X PUT -H 'Content-Type: application/json' -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
-d '{"contimeout":22,"newfarmname":"FarmHTTP2","vip":"178.62.126.152","vport":88,"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 | Tipo | Descrição |
---|---|---|
comtimeout | Sessão | Por quanto tempo o farm aguardará uma conexão com o back-end em segundos. |
restimeout | Sessão | Por quanto tempo a fazenda aguardará uma resposta dos back-ends em segundos. |
ressurreição | Sessão | Esse valor em segundos é o período para sair de um back-end na lista negra e verifica se ele está ativo. |
reqtimeout | Sessão | Por quanto tempo o farm aguardará uma solicitação do cliente em segundos. |
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 | Tipo | 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 | Tipo | 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 | Tipo | Descrição | Exigido |
---|---|---|---|
lima | 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 | Tipo | Descrição |
---|---|---|
nome | Tanga | Nome da regra do IPDS usado como identificador exclusivo. |
Exemplo de resposta:
{
"description" : "Apply a rule to a farm",
"message" : "Blacklist rule china was applied successful to the farm httpFarm.",
"success" : "true"
}
Remover uma regra do IPDS
Remover uma regra do IPDS
Exemplo de solicitação:
curl -k -X DELETE -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
https://<zevenet_server>:444/zapi/v3.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 | Tipo | Descrição |
---|---|---|
backends | Objeto[] | Backends definidos no serviço. |
cookiedomain | Tanga | A inserção de cookies será executada se o domínio corresponder ao conteúdo do cookie. Habilitar cookieinsert campo é obrigatório. |
cookieinsert | Tanga | Permite a inserção de cookies para sessões pegajosas de backends. As opções são verdadeiro, o perfil pesquisará o cookie fornecido no campo cookiename, se não existir, este cookie será adicionado, falso, não a ação é tomada. |
cookiename | Tanga | O nome do cookie (ID da sessão) será usado para identificar o processo fixo nos backends. Habilitar cookieinsert campo é obrigatório. |
caminho de cookie | Tanga | Ele gerencia o valor do caminho do cookie para o cookie fornecido. Habilitar cookieinsert campo é obrigatório. |
Cookiettl | Sessão | É o tempo máximo de vida de um cookie, em segundos. Habilitar cookieinsert campo é obrigatório. |
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 | Tipo | 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 | Tipo | Descrição | Exigido |
---|---|---|---|
id | Tanga | Nome do serviço que é usado como identificador exclusivo. Apenas valores alfanuméricos são permitidos. | verdadeiro |
Exemplo de resposta:
{
"description" : "New service newserv",
"params" : {
"id" : "newserv"
},
"status" : "needed restart"
}
Modificar um serviço
Modificar um serviço
Exemplo de solicitação:
curl -k -X PUT -H 'Content-Type: application/json' -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
-d '{"vhost":"www.mywebserver.com","urlp":"^/myapp1$","persistence":"URL", "redirect_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 | Tipo | Descrição |
---|---|---|
vhost | Tanga | Especifica a condição determinada pelo nome do domínio por meio do mesmo IP virtual e porta definidos por um farm de perfil HTTP. A expressão regular PCRE é suportada. |
urlp | Tanga | Permite determinar um serviço da Web em relação ao URL que o cliente está solicitando por meio de um padrão de URL específico que será verificado sintaticamente. A expressão regular PCRE é suportada. |
redirecionar | Tanga | Ele funciona como um back-end especial, a solicitação do cliente é respondida por um redirecionamento para um novo URL automaticamente. |
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 | Tipo | 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 | Tipo | Descrição | Exigido |
---|---|---|---|
posição | Sessão | Posição onde será o serviço. A primeira posição tem o índice 0. | verdadeiro |
Exemplo de resposta:
{
"description" : "Move service",
"message" : "service1 was moved successful.",
"params" : {
"position" : 0
}
}
Excluir um serviço
Excluir um serviço
Exemplo de solicitação:
curl -k -X DELETE -H 'Content-Type: application/json' -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
https://<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 | Tipo | 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 | Tipo | Descrição | Exigido |
---|---|---|---|
ip | Tanga | IP do back-end onde o serviço real está escutando. | verdadeiro |
porta | Sessão | Porta do back-end onde o serviço real está escutando. | verdadeiro |
tempo limite | Sessão | É o tempo limite de back-end para responder a uma determinada solicitação. | |
peso | Sessão | É o valor do peso para o back-end atual. 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 | Tipo | Descrição |
---|---|---|
ip | Tanga | IP do back-end onde o serviço real está escutando. |
porta | Sessão | Porta do back-end onde o serviço real está escutando. |
tempo limite | Sessão | É o tempo limite de back-end para responder a uma determinada solicitação em segundos. |
peso | Sessão | É o valor do peso para o back-end atual. 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 | Tipo | 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 | Tipo | Descrição |
---|---|---|
ipds | objeto | Lista de regras do IPDS aplicadas a este farm. |
params | objeto | Parâmetros da configuração do farm. |
backends | Objeto[] | Todos os servidores reais criados neste farm e sua configuração. |
Objeto IPDS:
Campo | Tipo | Descrição |
---|---|---|
listas negras | 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 | Tipo | Descrição |
---|---|---|
nome | Tanga | O nome da regra. |
estado | Tanga | Status da regra. |
Objeto de parâmetros para farms L4xNAT:
Campo | Tipo | Descrição |
---|---|---|
algoritmo | Tanga | Tipo de algoritmo de balanceamento de carga usado na fazenda. As opções são: lowconn conexão sempre com o menor servidor de conexão, peso conexão linear de despacho por peso, prio conexões sempre ao mais disponível. |
ouvinte | Tanga | Um ouvinte define como o farm vai lidar com as solicitações dos clientes. campo informativo, não pode ser modificado. |
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 | Tipo | 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 | Tipo | Descrição | Exigido |
---|---|---|---|
farmname | Tanga | Nome do farm, identificador exclusivo. | verdadeiro |
perfis | Tanga | O perfil da fazenda criada. Para as fazendas L4xNAT é l4xnat, mensagem informativa, este valor não pode ser alterado | verdadeiro |
vip | Tanga | IP do farm, onde o serviço virtual está escutando. | verdadeiro |
vport | Tanga | Porta da fazenda, onde o serviço virtual está escutando. Os farms L4xNAT permitem multiportos separados por , ou intervalo de porta separado por :. | verdadeiro |
Exemplo de resposta:
{
"description" : "Creating farm 'newl4farm'",
"params" : {
"farmname" : "newl4farm",
"interface" : "eth0",
"profile" : "l4xnat",
"vip" : "192.168.100.241",
"vport" : "88"
}
}
Parâmetros de resposta
A resposta será um json com todos os valores solicitados atualizados. Veja o exemplo de resposta para mais informações.
Modificar uma fazenda
Modificar uma fazenda
Exemplo de solicitação:
curl -k -X PUT -H 'Content-Type: application/json' -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
-d '{"algorithm":"weight","persistence":"","newfarmname":"l4farm", "protocol":"tcp",
"nattype":"nat","ttl":125,"vip":"178.62.126.152","vport":"81","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 | Tipo | Descrição |
---|---|---|
newfarmname | Tanga | O nome da nova Fazenda. A fazenda deve ser interrompida. |
algoritmo | Tanga | Tipo de algoritmo de balanceamento de carga usado na fazenda. As opções são: lowconn conexão sempre com o menor servidor de conexão, peso conexão linear de despacho por peso, prio conexões sempre ao mais disponível. |
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 | Tipo | 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 | Tipo | Descrição |
---|---|---|
nome | Tanga | Nome da regra do IPDS usado como identificador exclusivo. |
Exemplo de resposta:
{
"description" : "Apply a rule to a farm",
"message" : "Blacklist rule china was applied successful to the farm l4Farm.",
"success" : "true"
}
Remover uma regra do IPDS
Remover uma regra do IPDS
Exemplo de solicitação:
curl -k -X DELETE -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
https://<zevenet_server>:444/zapi/v3.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 | Tipo | 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 | Tipo | Descrição | Exigido |
---|---|---|---|
ip | Tanga | IP do back-end onde o serviço real está escutando. | verdadeiro |
porta | Sessão | Porta do back-end onde o serviço real está escutando. O valor vazio é aceito e usará a mesma configuração da (s) porta (s) virtual (is). | |
max_conns | Sessão | É o número máximo de conexões simultâneas para o back-end. Se este campo tiver o valor 0, o back-end não configurou nenhum limite de conexão. | |
prioridade | Sessão | É o valor de prioridade para o servidor real atual. Conexões sempre com o maior número disponível, onde 1 é a 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 | Tipo | Descrição |
---|---|---|
ip | Tanga | IP do back-end onde o serviço real está escutando. |
porta | Sessão | Porta do back-end onde o serviço real está escutando. O valor vazio é aceito e usará a mesma configuração da (s) porta (s) virtual (is). |
max_conns | Sessão | É o número máximo de conexões simultâneas para o back-end. Se este campo tiver o valor 0, o back-end não configurou nenhum limite de conexão. |
prioridade | Sessão | É o valor de prioridade para o servidor real atual. Conexões sempre com o maior número disponível, onde 1 é a 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 | Tipo | Descrição |
---|---|---|
açao | Tanga | Defina a ação desejada. As ações são: up o backend está pronto para receber solicitações de clientes, manutenção backend não está pronto para receber solicitações de clientes, esta ação é útil para parar o servidor backend sem afetar os clientes. |
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 | Tipo | Descrição |
---|---|---|
ipds | objeto | Lista de regras do IPDS aplicadas a este farm. |
params | objeto | Parâmetros da configuração do farm. |
Serviços | Objeto[] | Array com todos os serviços criados neste farm e sua configuração. |
zonas | Objeto[] | Array com todas as zonas criadas neste farm e sua configuração. |
Objeto IPDS:
Campo | Tipo | Descrição |
---|---|---|
listas negras | 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 | Tipo | Descrição |
---|---|---|
nome | Tanga | O nome da regra. |
estado | Tanga | Status da regra. |
Objeto de parâmetro para farms GSLB:
Campo | Tipo | Descrição |
---|---|---|
vip | Tanga | IP do farm, onde o serviço virtual está escutando. |
vport | Sessão | Porta da fazenda, onde o serviço virtual está escutando. |
estado | Tanga | Status da fazenda. Os valores 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 | Tipo | 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 | Tipo | 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 | Tipo | Descrição |
---|---|---|
id | Sessão | Nome da zona usado como único indetificador. |
defnamesv | Tanga | Esse será o servidor de nomes raiz do ponto de entrada que estará disponível como o registro DNS de início de autoridade (SOA). |
recursos | Objeto[] | Info definido na zona. |
Objeto de recurso:
Campo | Tipo | Descrição |
---|---|---|
id | Sessão | Identificador exclusivo para o recurso na zona. |
rname | Tanga | O nome do recurso é o nick que o serviço DNS irá traduzir para os dados reais necessários no campo rdata. |
ttl | Sessão | O valor Time to Live (opcional) para o registro atual que é necessário para determinar o período de tempo em que o nome atual será armazenado em cache. |
tipo | Tanga | Tipo de registro DNS. As opções são: NS, A, AAAA, CNAME, DYNA, MX, SRV, SMS, PTR or NAPTR). Para mais informações, veja em GSLB - Zonas - Recursos seção. |
rdata | Tanga | São os dados reais necessários para o tipo de registro, o valor de entrada depende do tipo de Nome do recurso, rname e o tipo de recurso tipo. |
Crie um novo farm
Crie um novo farm
Exemplo de solicitação:
curl -k -X POST -H 'Content-Type: application/json' -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
-d '{"farmname":"gslbfarm","profile":"gslb","vip":"192.168.100.241","vport":53}'
https://<zevenet_server>:444/zapi/v3.2/zapi.cgi/farms
POST /farms
Crie um novo farm do GSLB.
Solicitar Parâmetros
Campo | Tipo | Descrição | Exigido |
---|---|---|---|
farmname | Tanga | Nome do farm, identificador exclusivo para farm. | verdadeiro |
perfis | Tanga | O perfil da fazenda criada. Para as fazendas GSLB é gslb. | verdadeiro |
vip | Tanga | IP do farm, onde o serviço virtual está escutando. | verdadeiro |
vport | Sessão | Porta da fazenda, onde o serviço virtual está escutando. | verdadeiro |
Exemplo de resposta:
{
"description" : "Creating farm 'gslbfarm'",
"params" : {
"farmname" : "gslbfarm",
"interface" : "eth0",
"profile" : "gslb",
"vip" : "192.168.100.241",
"vport" : 53
}
}
Parâmetros de resposta
A resposta será um json com todos os valores solicitados atualizados. Veja o exemplo de resposta para mais informações.
Modificar uma fazenda
Modificar uma fazenda
Exemplo de solicitação:
curl -k -X PUT -H 'Content-Type: application/json' -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
-d '{"newfarmname":"gslbnewname","vip":"192.168.100.155","vport":60}'
https://<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 | Tipo | Descrição |
---|---|---|
newfarmname | Tanga | O nome da nova Fazenda. A fazenda deve ser interrompida para fazer essa mudança. |
vport | Sessão | Porta da fazenda, onde o serviço virtual está escutando. |
vip | Tanga | IP do farm, onde o serviço virtual está escutando. |
Exemplo de resposta:
{
"description" : "Modify farm gslbnewname",
"params" : {
"newfarmname" : "gslbnewname",
"vip" : "192.168.100.155",
"vport" : 60
}
}
Parâmetros de resposta
A resposta será um json com todos os valores solicitados atualizados. Veja o exemplo de resposta para mais informações.
Adicionar uma regra do IPDS
Adicionar uma regra do IPDS
Exemplo de solicitação:
curl -k -X POST -H 'Content-Type: application/json' -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
-d '{"name":"china"}' https://<zevenet_server>:444/zapi/v3.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 | Tipo | Descrição |
---|---|---|
nome | Tanga | Nome da regra do IPDS usado como identificador exclusivo. |
Exemplo de resposta:
{
"description" : "Apply a rule to a farm",
"message" : "Blacklist rule china was applied successful to the farm gslbFarm.",
"success" : "true"
}
Remover uma regra do IPDS
Remover uma regra do IPDS
Exemplo de solicitação:
curl -k -X DELETE -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
https://<zevenet_server>:444/zapi/v3.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 | Tipo | 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 | Tipo | Descrição | Exigido |
---|---|---|---|
id | Tanga | Nome do serviço que é usado como identificador exclusivo. | verdadeiro |
algoritmo | Tanga | Tipo de algoritmo de balanceamento de carga usado no serviço. As opções são: roundrobina, que irá equilibrar as conexões entre todos os back-ends, ou prio que enviará todas as conexões para o primeiro back-end disponível. | verdadeiro |
Exemplo de resposta:
{
"description" : "New service service1",
"params" : {
"algorithm" : "roundrobin",
"id" : "service1"
},
"status" : "needed restart"
}
Parâmetros de resposta
A resposta será um json com todos os valores solicitados atualizados. Veja o exemplo de resposta para mais informações.
Modificar um serviço
Modificar um serviço
Exemplo de solicitação:
curl -k -X PUT -H 'Content-Type: application/json' -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
-d '{"deftcpport":53}' https://<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 | Tipo | Descrição |
---|---|---|
deftcpport | Sessão | Essa é a porta TCP de verificação de integridade que o serviço vai verificar para determinar se o serviço de back-end está ativo. |
Exemplo de resposta:
{
"description" : "Modify service service1 in farm gslbfarm",
"info" : "There're changes that need to be applied, stop and start farm to apply them!",
"params" : {
"deftcpport" : 53
},
"status" : "needed restart"
}
Parâmetros de resposta
A resposta será um json com todos os valores solicitados atualizados. Veja o exemplo de resposta para mais informações.
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 | Tipo | 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 | Tipo | 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 | Tipo | Descrição | Exigido |
---|---|---|---|
ip | Tanga | IP do backend, onde o serviço real está escutando. | verdadeiro |
Exemplo de resposta:
{
"description" : "New service backend",
"message" : "Added backend to service succesfully",
"params" : {
"id" : 4,
"ip" : "192.135.10.2"
},
"status" : "needed restart"
}
Parâmetros de resposta
A resposta será um json com todos os valores solicitados atualizados. Veja o exemplo de resposta para mais informações.
Modificar um back-end
Modificar um back-end
Exemplo de solicitação:
curl -k -X PUT -H 'Content-Type: application/json' -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
-d '{"ip":"192.168.2.30"}'
https://<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 | Tipo | Descrição |
---|---|---|
ip | Tanga | IP do backend, onde o serviço real está escutando. |
Exemplo de resposta:
{
"description" : "Modify service backend",
"info" : "There're changes that need to be applied, stop and start farm to apply them!",
"message" : "Backend modified",
"params" : {
"ip" : "192.168.2.30"
},
"status" : "needed restart"
}
Parâmetros de resposta
A resposta será um json com todos os valores solicitados atualizados. Veja o exemplo de resposta para mais informações.
Excluir um back-end
Excluir um back-end
Exemplo de solicitação:
curl -k -X DELETE -H 'Content-Type: application/json' -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
https://<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 | Tipo | Descrição | Exigido |
---|---|---|---|
id | Sessão | Nome da zona usado como único indetificador. | verdadeiro |
Exemplo de resposta:
{
"description" : "New zone global.com",
"params" : {
"id" : "global.com"
}
}
Parâmetros de resposta
A resposta será um json com todos os valores solicitados atualizados. Veja o exemplo de resposta para mais informações.
Modifique uma zona
Modifique uma zona
Exemplo de solicitação:
curl -k -X PUT -H 'Content-Type: application/json' -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
-d '{"defnamesv":"ns3"}'
https://<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 | Tipo | Descrição |
---|---|---|
defnamesv | Tanga | Esse será o servidor de nomes raiz do ponto de entrada que estará disponível como o registro DNS de início de autoridade (SOA). |
Exemplo de resposta:
{
"description" : "Modify zone global.com in farm gslbfarm",
"params" : {
"defnamesv" : "ns3"
}
}
Parâmetros de resposta
A resposta será um json com todos os valores solicitados atualizados. Veja o exemplo de resposta para mais informações.
Excluir uma zona
Excluir uma zona
Exemplo de solicitação:
curl -k -X DELETE -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
https://<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:
- NS. Registro de tipo de servidor de nomes, ele delega uma zona DNS para usar os servidores de nomes autorizados.
- A. Registro de tipo de endereço, ele retorna um endereço IPv4 de um host.
- CNAME. Registro de tipo de nome canônico, representa um alias de um determinado nome.
- 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.
- AAAA. Registro de tipo de endereço, ele retorna um endereço IPv6 de um host.
- 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.
- 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.
- 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.
- 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.
- 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 | Tipo | Descrição |
---|---|---|
id | Sessão | Identificador exclusivo para o recurso na zona. |
rname | Tanga | O nome do recurso é o nick que o serviço DNS irá traduzir para os dados reais necessários no campo rdata. |
ttl | Sessão | O valor Time to Live (opcional) para o registro atual que é necessário para determinar o período de tempo em que o nome atual será armazenado em cache. |
tipo | Tanga | Tipo de registro DNS. As opções são: NS, A, AAAA, CNAME, DYNA, MX, SRV, SMS, PTR or NAPTR). Para mais informações, veja em GSLB - Zonas - Recursos seção. |
rdata | Tanga | São os dados reais necessários para o tipo de registro, o valor de entrada depende do tipo de Nome do recurso, rname e o tipo de recurso tipo. |
Crie um novo recurso
Crie um novo recurso
Exemplo de solicitação:
curl -k -X POST -H 'Content-Type: application/json' -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
-d '{"rname":"resource2", "rdata":"192.168.0.9", "ttl":10, "type":"A" }'
https://<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 | Tipo | Descrição | Exigido |
---|---|---|---|
rname | Tanga | O nome do recurso é o nick que o serviço DNS irá traduzir para os dados reais necessários no campo rdata. | verdadeiro |
ttl | Sessão | O valor de tempo de vida do registro atual. É o número máximo de dispositivos de roteador que a solicitação pode até morrer. É útil que o pacote não seja inserido em um loop de rede. | |
tipo | Tanga | Tipo de registro DNS. As opções são: NS, A, AAAA, CNAME, DYNA, MX, SRV, SMS, PTR or NAPTR). Para mais informações, veja em GSLB - Zonas - Recursos seção. | verdadeiro |
rdata | Tanga | São os dados reais necessários para o tipo de registro, o valor de entrada depende do tipo de Nome do recurso, rname e o tipo de recurso tipo. Se DYNA é selecionado em tipo então o valor rdata tem que ser um dos valores configurados Serviços nesta zona. | verdadeiro |
Exemplo de resposta:
{
"description" : "New zone resource",
"message" : "Resource added",
"params" : {
"rdata" : "192.168.0.9",
"rname" : "resource2",
"ttl" : 10,
"type" : "A",
"zone" : "global.com"
}
}
Parâmetros de resposta
A resposta será um json com todos os valores solicitados atualizados. Veja o exemplo de resposta para mais informações.
Modifique um recurso
Modifique um recurso
Exemplo de solicitação:
curl -k -X PUT -H 'Content-Type: application/json' -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
-d '{"rname":"resource2", "rdata":"192.168.200.30","ttl":null, "type":"A" }'
https://<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 | Tipo | Descrição |
---|---|---|
rname | Tanga | O nome do recurso é o nick que o serviço DNS irá traduzir para os dados reais necessários no campo rdata. |
ttl | Sessão | O valor Time to Live (opcional) para o registro atual que é necessário para determinar o período de tempo em que o nome atual será armazenado em cache. |
tipo | Tanga | Tipo de registro DNS. As opções são: NS, A, AAAA, CNAME, DYNA, MX, SRV, SMS, PTR or NAPTR). Para mais informações, veja em GSLB - Zonas - Recursos seção. |
rdata | Tanga | São os dados reais necessários para o tipo de registro, o valor de entrada depende do tipo de Nome do recurso, rname e o tipo de recurso tipo. Se tipo é carregado com valor DYNA então rdata tem que ser carregado com um disponível Serviço nome |
Exemplo de resposta:
{
"description" : "Modify zone resource",
"message" : "Resource modified",
"params" : {
"rdata" : "192.168.200.30",
"rname" : "resource2",
"ttl" : null,
"type" : "A"
},
"success" : "true"
}
Parâmetros de resposta
A resposta será um json com todos os valores solicitados atualizados. Veja o exemplo de resposta para mais informações.
Excluir um recurso
Excluir um recurso
Exemplo de solicitação:
curl -k -X DELETE -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
https://<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 | Tipo | Descrição |
---|---|---|
ipds | objeto | Lista de regras do IPDS aplicadas a este farm. |
params | objeto | Parâmetros da configuração do farm. |
backends | Objeto[] | Servidores reais criados neste farm e sua configuração. |
Objeto IPDS:
Campo | Tipo | Descrição |
---|---|---|
listas negras | Corda[] | Listas negras aplicadas ao farm. |
Objeto de parâmetros para farms de datalink:
Campo | Tipo | Descrição |
---|---|---|
algoritmo | Tanga | Tipo de algoritmo de balanceamento de carga usado na fazenda. As opções são: peso, o balanceador distribui entre todos os backends disponíveis com mais backends de carga com maior atributo de peso ou prio, que envia todas as conexões para o backend com o menor valor de prioridade. |
estado | Tanga | Status da fazenda. Os valores 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 | Tipo | 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 | Tipo | Descrição | Exigido |
---|---|---|---|
farmname | Tanga | Nome do farm, identificador exclusivo. | verdadeiro |
perfis | Tanga | O perfil da fazenda criada. Para datalink farms é link de dados | verdadeiro |
vip | Tanga | IP do farm, onde o serviço virtual está escutando. | verdadeiro |
Exemplo de resposta:
{
"description" : "Creating farm 'dlink'",
"params" : {
"farmname" : "dlink",
"interface" : "eth0",
"profile" : "datalink",
"vip" : "192.168.100.241"
}
}
Parâmetros de resposta
A resposta será um json com todos os valores solicitados atualizados. Veja o exemplo de resposta para mais informações.
Modificar uma fazenda
Modificar uma fazenda
Exemplo de solicitação:
curl -k -X PUT -H 'Content-Type: application/json' -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
-d '{"newfarmname":"dlink2", "vip":"192.168.100.199","algorithm":"weight"}'
https://<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 | Tipo | Descrição |
---|---|---|
newfarmname | Tanga | O novo nome do farm. Fazenda deve ser parada. |
algoritmo | Tanga | Tipo de algoritmo de balanceamento de carga usado na fazenda. As opções são: peso, o balanceador distribui entre todos os backends disponíveis com mais backends de carga com maior atributo de peso ou prio, que envia todas as conexões para o backend com o menor valor de prioridade. |
vip | Tanga | IP do farm, onde o serviço virtual está escutando. |
Exemplo de resposta:
{
"description" : "Modify farm dlink",
"params" : {
"algorithm" : "weight",
"vip" : "192.168.100.199",
"newfarmname" : "dlink2"
}
}
Parâmetros de resposta
A resposta será um json com todos os valores solicitados atualizados. Veja o exemplo de resposta para mais informações.
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 | Tipo | Descrição |
---|---|---|
nome | Tanga | Nome da regra do IPDS usado como identificador exclusivo. |
Exemplo de resposta:
{
"description" : "Apply a rule to a farm",
"message" : "Blacklist rule china was applied successful to the farm 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 | Tipo | 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 | Tipo | 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 | Tipo | Descrição | Exigido |
---|---|---|---|
ip | Tanga | IP do backend, onde o serviço real está escutando. | verdadeiro |
interface | Tanga | É a interface de rede local onde o backend está conectado. | verdadeiro |
prioridade | Sessão | É o valor de prioridade para o servidor real atual. Ele será usado quando algoritmo campo é configuração como prio e menor prioridade terá preferência. O valor padrão é 1. | |
peso | Sessão | É o valor do peso para o back-end atual. Será usado quando algoritmo campo é configuração como peso. O valor padrão é 1. |
Exemplo de resposta:
{
"description" : "New farm backend",
"message" : "Backend added",
"params" : {
"id" : 6,
"interface" : "eth0",
"ip" : "192.168.100.10",
"priority" : 2,
"weight" : 2
}
}
Parâmetros de resposta
A resposta será um json com todos os valores solicitados atualizados. Veja o exemplo de resposta para mais informações.
Modificar um back-end
Modificar um back-end
Exemplo de solicitação:
curl -k -X PUT -H 'Content-Type: application/json' -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
-d '{"ip":"192.168.102.50","interface":"eth0", "weight":1,"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 | Tipo | 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 | Tipo | 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 | Tipo | Descrição |
---|---|---|
endereço | Tanga | É o IP do gateway. |
interface | Tanga | Nome da interface do gateway. |
Modificar gateway padrão
Modificar gateway padrão
Exemplo de solicitação:
curl -k -X PUT -H 'Content-Type: application/json' -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
-d '{"interface":"eth0","address":"192.168.100.5"}'
https://<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 | Tipo | Descrição |
---|---|---|
endereço | Tanga | É o IP do gateway. |
interface | Tanga | Nome da interface do gateway. |
Excluir configuração do gateway
DELETE /interfaces/gateway
Exclua a configuração da configuração do gateway padrão.
Aviso: se o gateway estiver desconfigurado, o Zevenet não será acessado por um segmento de rede externo.
Excluir configuração do gateway
Exemplo de solicitação:
curl -k -X DELETE -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
https://<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 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 | Tipo | 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 | Tipo | 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 | Tipo | Descrição |
---|---|---|
ip | Tanga | IP da interface. |
netmask | Tanga | Defina o segmento de rede onde a interface está funcionando. |
porta de entrada | Tanga | IP usado para enviar pacotes de um segmento de rede diferente. |
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 | Tipo | Descrição | Exigido |
---|---|---|---|
açao | Tanga | Ação para aplicar à interface. Os valores disponíveis são: up, ative a interface e prepare-a para ser usada; down, desative a interface para não receber ou não enviar pacotes. | verdadeiro |
Exemplo de resposta:
{
"description" : "Action on nic interface",
"params" : {
"action" : "up"
}
}
Parâmetros de resposta
A resposta será um json com todos os valores solicitados atualizados. Veja o exemplo de resposta para mais informações.
Rede - Interfaces de ligação
A interface de ligação do Linux, ou também chamada por outros fornecedores como Trunk, fornece um método para agregar várias interfaces de rede em uma única interface lógica “ligada”. O comportamento das interfaces coladas depende do modo, o Zevenet Load Balancer suporta os seguintes métodos:
Política Round-robin: Transmite pacotes em ordem seqüencial do primeiro escravo disponível até o último. Este modo fornece balanceamento de carga e tolerância a falhas.
Política de backup ativo: Apenas um escravo na ligação está ativo. Um escravo diferente se torna ativo se, e somente se, o escravo ativo falhar. O endereço MAC do link é visível externamente em apenas uma porta (adaptador de rede) para evitar confundir o switch. Este modo fornece tolerância a falhas. A principal opção afeta o comportamento deste modo.
Política XOR: Transmite com base no endereço MAC de origem XOR com endereço MAC de destino. Isso seleciona o mesmo escravo para cada endereço MAC de destino. Este modo fornece balanceamento de carga e tolerância a falhas.
Política de Broadcast: Transmite tudo em todas as interfaces escravas. Este modo fornece tolerância a falhas.
IEEE 802.3ad LACP: Cria grupos de agregação que compartilham as mesmas configurações de velocidade e duplex. Utiliza todos os escravos no agregador ativo de acordo com a especificação 802.3ad.
Pré-requisitos:
Suporte de interface de rede nos drivers básicos para recuperar a velocidade e o duplex de cada escravo.
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 | Tipo | 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 | Tipo | Descrição |
---|---|---|
nome | Tanga | Nome é o identificador exclusivo da interface do escravo da NIC. |
Recuperar interface de ligação
Recuperar interface de ligação
Exemplo de solicitação:
curl -k -X GET -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
https://<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 | Tipo | 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 | Tipo | Descrição |
---|---|---|
nome | Tanga | Nome é o identificador exclusivo da interface do escravo da NIC. |
Criar interface de ligação
Criar interface de ligação
Exemplo de solicitação:
curl -k -X POST -H 'Content-Type: application/json' -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
-d '{"slaves":["eth3","eth2"],"name":"bondiface","mode":"balance-rr"}'
https://<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 | Tipo | Descrição | Exigido |
---|---|---|---|
nome | Tanga | Nome da interface. É usado como identificador exclusivo da interface. | verdadeiro |
escravos | Corda[] | Todas as interfaces NIC que criam a ligação. É necessário o parâmetro NIC nome. | verdadeiro |
modo | Tanga | É o modo de trabalho para interface de ligação. As opções são: equilíbrio-rrPolítica Round-robin; backup ativoPolítica de backup ativo; equilíbrio-xorPolítica XOR; transmissãoPolítica de transmissão; 802.3ad, IEEE 802.3ad LACP; equilíbrio-tlbBalanceamento adaptativo de carga de transmissão; equilíbrio-alb, Balanceamento de carga adaptável. Esses valores são definidos em Rede> Interfaces de ligação. | verdadeiro |
Exemplo de resposta:
{
"description" : "Add a bond interface",
"params" : {
"mac" : "a2:6d:80:29:87:c6",
"mode" : "balance-rr",
"name" : "bondiface",
"slaves" : [
{
"name" : "eth3"
},
{
"name" : "eth2"
}
],
"status" : "down"
}
}
Parâmetros de resposta
A resposta será um objeto JSON com os parâmetros configurados de ligação.
Campo | Tipo | Descrição |
---|---|---|
mac | Tanga | Indentificador exclusivo de camada de link. É o mac do primeiro escravo da interface NIC. |
nome | Tanga | Nome da interface. É usado como identificador exclusivo da interface. |
estado | Tanga | Os valores podem ser up, a interface pode receber pacotes; down, a interface não pode receber pacotes. |
escravos | Objeto[] | Interfaces NIC que constroem a interface de ligação. |
modo | Tanga | É o modo de trabalho para interface de ligação. As opções são: equilíbrio-rrPolítica Round-robin; backup ativoPolítica de backup ativo; equilíbrio-xorPolítica XOR; transmissãoPolítica de transmissão; 802.3ad, IEEE 802.3ad LACP; equilíbrio-tlbBalanceamento adaptativo de carga de transmissão; equilíbrio-alb, Balanceamento de carga adaptável. Esses valores são definidos em Rede> Interfaces de ligação. |
Escravo objeto:
Campo | Tipo | Descrição |
---|---|---|
nome | Tanga | Nome é o identificador exclusivo da interface do escravo da NIC. |
Modificar interface de ligação
Modificar interface de ligação
Exemplo de solicitação:
curl -k -X PUT -H 'Content-Type: application/json' -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
-d '{"ip":"192.168.100.121","netmask":"255.255.255.0","gateway":"192.168.100.1"}'
https://<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 | Tipo | Descrição |
---|---|---|
ip | Tanga | IP da interface. |
netmask | Tanga | Defina o segmento de rede onde a interface está funcionando. |
porta de entrada | Tanga | IP usado para enviar pacotes de um segmento de rede diferente. |
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 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 | Tipo | Descrição | Exigido |
---|---|---|---|
açao | Tanga | Ação para aplicar à interface. Os valores disponíveis são: up ativar a interface e prepará-la para ser usada, down desabilitar a interface para não receber ou não enviar pacotes, destruir exclua a ligação e restaure as interfaces de escravos da NIC. | verdadeiro |
Exemplo de resposta:
{
"description" : "Action on bond interface",
"params" : {
"action" : "up"
}
}
Parâmetros de resposta
A resposta será um json com todos os valores solicitados atualizados. Veja o exemplo de resposta para mais informações.
Adicione uma interface escrava de ligação
Adicione uma interface escrava de ligação
Exemplo de solicitação:
curl -k -X POST -H 'Content-Type: application/json' -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
-d '{"name":"eth4"}'
https://<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 | Tipo | Descrição | Exigido |
---|---|---|---|
nome | Tanga | Interface NIC nome para adicionar à interface de ligação. | verdadeiro |
Exemplo de resposta:
{
"description" : "Add a slave to a bond interface",
"params" : {
"mac" : "a2:6d:80:29:87:c6",
"mode" : "balance-rr",
"name" : "bondiface",
"slaves" : [
{
"name" : "eth3"
},
{
"name" : "eth2"
},
{
"name" : "eth4"
}
],
"status" : "up"
}
}
Parâmetros de resposta
A resposta será um json com valores configurados atualizados. Veja o exemplo de resposta para mais informações.
Remover uma interface escrava de ligação
Remover uma interface escrava de ligação
Exemplo de solicitação:
curl -k -X DELETE -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
https://<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 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 | Tipo | 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 | Tipo | 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 | Tipo | Descrição | Exigido |
---|---|---|---|
ip | Tanga | IP da interface. Deve ser diferente do IP da inteface pai. | verdadeiro |
netmask | Tanga | Defina o segmento de rede onde a interface está funcionando. | verdadeiro |
porta de entrada | Tanga | IP usado para enviar pacotes de um segmento de rede diferente. | verdadeiro |
nome | Tanga | Nome da interface. É usado como identificador único. Este nome é uma cadeia formatada por um nome de interface pai, um caractere de ponto “.” e um número para a interface de rede vlan. | verdadeiro |
Exemplo de resposta:
{
"description" : "Add a vlan interface",
"params" : {
"gateway" : "192.168.120.1",
"ip" : "192.168.120.120",
"mac" : null,
"name" : "eth0.1",
"netmask" : "255.255.255.0"
}
}
Parâmetros de resposta
A resposta será um json com todos os valores solicitados atualizados. Veja o exemplo de resposta para mais informações.
Modifique a interface VLAN
Modifique a interface VLAN
Exemplo de solicitação:
curl -k -X PUT -H 'Content-Type: application/json' -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
-d '{"ip":"192.168.131.155","netmask":"255.255.255.0","gateway":"192.168.131.1"}'
https://<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 | Tipo | Descrição |
---|---|---|
ip | Tanga | IP da interface. Pode ser diferente do IP da inteface pai. |
netmask | Tanga | Defina o segmento de rede onde a interface está funcionando. |
porta de entrada | Tanga | IP usado para enviar pacotes de um segmento de rede diferente. |
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 | Tipo | Descrição | Exigido |
---|---|---|---|
açao | Tanga | Ação para aplicar à interface. Os valores disponíveis são: up, ative a interface e prepare-a para ser usada; down, desative a interface para não receber ou não enviar pacotes. | verdadeiro |
Exemplo de resposta:
{
"description" : "Action on vlan interface",
"params" : {
"action" : "down"
}
}
Parâmetros de resposta
A resposta será um json com todos os valores solicitados atualizados. Veja o exemplo de resposta para mais informações.
Rede - Interfaces virtuais
As interfaces de rede permitem que os usuários tenham outra interface de rede no mesmo segmento de rede que pai, portanto, as interfaces virtuais sempre herdam a configuração de rede de seu pai. O parâmetro diferente será o ip. A interface virtual pode ser criada a partir da NIC, ligação ou VLAN. Criando uma nova interface virtual aparecerá um campo com um caractere “:” de dois-pontos que será usado para estabelecer uma identificação para a interface virtual.
Listar interfaces virtuais
Listar interfaces virtuais
Exemplo de solicitação:
curl -k -X GET -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
https://<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 | Tipo | 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 | Tipo | 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 | Tipo | Descrição | Exigido |
---|---|---|---|
ip | Tanga | IP da interface. O IP deve estar no mesmo segmento de rede que a interface pai. | verdadeiro |
nome | Tanga | Nome da interface. É usado como identificador único. Este nome é uma cadeia formatada por uma interface pai, um caractere de dois pontos “:” e uma string alfanumérica para a interface de rede virtual. | verdadeiro |
Exemplo de resposta:
{
"description" : "Add a virtual interface",
"params" : {
"gateway" : "192.168.100.5",
"ip" : "192.168.100.41",
"mac" : "c2:56:f6:54:ff:a0",
"name" : "eth0:virtiface",
"netmask" : "255.255.255.0"
}
}
Parâmetros de resposta
A resposta será um json com a configuração da interface. Veja o exemplo de resposta para mais informações.
Campo | Tipo | Descrição |
---|---|---|
ip | Tanga | IP da interface. O IP deve estar no mesmo segmento de rede que a interface pai. |
netmask | Tanga | Defina o segmento de rede onde a interface está funcionando. Ele herda da interface pai. |
porta de entrada | Tanga | IP usado para enviar pacotes para um segmento de rede diferente. Ele herda da interface pai. |
mac | Tanga | MAC da interface. Ele herda da interface pai. |
nome | Tanga | Nome da interface. É usado como identificador único. Este nome é uma cadeia formatada por uma interface pai, um caractere de dois pontos “:” e uma string alfanumérica para a interface de rede virtual. |
Modificar interface virtual
Modificar interface virtual
Exemplo de solicitação:
curl -k -X PUT -H 'Content-Type: application/json' -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
-d '{"ip":"192.168.131.155"}'
https://<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 | Tipo | 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 | Tipo | Descrição | Exigido |
---|---|---|---|
açao | Tanga | Ação para aplicar à interface. Os valores disponíveis são: up, ative a interface e prepare-a para ser usada; down, desative a interface para não receber ou não enviar pacotes. | verdadeiro |
Exemplo de resposta:
{
"description" : "Action on virtual interface",
"params" : {
"action" : "down"
}
}
Parâmetros de resposta
A resposta será um json com todos os valores solicitados atualizados. Veja o exemplo de resposta para mais informações.
Rede - Interfaces Flutuantes
Esse tipo de interface usa uma interface virtual definida e mascara o tráfego de saída de um nic, bonding or VLAN interface com uma criança virtual interface. Essa interface é usada para o comportamento de failover com estado em perfis l4xnat, se um cluster estiver configurado.
Listar interfaces flutuantes
Listar interfaces flutuantes
Exemplo de solicitação:
curl -k -X GET -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
https://<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 | Tipo | 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 | Tipo | 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 | Tipo | Descrição | Exigido |
---|---|---|---|
floating_ip | Tanga | IP flutuante usado em interface. floating_ip deve existir como filho interface virtual do interface. | verdadeiro |
Exemplo de resposta:
{
"description" : "Modify floating interface",
"message" : "Floating interface modification done",
"success" : "true"
}
Excluir configuração flutuante
Excluir configuração flutuante
Exemplo de solicitação:
curl -k -X DELETE -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
https://<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 | Tipo | 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 | Tipo | 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 | Tipo | 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 | Tipo | 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 | Tipo | 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 | Tipo | 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 | Tipo | Descrição |
---|---|---|
cpu | objeto | Estatísticas da CPU. |
dados | Tanga | Data do sistema. |
hostname | Tanga | Nome do anfitrião. |
carregar | objeto | Estatísticas de carga do núcleo. |
memória | objeto | Estatísticas de memória usadas. |
rede | objeto | Estatísticas de tráfego de rede. |
Objeto da CPU:
Campo | Tipo | Descrição |
---|---|---|
núcleos | Sessão | Número de núcleos no processador. |
inativo | Sessão | CPU não pode ser usada por nenhum programa. |
iowait | Sessão | CPU usada pelo processo de entrada ou saída. |
irq | Sessão | CPU usada por interrrupções de hardware. |
agradável | Sessão | Prioridade de agendamento de CPU. |
softirq | Sessão | CPU usada por interrrupções de software. |
sys | Sessão | CPU usada pelo sistema. |
uso | Sessão | CPU total usada. |
usuário | Sessão | CPU usada pelo usuário. |
Carregar objeto:
Campo | Tipo | Descrição |
---|---|---|
Last_1 | Sessão | Porcentagem do sistema de carga no último minuto. |
Last_5 | Sessão | Carregue a porcentagem do sistema cinco minutos atrás. |
Last_15 | Sessão | Porcentagem de sistema de carga quinze minutos atrás. |
Objeto de memória.
Campo | Tipo | Descrição |
---|---|---|
Buffers | Sessão | É a memória usada pelos buffers. Este valor é indicado em Mb. |
Em cache | Sessão | É a memória total armazenada em cache pelo sistema. Este valor é indicado em Mb. |
MemFree | Sessão | É a memória livre total não armazenada em cache pelo sistema. Este valor é indicado em Mb. |
MemTotal | Sessão | É a memória RAM total no sistema. Este valor é indicado em Mb. |
Memusado | Sessão | É a memória usada pelo sistema. Este valor é indicado em Mb. |
SwapCached | Sessão | É a memória cache total reservada. |
SwapFree | Sessão | É a memória livre total não armazenada em cache pelo sistema. Este valor é indicado em Mb. |
SwapTotal | Sessão | É a memória swap total reservada. |
SwapUsed | Sessão | É a troca de memória usada pelo sistema, em sistemas ótimos deve ser 0. |
Objeto de rede:
Campo | Tipo | Descrição |
---|---|---|
em em | Sessão | Tráfego de entrada para este interface. |
fora fora | Sessão | Tráfego de saída para este interface. |
Mostrar 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 | Tipo | 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 | Tipo | Descrição |
---|---|---|
dados | Tanga | Data do sistema. |
hostname | Tanga | Nome do anfitrião. |
interfaces de | Objeto[] | Estatísticas de tráfego de rede. |
Objeto Interfaces
Campo | Tipo | Descrição |
---|---|---|
in | Tanga | Tráfego de entrada total em MB. |
interface | Tanga | Nome da interface. |
Fora | Tanga | Tráfego total de saída em MB. |
Mostrar estatísticas de interfaces
Mostrar estatísticas de interfaces
Exemplo de solicitação:
curl -k -X GET -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
https://<zevenet_server>:444/zapi/v3.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 nic.
Campo | Tipo | Descrição |
---|---|---|
vínculo | Objeto[] | Estatísticas da interface de ligação. |
nic | Objeto[] | Estatísticas da interface NIC. |
Objeto Bond:
Campo | Tipo | Descrição |
---|---|---|
in | Tanga | Tráfego de entrada total em MB. |
interface | Tanga | Nome da interface usado como identificador exclusivo. |
ip | Tanga | IP da interface. |
mac | Tanga | MAC da interface. |
Fora | Tanga | Tráfego total de saída em MB. |
escravos | Corda [] | Lista de escravos que constroem a interface de ligação. |
estado | Tanga | Status da interface. O valor pode ser down, a interface está desativada; up, a interface está ativada. |
virtual | Corda [] | Interfaces virtuais que herdam dessa interface. |
vlan | Corda [] | Interfaces de VLAN que herdam dessa interface. |
Objeto Nic:
Campo | Tipo | Descrição |
---|---|---|
in | Tanga | Tráfego de entrada total em MB. |
interface | Tanga | Nome da interface usado como identificador exclusivo. |
ip | Tanga | IP da interface. |
mac | Tanga | MAC da interface. |
Fora | Tanga | Tráfego total de saída em MB. |
estado | Tanga | Status da interface. O valor pode ser down, a interface está desativada; up, a interface está ativada. |
virtual | Corda [] | Interfaces virtuais que herdam dessa interface. |
vlan | Corda [] | Interfaces de VLAN que herdam dessa interface. |
Mostrar estatísticas de memória
Mostrar estatísticas de memória
Exemplo de solicitação:
curl -k -X GET -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
https://<zevenet_server>:444/zapi/v3.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 | Tipo | Descrição |
---|---|---|
Buffers | Sessão | É a memória usada pelos buffers. Este valor é indicado em Mb. |
Em cache | Sessão | É a memória total armazenada em cache pelo sistema. Este valor é indicado em Mb. |
MemFree | Sessão | É a memória livre total não armazenada em cache pelo sistema. Este valor é indicado em Mb. |
MemTotal | Sessão | É a memória RAM total no sistema. Este valor é indicado em Mb. |
Memusado | Sessão | É a memória usada pelo sistema. Este valor é indicado em Mb. |
SwapCached | Sessão | É a memória cache total reservada. |
SwapFree | Sessão | É a memória livre total não armazenada em cache pelo sistema. Este valor é indicado em Mb. |
SwapTotal | Sessão | É a memória swap total reservada. |
SwapUsed | Sessão | É a troca de memória usada pelo sistema, em sistemas ótimos deve ser 0. |
dados | Tanga | Data do sistema. |
hostname | Tanga | Nome do anfitrião. |
Mostrar estatísticas de carga
Mostrar estatísticas de carga
Exemplo de solicitação:
curl -k -X GET -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
https://<zevenet_server>:444/zapi/v3.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 | Tipo | Descrição |
---|---|---|
Last_1 | Sessão | Carregar o uso do sistema no último. |
Last_5 | Sessão | Carregue o uso do sistema nos últimos cinco minutos. |
Last_15 | Sessão | Carregue o uso do sistema nos últimos cinco minutos. |
dados | Tanga | Data do sistema. |
hostname | Tanga | Nome do anfitrião. |
Mostrar estatísticas da CPU
Mostrar estatísticas da CPU
Exemplo de solicitação:
curl -k -X GET -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
https://<zevenet_server>:444/zapi/v3.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 | Tipo | Descrição |
---|---|---|
núcleos | Sessão | Número de núcleos no processador. |
inativo | Sessão | CPU não pode ser usada por nenhum programa. |
iowait | Sessão | CPU usada pelo processo de entrada ou saída. |
irq | Sessão | CPU usada por interrrupções de hardware. |
agradável | Sessão | Prioridade de agendamento de CPU. |
softirq | Sessão | CPU usada por interrrupções de software. |
sys | Sessão | CPU usada pelo sistema. |
uso | Sessão | CPU total usada. |
usuário | Sessão | CPU usada pelo usuário. |
dados | Tanga | Data do sistema. |
hostname | Tanga | Nome do anfitrião. |
Mostrar estatísticas de conexões
Mostrar estatísticas de conexões
Exemplo de solicitação:
curl -k -X GET -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
https://<zevenet_server>:444/zapi/v3.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 | Tipo | Descrição |
---|---|---|
conexões | Sessão | Total de conexões rastreadas, na verdade. |
Mostrar o número de farms
Mostrar o número de farms
Exemplo de solicitação:
curl -k -X GET -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
https://<zevenet_server>:444/zapi/v3.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 | Tipo | Descrição |
---|---|---|
número | Sessão | É o número de farms existentes no sistema. |
Mostrar estatísticas de farms
Mostrar estatísticas de farms
Exemplo de solicitação:
curl -k -X GET -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
https://<zevenet_server>:444/zapi/v3.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 | Tipo | Descrição |
---|---|---|
estabelecido | Sessão | Número total de conexões estabelecidas atualmente. |
farmname | Tanga | Nome do farm, identificador exclusivo. |
pendente | Sessão | Número de conexões pendentes. |
perfis | Tanga | Tipo de fazenda. Os valores possíveis são: link de dados, l4xnat, http, https or gslb. Cada perfil é definido em sua seção. |
estado | Tanga | Status da fazenda. Os valores 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 | Tipo | Descrição |
---|---|---|
backends | Objeto[] | Mostrar informações sobre backends. |
sessões | Objeto[] | Mostrar informações sobre sessões. |
Objeto Backend
Campo | Tipo | Descrição |
---|---|---|
estabelecido | Sessão | Número total de conexões estabelecidas. |
id | Sessão | Identificador exclusivo de back-end. |
ip | Tanga | IP onde o serviço real está escutando. |
pendente | Sessão | Número de conexões pendentes. |
porta | Sessão | Porto onde o serviço real está escutando. |
Serviço | Tanga | Nome do serviço usado como identificador exclusivo. |
estado | Tanga | Status de back-end. Os valores possíveis são: up, o 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 | Tipo | Descrição |
---|---|---|
cliente | Tanga | Identificador exclusivo do cliente. |
id | Tanga | Identificador exclusivo de back-end atribuído ao cliente. |
Serviço | Tanga | Identificador exclusivo do serviço atribuído ao cliente. |
Sessão | Tanga | Identificador exclusivo de sessão. Este valor depende do tipo de persistência. |
Exemplo de resposta para o farm GSLB:
{
"backends" : [
{
"id" : 1,
"ip" : "127.0.0.1",
"port" : 53,
"service" : "service1",
"status" : "down"
},
{
"id" : 2,
"ip" : "192.168.55.40",
"port" : 53,
"service" : "service1",
"status" : "down"
},
{
"id" : 4,
"ip" : "192.135.10.2",
"port" : 53,
"service" : "service1",
"status" : "down"
},
{
"id" : 1,
"ip" : "127.0.0.1",
"port" : 80,
"service" : "prioServ",
"status" : "down"
},
{
"id" : 2,
"ip" : "127.0.0.1",
"port" : 80,
"service" : "prioServ",
"status" : "down"
}
],
"client" : {
"edns_big" : 0,
"edns_tc" : 0,
"recvfail" : 0,
"reqs" : 0,
"sendfail" : 0,
"tc" : 0
},
"description" : "List farm stats",
"extended" : {
"badvers" : 0,
"dropped" : 0,
"edns" : 0,
"edns_clientsub" : 0,
"formerr" : 0,
"noerror" : 0,
"notimp" : 0,
"nxdomain" : 0,
"refused" : 0,
"v6" : 0
},
"server" : {
"recvfail" : 0,
"reqs" : 0,
"sendfail" : 0
}
}
Parâmetros de resposta em fazendas GSLB
Campo | Tipo | Descrição |
---|---|---|
backends | Objeto[] | Mostrar informações sobre os backends. |
cliente | objeto | Estatísticas relacionadas ao cliente. |
opção | objeto | Informações estendidas sobre o serviço. |
servidor | objeto | Estatísticas relacionadas com o servidor. |
Objeto de back-end
Campo | Tipo | Descrição |
---|---|---|
id | Sessão | Identificador exclusivo de back-end. |
ip | Tanga | IP onde o serviço real está escutando. |
porta | Sessão | Porto onde o serviço real está escutando. |
Serviço | Tanga | Nome do serviço usado como identificador exclusivo. |
estado | Tanga | Status de back-end. Os valores possíveis são: up, o 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 | Tipo | Descrição |
---|---|---|
edns_big | Sessão | Respostas que foram maiores que os bytes 512. |
edns_tc | Sessão | O tamanho do buffer de dns estendido especificado do cliente era muito pequeno para os dados solicitados. |
recvfail | Sessão | Número de erros do UDP, em que o sistema operacional indicava que algo de ruim acontecia ao recebê-lo. |
Reqs | Sessão | Número total de solicitações de UDP manipuladas pelo servidor. |
sendfail | Sessão | Número de erros do UDP, em que o SO indicou que algo de ruim aconteceu no envio. |
tc | Sessão | Respostas que foram truncadas com o conjunto de bits TC. |
Objeto estendido
Campo | Tipo | Descrição |
---|---|---|
badvers | Sessão | Pedido que tinha um EDNS OPT-RR com uma versão não suportada. |
desistiu | Sessão | Pedidos ignorados por formato incorreto. |
edns | Sessão | Pedido continha um EDNS OPT-RR. |
edns_clientsub | Sessão | Subconjunto de pedidos de edns que especificaram a opção edns_client_subnet. |
formerr | Sessão | O pedido foi mal formatado, mas foi sensato o suficiente para enviar uma resposta com o código FORMERR. |
noerror | Sessão | Solicitações bem sucedidas. |
notimp | Sessão | Serviço solicitado não implementado por este daemon, como solicitações de transferência de zona. |
nxdomain | Sessão | Solicitar um nome de domínio inexistente. |
recusou | Sessão | A solicitação foi recusada pelo servidor porque o servidor não é autoritativo para o nome consultado. |
v6 | Sessão | Solicitação de um cliente IPv6. |
Objeto do servidor
Campo | Tipo | Descrição |
---|---|---|
recvfail | Sessão | Número de erros de TCP, onde o sistema operacional indicava que algo de ruim acontecia ao receber. |
Reqs | Sessão | Número total de solicitações TCP manipuladas pelo servidor. |
sendfail | Sessão | Número de erros do TCP, em que o SO indicou que algo de ruim aconteceu no envio. |
Exemplo de resposta para o farm L4xNAT:
{
"backends" : [
{
"established" : 5,
"id" : 1,
"ip" : "192.168.5.40",
"pending" : 0,
"port" : "8080",
"status" : "maintenance"
},
{
"established" : null,
"id" : 3,
"ip" : "192.5.1.1",
"pending" : 0,
"port" : "787",
"status" : "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 sessões:
Objeto de back-end:
Campo | Tipo | Descrição |
---|---|---|
estabelecido | Sessão | Número total de conexões estabelecidas atualmente. |
id | Sessão | Identificador exclusivo de back-end. |
ip | Tanga | IP onde o serviço real está escutando. |
pendente | Sessão | Número de conexões pendentes. |
porta | Sessão | Porto onde o serviço real está escutando. |
estado | Tanga | Status de back-end. Os valores possíveis são: up, o 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 | Tipo | 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. |
Parâmetros de resposta em farms de conexões de dados
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 lslb.
Campo | Tipo | 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 | Tipo | Descrição |
---|---|---|
estabelecido | Sessão | Número total de conexões estabelecidas atualmente. |
farmname | Tanga | Nome do farm, identificador exclusivo para farms. |
pendente | Sessão | Número de conexões pendentes. |
perfis | Tanga | Tipo de fazenda. Os valores possíveis são: link de dados, l4xnat, http, https or gslb. Cada perfil é definido na própria seção. |
estado | Tanga | Status da fazenda. Os valores 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 ..
Campo | Tipo | Descrição |
---|---|---|
fazendas | Corda[] | Lista de gráficos agrícolas disponíveis. |
interfaces de | Corda[] | Lista de gráficos de interfaces disponíveis. |
. | Objeto[] | Lista de gráficos do sistema disponíveis. A matriz tem um objeto com uma matriz que indica pontos de montagem de disco. |
Objeto do sistema:
Objeto de sistema contém uma lista de matriz relacionada ao sistema e um objeto de disco com o próximo formato.
Campo | Tipo | Descrição |
---|---|---|
disco | Corda[] | Os valores desta matriz são todos existentes pontos de montagem no sistema, cada um tem gráficos disponíveis. |
Mostrar gráficos
Mostrar gráficos
Solicitar exemplo para um farm:
curl -k -X GET -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
https://<zevenet_server>:444/zapi/v3.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> |
., possíveis gráficos do sistema são: cpu, carregar, RAM or trocar. |
system/disk/<mount point> |
ponto de montagemé um valor de disco objeto, retornado pela chamada 'GET / graphs'. |
Exemplo de resposta:
{
"description" : "Get cpu graphs",
"graphs" : [
{
"frequency" : "daily",
"graph" : "PNG IN BASE 64"
},
{
"frequency" : "weekly",
"graph" : "PNG IN BASE 64"
},
{
"frequency" : "monthly",
"graph" : "PNG IN BASE 64"
},
{
"frequency" : "yearly",
"graph" : "PNG IN BASE 64"
}
]
}
Parâmetros de resposta
Campo | Tipo | Descrição |
---|---|---|
freqüência | Tanga | Período de tempo usado para gerar o gráfico. Os valores possíveis são: diariamente, semanal, mensal or anual. |
gráficos | Tanga | Gráfico no formato base 64. |
Mostrar gráfico de frequência
Mostrar gráfico de frequência
Solicitar exemplo para um farm:
curl -k -X GET -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
https://<zevenet_server>:444/zapi/v3.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> |
., possíveis gráficos do sistema são: cpu, carregar, RAM or trocar. |
system/disk/<mount point> |
ponto de montagemé um valor de disco objeto, retornado pela chamada 'GET / graphs'. |
Os valores disponíveis para freqüência são:
Campo | Tipo | Descrição |
---|---|---|
freqüência | Tanga | Período de tempo usado para gerar o gráfico. Os valores possíveis são: diariamente, semanal, mensal or anual. |
Exemplo de resposta:
{
"description" : "Get farm graphs",
"graph" : "PNG IN BASE 64"
}
Parâmetros de resposta
Campo | Tipo | Descrição |
---|---|---|
gráficos | Tanga | Gráfico no formato base 64. |
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.
O id O parâmetro URI é o IP de back-end ou o nome da interface.
Solicitar Parâmetros
Campo | Tipo | 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.
O 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 | Tipo | 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 é ., 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:
- Comandos remotos: As listas são obtidas de um URL, essas listas não são modificáveis e podem ser transferidas para download.
- 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 | Tipo | Descrição |
---|---|---|
fazendas | Corda[] | Lista de farms onde a lista negra é aplicada. |
nome | Tanga | Nome da lista negra. É usado como identificador exclusivo. |
Privacidade | Tanga | Ação para aplicar à fonte. As opções são: negar, bloqueia o tráfego de entrada de fontes da lista; ou permitir aceitar o tráfego de fontes da lista. |
pré-carga | Tanga | Os valores possíveis são: verdadeiro, a lista negra foi pré-carregada no sistema; ou falso, a lista negra foi criada pelo administrador do sistema. |
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 | Tipo | Descrição |
---|---|---|
fazendas | Corda[] | Lista de farms onde a lista negra é aplicada. |
nome | Tanga | Nome da lista negra. É usado como identificador exclusivo. |
Privacidade | Tanga | Ação para aplicar a uma fonte. As opções são: negar, bloqueia o tráfego de entrada de fontes da lista; ou permitir aceitar o tráfego de fontes da lista. |
pré-carga | Tanga | Os valores possíveis são: verdadeiro, a lista negra foi pré-carregada no sistema; ou falso, a lista negra foi criada pelo administrador do sistema. |
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 | Tipo | Descrição |
---|---|---|
fazendas | Corda[] | Lista de farms onde a lista negra é aplicada. |
nome | Tanga | Nome da lista negra. É usado como identificador exclusivo. |
Privacidade | Tanga | Ação para aplicar a uma fonte. As opções são: negar, bloqueia o tráfego de entrada de fontes da lista; ou permitir aceitar o tráfego de fontes da lista. |
pré-carga | Tanga | Os valores possíveis são: verdadeiro, a lista negra foi pré-carregada no sistema; ou falso, a lista negra foi criada pelo administrador do sistema. |
tipo | Tanga | Onde a lista é salva e quem a mantém. Os valores são: local, a lista é salva no sistema e mantida pelo administrador do sistema; ou remoto, a lista é baixada de um controle remoto url. |
fontes | Objeto[] | IPs de origem que listam as verificações. Se a lista é de tipo remoto então o conteúdo da lista não é mostrado até o primeiro download. |
atualizar o status | Tanga | Status do último download da lista e data da última atualização bem-sucedida no sistema local. |
url | Tanga | De onde a lista remota é baixada. O formato remoto deve ser uma lista de um fonte rede / máscara de bits ou IP por linha. |
freqüência | Tanga | Frequência de atualização da lista remota. As opções são: diariamente, atualizar todos os dias, uma vez ou periodicamente, isso é indicado em frequency_type campo; semanal, atualize uma vez por semana; ou mensal, atualize uma vez por mês. |
frequency_type | Tanga | Este parâmetro completa o freqüência diariamente quando seu valor é diário. Os valores possíveis são: exato. defina uma hora no dia; ou período, defina um período para atualizar durante o dia. |
dia | String ou Número | Este parâmetro conclui o parâmetro freqüência quando frecuencia valor é semanal or mensal. Se frecuencia is semanal esse parâmetro deve ser o da semana (segunda-feira, terça-feira, quarta-feira, quinta-feira, sexta-feira, sábado or domingo) E se freqüência valor é mensal então esse parâmetro deve ser um dia do mês (um número entre 1 e 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 | Tipo | 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 | Tipo | Descrição |
---|---|---|
hora | Sessão | Hora para atualizar a lista. O valor deve ser um número entre 0 e 23. |
minutos | Sessão | Minutos para atualizar a lista. O valor deve ser um número entre 0 e 59. |
Objeto de fontes
Campo | Tipo | Descrição |
---|---|---|
id | Sessão | Identificador exclusivo de origem na lista. |
fonte | Tanga | Endereços IP ou segmentos de rede que a lista verifica. |
Criar uma regra de lista negra
Crie uma nova lista negra
Solicitar exemplo para uma lista local:
curl -k -X POST -H "ZAPI_KEY: <ZAPI_KEY_STRING>" -H 'Content-Type: application/json'
-d '{"name":"newListLoc", "type":"local", "policy":"allow"}'
https://<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:
- Local: as fontes são adicionadas pelo usuário. A lista é salva localmente.
- Remoto: as fontes são obtidas de um local remoto. Esta localização é indicada por um URL. O formato de lista remota suportado é um Endereço de rede / bit de máscara or IP linha por linha.
Solicitar Parâmetros
Campo | Tipo | Descrição | Exigido |
---|---|---|---|
nome | Tanga | Nome da lista negra. É usado como identificador exclusivo. | verdadeiro |
tipo | Tanga | Onde a lista é salva e quem a mantém. Os valores são: local, a lista é salva no sistema e manutenção para o sistema de administração; ou remoto, a lista é retirada de um serviço externo por meio de url e o serviço do administrador fará a manutenção da lista. | verdadeiro |
Privacidade | Tanga | Ação para aplicar a uma fonte. As opções são: negar, bloqueia o tráfego de entrada de fontes da lista; ou permitir aceitar o tráfego de fontes da lista. O valor padrão é deny. | |
url | Tanga | De onde a lista remota é baixada. O formato remoto deve ser uma lista de um fonte por linha no formato Endereço de rede / bit de máscara or IP. | true para lista remota |
{
"description" : "Post list list1",
"params" : {
"farms" : [],
"name" : "newListLoc",
"policy" : "deny",
"preload" : "false",
"type" : "local"
}
}
Parâmetros de resposta
A resposta será um objeto JSON com um conjunto de chaves para params. O valor disso será uma matriz de objetos de lista negra, cada um contendo os próximos atributos-chave.
Campo | Tipo | Descrição |
---|---|---|
fazendas | Corda[] | Lista de farms onde a lista negra é aplicada. |
nome | Tanga | Nome da lista negra. É usado como identificador exclusivo. |
Privacidade | Tanga | Ação para aplicar a uma fonte. As opções são: negar, bloqueia o tráfego de entrada de fontes da lista; ou permitir aceitar o tráfego de fontes da lista. |
pré-carga | Tanga | Os valores possíveis são: verdadeiro, a lista negra foi pré-carregada no sistema; ou falso, a lista negra foi criada para o administrador do sistema. |
tipo | Tanga | Onde a lista é salva e quem a mantém. Os valores são: local, a lista é salva no sistema e manutenção para o sistema de administração; ou remoto, a lista é retirada de um serviço externo por meio de url e o serviço do administrador fará a manutenção da lista. |
Modificar uma regra de lista negra
Modifique uma lista negra
Solicitar exemplo para uma lista local:
curl -k -X PUT -H 'Content-Type: application/json' -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
-d '{"policy":"allow","source":["78.12.0.4","68.100.15.5","65.12.12.95"]}'
https://<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 | Tipo | Descrição |
---|---|---|
nome | Tanga | Nome da lista negra. É usado como identificador exclusivo. Só é modificável em nenhum pré-carga listas. |
Privacidade | Tanga | Ação para aplicar a uma fonte. As opções são: negar, bloqueia o tráfego de entrada de fontes da lista; ou permitir aceitar o tráfego de fontes da lista. |
fonte | Corda[] | É uma lista de endereços IP ou segmentos de rede que a lista verifica. 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 | Tipo | Descrição |
---|---|---|
fazendas | Corda[] | Lista de farms onde a lista negra é aplicada. |
nome | Tanga | Nome da lista negra. É usado como identificador exclusivo. |
Privacidade | Tanga | Ação para aplicar a uma fonte. As opções são: negar, bloqueia o tráfego de entrada de fontes da lista; ou permitir aceitar o tráfego de fontes da lista. |
url | Tanga | De onde a lista remota é baixada. |
freqüência | Tanga | Frequência de atualização da lista remota. As opções são: diariamente, atualizar todos os dias, uma vez ou periodicamente, isso é indicado em frequency_type campo; semanal, atualize uma vez por semana; ou mensal, atualize uma vez por mês. |
frequency_type | Tanga | Este parâmetro completa o freqüência diariamente quando seu valor é diário. Os valores possíveis são: exato. defina uma hora no dia; ou período, defina um período para atualizar durante o dia. |
dia | String ou Número | Este parâmetro completa o freqüência quando seu valor é semanal ou mensal. Se for semanal, esse parâmetro deve ser um dia da semana (segunda-feira, terça-feira, quarta-feira, quinta-feira, sexta-feira, sábado or domingo) mais se freqüência é mensal, este parâmetro deve ser um dia de mês (número entre 1 e 31). |
tempo | objeto | É uma estrutura que depende dos campos freqüência. |
Objeto do período de tempo
Estes são os campos quando um período de tempo será configurado.
É necessário configurar freqüência com o valor diariamentee frequency_type com o valor período.
Campo | Tipo | Descrição |
---|---|---|
período | Sessão | Com que frequência atualiza a lista. |
unidade | Tanga | Unidade do período. As opções são: minutos or horas, indique a unidade de medida para as atualizações da lista. |
Objeto de hora exata
Estes são os campos quando um horário exato será configurado.
Este objeto é usado com as próximas configurações:
freqüência campo tem o valor diariamente e frequency_type is exato.
freqüência campo tem o valor semanal e dia é o dia da semana em que a lista é atualizada.
freqüência campo tem o valor mensal e dia é o número do mês do dia em que a lista é atualizada.
Campo | Tipo | Descrição |
---|---|---|
hora | Sessão | Hora para atualizar a lista. O valor deve ser um número entre 0 e 23. |
minutos | Sessão | Minutos para atualizar a lista. O valor deve ser um número entre 0 e 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 | Tipo | Descrição |
---|---|---|
id | Sessão | Identificador exclusivo de origem na lista. |
fonte | Corda[] | Endereços IP ou segmentos de rede que a lista verifica. |
Adicionar uma fonte a uma lista negra
Adicionar uma fonte a uma lista negra
Exemplo de solicitação:
curl -k -X POST -H "ZAPI_KEY: <ZAPI_KEY_STRING>" -H 'Content-Type: application/json'
-d '{"source":"192.168.3.1"}'
https://<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 | Tipo | Descrição | Exigido |
---|---|---|---|
fonte | Tanga | Endereço IP ou segmento de rede que a lista verifica. | verdadeiro |
Exemplo de resposta:
{
"description" : "Post source to localList.",
"message" : "Added 192.168.3.1 successful.",
"params" : [
{
"id" : 0,
"source" : "78.12.0.4"
},
{
"id" : 1,
"source" : "68.100.15.5"
},
{
"id" : 2,
"source" : "65.12.12.95"
},
{
"id" : 3,
"source" : "192.168.3.1"
}
]
}
Parâmetros de resposta
A resposta será um json com todos os valores solicitados atualizados. Veja o exemplo de resposta para mais informações.
Modificar uma fonte de uma lista negra
Modificar uma fonte de uma lista negra
Exemplo de solicitação:
curl -k -X PUT -H "ZAPI_KEY: <ZAPI_KEY_STRING>" -H 'Content-Type: application/json'
-d '{"source":"192.168.3.1"}'
https://<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 | Tipo | Descrição | Exigido |
---|---|---|---|
fonte | Tanga | Endereço IP ou segmento de rede que a lista verifica. | verdadeiro |
Exemplo de resposta:
{
"description" : "Put source into localList",
"message" : "Source 2 has been modified successful.",
"params" : {
"id" : 2,
"source" : "192.168.3.1"
}
}
Parâmetros de resposta
A resposta será um json com a fonte atualizada. Veja o exemplo de resposta para mais informações.
Excluir uma fonte de uma lista negra
Excluir uma fonte de uma lista negra
Exemplo de solicitação:
curl -k -X DELETE -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
https://<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 | Tipo | 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 | Tipo | 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 . 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 . regras já têm o objeto criado e só tem uma configuração possível. Uma vez configurado, habilite-o.
Regras DoS Farm
É necessário criar um objeto antes de aplicar uma regra a um farm.
limitsec
Limite de nova conexão por segundo e fonte. Apenas disponível em farms funciona com o protocolo TCP.
Campo | Tipo | Descrição |
---|---|---|
nome | Tanga | É o identificador exclusivo da regra de objeto. |
limitar | Sessão | É o número máximo de novas conexões por segundo para uma fonte. |
limit_burst | Sessão | É um pico permitido de novas conexões. Uma unidade de burst é regenerada quando os segundos de “limite” passam. |
limitconns
Limite o total de conexões atuais por fonte. Apenas disponível em farms funciona com o protocolo TCP.
Campo | Tipo | Descrição |
---|---|---|
nome | Tanga | É o identificador exclusivo da regra de objeto. |
limit_conns | Sessão | É o número máximo de conexão atual de uma fonte. |
bogustcpflags
Verifique se o protocolo TCP é respeitado. Esta regra não possui parâmetros de configuração, criando apenas um objeto que você poderá usar em todos os farms. Apenas disponível em farms funciona com o protocolo TCP.
Campo | Tipo | Descrição |
---|---|---|
nome | Tanga | É o identificador exclusivo da regra de objeto. |
limitrst
Número limite de solicitação de conexão de redefinição por segundo. Apenas disponível em farms funciona com o protocolo TCP.
Campo | Tipo | Descrição |
---|---|---|
nome | Tanga | É o identificador exclusivo da regra de objeto. |
limitar | Sessão | É o número máximo de solicitações de redefinição por segundo para uma fonte. |
limit_burst | Sessão | É um pico permitido de solicitação de reinicialização. Uma unidade de burst é regenerada quando os segundos de “limite” passam. |
Regras DoS do sistema
Nas regras DoS do sistema, o objeto não foi criado.
sshbruteforce
Limite da nova conexão ssh.
Campo | Tipo | Descrição |
---|---|---|
nome | Tanga | É o identificador exclusivo da regra de objeto. O identificador foi definido como ssh_brute_force. |
visitas | Sessão | Número de ocorrências para a origem antes que as conexões sejam bloqueadas. |
tempo | Sessão | Tempo em segundos para redefinir o visitas contrariar. |
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 .. Cada item de matriz é um tipo de regra a ser aplicada a um farm do sistema.
Campo | Tipo | Descrição |
---|---|---|
descrição | Tanga | Brevemente descrição da regra. |
governar | Tanga | digite identificador exclusivo de regra. |
Listar todas as regras DoS
Listar todos os objetos DoS
Exemplo de solicitação:
curl -k -X GET -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
https://<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 | Tipo | Descrição |
---|---|---|
nome | Tanga | É o identificador exclusivo da regra de objeto. |
governar | Tanga | É o identificador de regra de tipo. |
tipo | Tanga | Os valores possíveis são: fazenda, a regra se aplica a fazendas; ou ., 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 | Tipo | Descrição |
---|---|---|
fazendas | Corda[] | Fazendas onde a regra é aplicada. |
limitar | Sessão | É o número máximo de novas conexões por segundo para uma fonte. |
limit_burst | Sessão | É um pico permitido de novas conexões. Uma unidade de burst é regenerada quando os segundos de “limite” passam. |
limitconns
Campo | Tipo | Descrição |
---|---|---|
fazendas | Corda[] | Fazendas onde a regra é aplicada. |
limit_conns | Sessão | É o número máximo de conexão atual de uma fonte. |
bogustcpflags
Campo | Tipo | Descrição |
---|---|---|
fazendas | Corda[] | Fazendas onde a regra é aplicada. |
limitrst
Campo | Tipo | Descrição |
---|---|---|
fazendas | Corda[] | Fazendas onde a regra é aplicada. |
limitar | Sessão | É o número máximo de solicitações de redefinição por segundo para uma fonte. |
limit_burst | Sessão | É um pico permitido de solicitação de reinicialização. Uma unidade de burst é regenerada quando os segundos de “limite” passam. |
sshbruteforce
Campo | Tipo | Descrição |
---|---|---|
visitas | Sessão | Número de ocorrências para a origem antes que as conexões sejam bloqueadas. |
tempo | Sessão | Tempo em segundos para redefinir o visitas contrariar. |
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 | Tipo | Descrição |
---|---|---|
nome | Tanga | É o identificador exclusivo da regra de objeto. |
governar | Tanga | É o identificador de regra de tipo. |
tipo | Tanga | Os valores possíveis são: fazenda, a regra se aplica a fazendas; ou ., 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 | Tipo | Descrição |
---|---|---|
fazendas | Corda[] | Fazendas onde a regra é aplicada. |
limitar | Sessão | É o número máximo de novas conexões por segundo para uma fonte. |
limit_burst | Sessão | É um pico permitido de novas conexões. Uma unidade de burst é regenerada quando os segundos de “limite” passam. |
limitconns
Campo | Tipo | Descrição |
---|---|---|
fazendas | Corda[] | Fazendas onde a regra é aplicada. |
limit_conns | Sessão | É o número máximo de conexão atual de uma fonte. |
bogustcpflags
Campo | Tipo | Descrição |
---|---|---|
fazendas | Corda[] | Fazendas onde a regra é aplicada. |
limitrst
Campo | Tipo | Descrição |
---|---|---|
fazendas | Corda[] | Fazendas onde a regra é aplicada. |
limitar | Sessão | É o número máximo de solicitações de redefinição por segundo para uma fonte. |
limit_burst | Sessão | É um pico permitido de solicitação de reinicialização. Uma unidade de burst é regenerada quando os segundos de “limite” passam. |
sshbruteforce
Campo | Tipo | Descrição |
---|---|---|
visitas | Sessão | Número de ocorrências para a origem antes que as conexões sejam bloqueadas. |
tempo | Sessão | Tempo em segundos para redefinir o visitas contrariar. |
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 | Tipo | Descrição | Exigido |
---|---|---|---|
nome | Tanga | É o identificador exclusivo da regra de objeto. | verdadeiro |
governar | Tanga | É o identificador de regra de tipo. As opções são: limitconns, limitsec, limitrst or bogustcpflags. | verdadeiro |
Exemplo de resposta:
{
"description" : "Post a DoS rule",
"params" : {
"farms" : [],
"limit" : 2,
"limit_burst" : 2,
"name" : "limitUsers",
"rule" : "limitsec",
"type" : "farm"
}
}
Parâmetros de resposta
A resposta será um json com a configuração padrão da regra criada. Veja o exemplo de resposta para mais informações.
Modificar uma regra DoS
Modificar uma regra DoS
Exemplo de solicitação:
curl -k -X PUT -H 'Content-Type: application/json' -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
-d '{"hits":"10","status":"up","time":"100"}'
https://<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 | Tipo | Descrição |
---|---|---|
limitar | Sessão | É o número máximo de novas conexões por segundo para uma fonte. |
limit_burst | Sessão | É um pico permitido de novas conexões. Uma unidade de burst é regenerada quando os segundos de “limite” passam. |
limitconns
Campo | Tipo | Descrição |
---|---|---|
limit_conns | Sessão | É o número máximo de conexão atual de uma fonte. |
bogustcpflags
Não tem parâmetros.
limitrst
Campo | Tipo | Descrição |
---|---|---|
limitar | Sessão | É o número máximo de solicitações de redefinição por segundo para uma fonte. |
limit_burst | Sessão | É um pico permitido de solicitação de reinicialização. Uma unidade de burst é regenerada quando os segundos de “limite” passam. |
sshbruteforce
Campo | Tipo | Descrição |
---|---|---|
visitas | Sessão | Número de ocorrências para a origem antes que as conexões sejam bloqueadas. |
tempo | Sessão | Tempo em segundos para redefinir o visitas contrariar. |
estado | Tanga | 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 | Tipo | 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 | Tipo | 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 | Tipo | 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 | Tipo | 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 | Tipo | 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 | Tipo | 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 | Tipo | 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 | Tipo | 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 | Tipo | 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 | Tipo | 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 | Tipo | 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 | Tipo | 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 | Tipo | 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 | Tipo | 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 | Tipo | 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 | Tipo | 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.
System
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 | Tipo | Descrição |
---|---|---|
appliance_version | Tanga | Versão de candidatura. Mostrar também hipervisor se for uma máquina virtual. |
hostname | Tanga | Nome de anfitrião. |
kernel_version | Tanga | Versão do kernel do Linux. |
data do sistema | Tanga | Data do sistema. |
zevenet_version | Tanga | Versão Zevenet. |
Mostrar DNS
Mostrar DNS
Exemplo de solicitação:
curl -k -X GET -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
https://<zevenet_server>:444/zapi/v3.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 | Tipo | Descrição |
---|---|---|
primário | Tanga | DNS primário configurado no sistema. |
secundário | Tanga | DNS secundário configurado no sistema. |
Modificar DNS
Modificar DNS
Exemplo de solicitação:
curl -k -X POST -H 'Content-Type: application/json' -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
-d '{"primary":"8.8.4.4","secondary":"8.8.8.8"}'
https://<zevenet_server>:444/zapi/v3.2/zapi.cgi/system/dns
POST /system/dns
Modifique a configuração do serviço DNS.
Solicitar Parâmetros
Campo | Tipo | Descrição |
---|---|---|
primário | Tanga | DNS primário configurado no sistema. |
secundário | Tanga | DNS secundário configurado no sistema. |
Exemplo de resposta:
{
"description" : "Post dns",
"params" : {
"primary" : "8.8.4.4",
"secondary" : "8.8.8.8"
}
}
Parâmetros de resposta
A resposta será um json com todos os valores solicitados atualizados. Veja o exemplo de resposta para mais informações.
Mostrar SSH
Mostrar SSH
Exemplo de solicitação:
curl -k -X GET -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
https://<zevenet_server>:444/zapi/v3.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 | Tipo | Descrição |
---|---|---|
ouço | Tanga | IP do sistema onde o serviço SSH está escutando. o personagem * é usado para ouvir em todos os IPs configurados. |
porta | Tanga | Porta configurada para o serviço SSH. |
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 | Tipo | Descrição |
---|---|---|
ouço | Tanga | IP do sistema onde o serviço SSH está escutando. o personagem * é usado para ouvir em todos os IPs configurados. |
porta | Tanga | Porta configurada para o serviço SSH. |
Exemplo de resposta:
{
"description" : "Post ssh",
"params" : {
"listen" : "192.168.100.241",
"port" : "22"
}
}
Parâmetros de resposta
A resposta será um json com todos os valores solicitados atualizados. Veja o exemplo de resposta para mais informações.
Mostrar SNMP
Mostrar SNMP
Exemplo de solicitação:
curl -k -X GET -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
https://<zevenet_server>:444/zapi/v3.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 | Tipo | Descrição |
---|---|---|
comunidade | Tanga | Nome da comunidade. Comunidade somente leitura usada. |
ip | Tanga | IP da interface onde o serviço SNMP está sendo executado. É seguro manter todas as interfaces ativadas usando o personagem *. |
porta | Tanga | Porta em que o serviço SNMP está sendo executado. |
escopo | Tanga | IP ou sub-rede com acesso (IP / bit). IPs de cliente permitidos para acessar o serviço SNMPD, caso você queira permitir acesso somente a um IP, use o bit “/ 32”. |
estado | Tanga | Status do serviço SNMP. Os valores possíveis são: verdadeiro, o serviço está sendo executado; ou falso, o serviço está parado. |
Modifique o SNMP
Modifique o SNMP
Exemplo de solicitação:
curl -k -X POST -H 'Content-Type: application/json' -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
-d '{"ip":"192.168.100.241","port":"170","scope":"0.0.0.0/0","status":"true","community":"public"}'
https://<zevenet_server>:444/zapi/v3.2/zapi.cgi/system/snmp
POST /system/snmp
Modifique a configuração do serviço SNMP.
Solicitar Parâmetros
Campo | Tipo | Descrição |
---|---|---|
comunidade | Tanga | Nome da comunidade. Comunidade somente leitura usada. |
ip | Tanga | IP da interface onde o serviço SNMP está sendo executado. É seguro manter todas as interfaces ativadas usando o personagem *. |
porta | Tanga | Porta em que o serviço SNMP está sendo executado. |
escopo | Tanga | IP ou sub-rede com acesso (IP / bit). IPs de cliente permitidos para acessar o serviço SNMPD, caso você queira permitir acesso somente a um IP, use o bit “/ 32”. |
estado | Tanga | Status do serviço SNMP. Os valores possíveis são: verdadeiro, o serviço está sendo executado; ou falso, o serviço está parado. |
Exemplo de resposta:
{
"description" : "Post snmp",
"params" : {
"community" : "public",
"ip" : "192.168.100.241",
"port" : "170",
"scope" : "0.0.0.0/0",
"status" : "true"
}
}
Parâmetros de resposta
A resposta será um json com todos os valores solicitados atualizados. Veja o exemplo de resposta para mais informações.
Recuperar licença
Recuperar licença
Exemplo de solicitação:
curl -k -X GET -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
https://<zevenet_server>:444/zapi/v3.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 | Tipo | Descrição |
---|---|---|
servidor | Tanga | Servidor onde o cliente NTP faz as solicitações. |
Modificar NTP
Modificar NTP
Exemplo de solicitação:
curl -k -X POST -H 'Content-Type: application/json' -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
-d '{"server":"pool.ntp.org"}'
https://<zevenet_server>:444/zapi/v3.2/zapi.cgi/system/ntp
POST /system/ntp
Modifique a configuração do serviço NTP.
Solicitar Parâmetros
Campo | Tipo | Descrição |
---|---|---|
servidor | Tanga | Servidor onde o cliente NTP faz as solicitações. |
Exemplo de resposta:
{
"description" : "Post ntp",
"params" : "pool.ntp.org"
}
Parâmetros de resposta
A resposta será um json com todos os valores solicitados atualizados. Veja o exemplo de resposta para mais informações.
Mostrar servidor HTTP
Mostrar servidor HTTP
Exemplo de solicitação:
curl -k -X GET -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
https://<zevenet_server>:444/zapi/v3.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 | Tipo | Descrição |
---|---|---|
ip | Tanga | IP onde o servidor HTTP está escutando. o personagem * é usado para ouvir em todos os IPs configurados. |
porta | Tanga | Porta onde o serviço HTTP está escutando. |
Modificar servidor HTTP
Modificar servidor HTTP
Exemplo de solicitação:
curl -k -X POST -H 'Content-Type: application/json' -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
-d '{"ip":"192.168.100.241","port":"80"}'
https://<zevenet_server>:444/zapi/v3.2/zapi.cgi/system/http
POST /system/http
Modifique a configuração do serviço HTTP.
Solicitar Parâmetros
Campo | Tipo | Descrição |
---|---|---|
ip | Tanga | IP onde o servidor HTTP está escutando. o personagem * é usado para ouvir em todos os IPs configurados. |
porta | Tanga | Porta onde o serviço HTTP está escutando. |
Exemplo de resposta:
{
"description" : "Post http",
"params" : {
"ip" : "192.168.100.241",
"port" : "80"
}
}
Parâmetros de resposta
A resposta será um json com todos os valores solicitados atualizados. Veja o exemplo de resposta para mais informações.
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 | Tipo | 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 | Tipo | 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 | Tipo | Descrição |
---|---|---|
dados | Tanga | A data da última modificação do arquivo. |
lima | 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 lima é 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.
lima é 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 | Tipo | Descrição |
---|---|---|
dados | Tanga | A data da última modificação. |
nome | Tanga | É o nome do arquivo usado como identificador exclusivo. A extensão do arquivo é .tar.gz . |
Crie um backup
Crie um backup
Exemplo de solicitação:
curl -k -X POST -H 'Content-Type: application/json' -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
-d '{"name":"firstConf"}'
https://<zevenet_server>:444/zapi/v3.2/zapi.cgi/system/backup
POST /system/backup
Crie um backup de configuração do sistema da configuração atual.
Solicitar Parâmetros
Campo | Tipo | Descrição |
---|---|---|
nome | Tanga | É o nome do arquivo usado como identificador exclusivo. A extensão do arquivo é .tar.gz . |
Exemplo de resposta:
{
"description" : "Create a backups",
"message" : "Backup firstConf was created successful.",
"params" : "firstConf"
}
Faça o download de um backup
Faça o download de um backup
Exemplo de solicitação:
curl -k -X GET -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
https://<zevenet_server>:444/zapi/v3.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 | Tipo | Descrição |
---|---|---|
açao | Tanga | Para restaurar a configuração de backup, o valor deve ser Aplique. |
Exemplo de resposta:
{
"description" : "Apply a backup to the system",
"params" : {
"action" : "apply"
}
}
Sistema - Notificações
As notificações são formadas por dois elementos: Remetente método e tipo de alerta.
Na seção de alerta, você poderá escolher o tipo de alerta que deseja receber. Na verdade, os alertas são focados no backend ou no status do cluster, portanto, o balanceador enviará uma notificação se houver algumas opções.
Na seção de métodos, você poderá escolher qual remetente será usado quando o Zevenet tiver que enviar uma notificação.
Mostrar estado de alerta
Mostrar estado de alerta
Exemplo de solicitação:
curl -k -X GET -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
https://<zevenet_server>:444/zapi/v3.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 | Tipo | Descrição |
---|---|---|
alerta | Tanga | Tipo de alerta, é usado como identificador exclusivo de alerta. Os alertas disponíveis são: backend, notifique quando um backend muda de status; ou cacho, envie uma notificação quando o nó principal do cluster for alternado para outro nó. |
estado | Tanga | Mostrar se o alerta é inválido, o sistema não envia notificação quando há um evento; ou habilitado, o sistema envia um alerta quando é detectado um status alterado. |
Recuperar alertas de notificação
Recuperar alertas de notificação
Exemplo de solicitação:
curl -k -X GET -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
https://<zevenet_server>:444/zapi/v3.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 | Tipo | Descrição |
---|---|---|
tempo de evasão | Sessão | Às vezes backends estão disponíveis ou não em um curto período de tempo, este campo permite configurar um período de tempo para evitar notificações mensagem enquanto backend está mudando de status, uma vez que este período de tempo conclui, se o status backend é diferente para começar, então a notificação é enviada. |
prefixo | Tanga | É um prefixo para o assunto do email, que é enviado pelo sistema para esse tipo de alerta. |
estado | Tanga | Mostrar se o alerta é inválido, o sistema não envia notificação quando há um evento; ou habilitado, o sistema envia um alerta quando é detectado um status alterado. |
Modificar alerta de notificação
Modificar alertas de notificação
Exemplo de solicitação:
curl -k -X POST -H 'Content-Type: application/json' -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
{"avoidflappingtime":10,"prefix":"[backend alert]"}
https://<zevenet_server>:444/zapi/v3.2/zapi.cgi/system/notifications/alerts/backends
POST /system/notifications/alerts/<alert>
alerta é o identificador exclusivo de alerta.
Solicitar Parâmetros
Campo | Tipo | Descrição |
---|---|---|
tempo de evasão | Sessão | Às vezes backends estão disponíveis ou não em um curto período de tempo, este campo permite configurar um período de tempo para evitar notificações mensagem enquanto backend está mudando de status, uma vez que este período de tempo conclui, se o status backend é diferente para começar, então a notificação é enviada. Este parâmetro não está em alertas de cluster, o cluster possui seu próprio tempo de swich. |
prefixo | Tanga | É um prefixo para o assunto do email, que é enviado pelo sistema para esse tipo de alerta. |
Exemplo de resposta:
{
"description" : "Set notifications alert backends",
"params" : {
"avoidflappingtime" : 10,
"prefix" : "[backend alert]"
}
}
Parâmetros de resposta
A resposta será um json com todos os valores solicitados atualizados. Veja o exemplo de resposta para mais informações.
Ativar alertas
Ativar alertas
Exemplo de solicitação:
curl -k -X POST -H 'Content-Type: application/json' -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
{"action":"enable"}
https://<zevenet_server>:444/zapi/v3.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 | Tipo | 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 | Tipo | Descrição |
---|---|---|
da | 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 | Tipo | Descrição |
---|---|---|
da | 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 | Tipo | Descrição |
---|---|---|
açao | Tanga | O valor para enviar um email de teste é teste. |
Exemplo de resposta:
{
"description" : "Send test mail",
"message" : "Test mail sent successful.",
"success" : "true"
}
Faça o download de um suporte
Faça o download de um suporte
Exemplo de solicitação:
curl -k -X GET -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
https://<zevenet_server>:444/zapi/v3.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 | Tipo | Descrição |
---|---|---|
check_interval | Sessão | É o tempo de espera entre duas verificações do status do nó mestre. |
failback | Tanga | Qual nó tem preferência para ser mestre. Os valores podem ser um nome nó, para dar preferência a um nó; ou inválido, se algum nó puder ser mestre e não for prioridade para um. |
interface | Tanga | Interface onde o IP do nó é configurado. |
nós | Objeto[] | Nós do cluster. |
Objeto de nó:
Campo | Tipo | Descrição |
---|---|---|
ip | Tanga | É o IP configurado no nó para verificar o status do nó e fazer a replicação de informações. |
nome | Tanga | É o nome do host do nó e é usado como identificador exclusivo do nó. |
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 | Tipo | Descrição | Exigido |
---|---|---|---|
remote_ip | Tanga | IP do host remoto usado para o cluster. | verdadeiro |
local_ip | Tanga | IP do host local usado para o cluster. | verdadeiro |
senha remota | Tanga | Senha do usuário raiz para o balanceador remoto. | verdadeiro |
Resposta CORPO:
{
"description" : "Enabling cluster",
"message" : "Cluster enabled successfully",
"success" : "true"
}
Modificar configuração de cluster
Modificar configuração de cluster
Exemplo de solicitação:
curl -k -X PUT -H 'Content-Type: application/json' -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
-d '{"check_interval":4,"failback":"disabled"}'
https://<zevenet_server>:444/zapi/v3.2/zapi.cgi/system/cluster
PUT /system/cluster
Configure os parâmetros do modo de trabalho para o cluster.
Solicitar Parâmetros
Campo | Tipo | Descrição |
---|---|---|
check_interval | Sessão | É o tempo de espera entre duas verificações do status do nó mestre. |
failback | Tanga | Qual nó tem preferência para ser mestre. Os valores podem ser um nome nó, para dar preferência a um nó; ou inválido, se algum nó puder ser mestre e não for prioridade para um. |
Resposta CORPO:
{
"description" : "Modifying the cluster configuration",
"params" : {
"check_interval" : "4",
"failback" : "disabled"
}
}
Desativar o cluster
Desativar o cluster
Exemplo de solicitação:
curl -k -X DELETE -H 'Content-Type: application/json'
https://<zevenet_server>:444/zapi/v3.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 | Tipo | Descrição | Exigido |
---|---|---|---|
açao | Tanga | Ação para aplicar ao cluster. A ação disponível é manutenção. | verdadeiro |
estado | Tanga | Status para colocar o nó, os valores possíveis são permitir, coloque-o no modo de manutenção; ou desabiltar, coloque o nó disponível. | verdadeiro |
Mostrar status dos nós
Mostrar status dos nós
Exemplo de solicitação:
curl -k -X GET -H "ZAPI_KEY: <ZAPI_KEY_STRING>"
https://<zevenet_server>:444/zapi/v3.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 | Tipo | Descrição |
---|---|---|
ip | Tanga | É o IP configurado no nó para verificar o status do nó e fazer a replicação de informações. |
nome | Tanga | É o nome do host do nó e é usado como identificador exclusivo do nó. |
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 | Tipo | Descrição |
---|---|---|
mensagem | Tanga | Mensagem descritiva que indica o status e o modo de trabalho do nó. |
nome | Tanga | É o nome do host do nó e é usado como identificador exclusivo do nó. |
papel | Tanga | Modo de trabalho real deste nó. Os valores possíveis são: dominar, esse nó está gerenciando as conexões entre backends e clientes; ou backup, este nó respondeu as conexões de status principal e a configuração principal e está verificando se o serviço principal funciona. |
estado | Tanga | Indique se algum processo de cluster está falhando. |
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 | Tipo | 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 | Tipo | 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 | Tipo | 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 | Tipo | 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 | Tipo | 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 | Tipo | 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. |
download | 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 | Tipo | 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 carregar | Define ações aplicadas ao certificado de ativação do Zevenet. |
aliás | excluir, Lista e modificar | Define ações para gerenciar o recurso de alias. |
backup | Aplique, crio, excluir, download e carregar | Define ações para gerenciar os backups. |
certificado | crio, excluir, download, mostrar e carregar | Define ações para gerenciar os certificados SSL. |
cacho | crio, excluir, manutenção e modificar | Define ações para gerenciar o cluster. |
fazenda | açao, crio, excluir, manutenção e 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 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 modificar | Define ações para gerenciar as regras do ipds. Para aplicar uma regra a um farm, o objeto necessário é fazenda. |
log | download e mostrar | Ele define ações para gerenciar os logs do balanceador de carga. |
notificação | açao, modificar, mostrar e teste | Define ações para gerenciar notificações: alertas e métodos enviados. |
rbac-group | crio, excluir, Lista, modificar e mostrar | Define ações para gerenciar os grupos do RBAC. |
rbac-role | crio, excluir, modificar e mostrar | Define ações para gerenciar as funções do RBAC. |
rbac-user | crio, excluir, Lista, modificar e mostrar | Define ações para gerenciar os usuários do RBAC. |
suporte | download | 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. |
download | 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 | Tipo | 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. |
O recurso objeto:
Campo | Tipo | 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 | Tipo | 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. |
O recurso objeto:
Campo | Tipo | 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 | Tipo | 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 | Tipo | 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. |
O recurso objeto:
Campo | Tipo | 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 | Tipo | 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 | Tipo | 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. |
O recurso objeto:
Campo | Tipo | 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 | Tipo | 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 | Tipo | 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. |
O recurso objeto:
Campo | Tipo | 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"
}