A secção Detalhes é utilizada para adicionar novos monitores e remover os que não são necessários. Também é possível editar um monitor existente fazendo duplo clique sobre o mesmo.
Nome
Nome da sua escolha para o seu monitor.
Descrição
Descrição textual para este Monitor, e recomendamos que seja o mais descritiva possível.
Método de controlo
Escolha o método de monitorização na lista pendente. As opções disponíveis são:
HTTP 200 OK
Cabeçalho HTTP 200
Opções HTTP 200
Cabeça HTTP
Opções HTTP
Resposta HTTP
Monitor TCP multiporta
TCP fora de banda
DICOM
SNMP v2
Verificação do servidor DNS
LDAPS
Localização da página
URL Localização da página para um monitor HTTP. Este valor pode ser uma ligação relativa, como /pasta1/pasta2/página1.html. Também pode utilizar uma ligação absoluta em que o sítio Web está ligado ao nome do anfitrião.
Conteúdo obrigatório
Este valor contém qualquer conteúdo que o monitor precisa de detetar e utilizar. O valor aqui representado mudará consoante o método de monitorização escolhido.
Aplicado a VS
Este campo é automaticamente preenchido com o IP/Porta do Serviço Virtual ao qual o monitor é aplicado. Não será possível eliminar qualquer Monitor que tenha sido utilizado com um Serviço Virtual.
Utilizador
Alguns monitores personalizados podem utilizar este valor juntamente com o campo de palavra-passe para iniciar sessão num Servidor Real.
Palavra-passe
Alguns monitores personalizados podem utilizar este valor juntamente com o campo Utilizador para iniciar sessão num Servidor Real.
Limiar
O campo Limiar é um número inteiro geral utilizado em monitores personalizados em que é necessário um limiar, como o nível de CPU.
NOTA: Certifique-se de que a resposta do servidor de aplicações não é uma resposta "Chunked".
SSL/TLS
Este campo permite-lhe forçar a utilização ou não de SSL. As definições são as seguintes:
Ligado - Isto irá forçar o SSL
Desligado - Esta opção desactivará o SSL
Auto - Esta opção mantém o estado atual
Exemplos do Real Server Monitor
Monitor de carregamento
Haverá muitas ocasiões em que os utilizadores desejarão criar os seus próprios monitores personalizados e esta secção permite-lhes carregá-los para o ADC.
Os monitores personalizados são escritos utilizando scripts PERL e têm uma extensão de ficheiro .pl.
Dê um nome ao seu monitor para o poder identificar na lista Método de monitorização
Procurar o ficheiro .pl
Clique em Carregar novo monitor
O seu ficheiro será carregado para a localização correta e ficará visível como um novo método de monitorização.
Monitores personalizados
Nesta secção, é possível ver os monitores personalizados carregados e removê-los se já não forem necessários.
Clique na caixa pendente
Selecionar o nome do monitor personalizado
Clique em Remover
O monitor personalizado deixará de ser visível na lista Método de monitorização
Criando um script Perl de monitor personalizado
CUIDADO: Esta secção destina-se a pessoas com experiência na utilização e escrita em Perl
Esta secção mostra-lhe os comandos que pode utilizar no seu script Perl.
O comando #Monitor-Name: é o nome usado para o Perl Script armazenado no ADC. Se não incluir esta linha, o seu script não será encontrado!
Os seguintes elementos são obrigatórios:
#Nome-do-Monitor
usar rigorosamente;
aviso de utilização;
Os scripts Perl são executados num ambiente CHROOTED. Chamam frequentemente outra aplicação, como o WGET ou o CURL. Por vezes, estes precisam de ser actualizados para uma funcionalidade específica, como o SNI.
Valores dinâmicos
my $host = $_[0]; ### IP ou nome do host (vem dos detalhes do RS ou OOB se usado)
my $port = $_[1]; ### Porta do anfitrião (vem dos detalhes do RS ou OOB se usado)
my $content = $_[2]; ### Conteúdo necessário das definições do monitor (o que deve ser visto na resposta)
my $notes = $_[3]; ### notas dos detalhes do RS nos Serviços IP (utilize isto para personalizar cada monitor RS de forma única)
my $page = $_[4]; ### localização da página nas definições do monitor
my $user = $_[5]; ### nome de utilizador das definições do monitor
my $password = $_[6]; ### palavra-passe das definições do monitor
my $threshold = $_[7]; ### parâmetro de limiar das definições do monitor
my $rsaddr = $_[8]; ### RS IP (diferente de _[0] se a monitorização for fora da banda)
my $rsport = $_[9]; ### Porta RS (diferente de _[1] se a monitorização for fora de banda)
my $timeout = $_[10]; ### monitorizar o tempo limite de contacto em segundos a partir de Serviços IP > Servidor Real > Avançado > Monitorização do tempo limite
Os controlos de saúde personalizados têm dois resultados
Bem-sucedido
Valor de retorno 1
Imprimir uma mensagem de sucesso no Syslog
Marcar o Real Server Online (desde que IN COUNT corresponda)
Sem êxito
Valor de retorno 2
Imprime uma mensagem dizendo Unsuccessful para o Syslog
Marcar o servidor real como offline (desde que a contagem de OUT coincida)
Exemplo de um monitor de saúde personalizado
#Nome do monitor HTTPS_SNI
usar rigorosamente:
avisos de utilização;
# O nome do monitor, tal como acima, é apresentado no menu pendente de Controlos de saúde disponíveis
# Existem 6 valores passados para este script (ver abaixo)
# O guião devolverá os seguintes valores
# 1 se o teste for bem sucedido
# 2 se o teste não for bem sucedido sub monitor
{
my Shost = $_[O]; ### IP ou nome do anfitrião
meu Esporte = $_[1]; ### Porta do anfitrião
my Scontent = $_[2]; ### Conteúdo a procurar (na página Web e nos cabeçalhos HTTP)
my Snotes = $_[3]; ### Nome do anfitrião virtual
my Spage = $_[4]; ### A parte do URL depois do endereço do anfitrião
meu Suser = $_[5]: ### domínio/usemame (opcional)
my Spassword = $_[6]; ### password (opcional)
my $resolve;
meu $auth =;
se ($port)
{
$resolve = "$notes:$port:$host":
}
senão {
$resolve = "$notes:$host";
}
se ($user && $password) {
$auth = "-u $user:$password :
}
my @lines = 'curl -s -i -retry 1 -max-time 1 -k -H "Host:$notes --resolve $resolve $auth HTTPs://${notes}${page} 2>&1'; if(join(""@linhas)=~/$conteúdo/)
{
print "HTTPs://$notes}${page} à procura de - $content - Health check successful.\n";
retorno(1);
}
senão
{
print "HTTPs://${notes}${page} looking for - $content - Health check failed.\n";
retorno(2)
}
}
monitor(@ARGV):
NOTA:
Monitorização personalizada - A utilização de variáveis globais não é possível. Utilizar apenas variáveis locais - variáveis definidas dentro de funções
Utilização de RegEx - Todas as expressões regulares devem utilizar uma sintaxe de declaração compatível com Perl.