El monitor de servicio se crea para definir los parámetros de comprobación de estado de un tipo de tráfico de red en especial. Cuando asocia un monitor de servicio con un grupo, los miembros del grupo se supervisan según los parámetros del monitor de servicio.
Se admiten los siguientes tipos de supervisión: ICMP, TCP, UDP, HTTP, HTTPS, DNS, MSSQL y LDAP.
Procedimiento
- Inicie sesión en vSphere Web Client.
- Haga clic en Redes y seguridad (Networking & Security) > NSX Edge.
- Haga doble clic en un dispositivo NSX Edge.
- Haga clic en Administrar (Manage) > Equilibrador de carga (Load Balancer) > Supervisión del servicio (Service Monitoring).
- Haga clic en Agregar.
- Introduzca un Nombre (Name) para el monitor de servicio.
Intervalo (Interval), Tiempo de espera (Timeout) y Límite de reintentos (Max Retries) son parámetros comunes para todos los tipos de comprobaciones de estado.
- Introduzca el Intervalo (Interval) en segundos que se debe usar para probar un servidor.
El intervalo es el periodo de tiempo en segundos durante el que el monitor envía solicitudes al servidor back-end.
- Introduzca el valor de Tiempo de espera (Timeout). En cada comprobación de estado, el valor del tiempo de espera es el tiempo máximo (en segundos) dentro del cual se debe recibir una respuesta del servidor.
- Introduzca el Límite de reintentos (Max Retries). Este valor es el número de veces que el servidor se prueba antes de declararse INACTIVO (DOWN).
Por ejemplo, si el valor de Intervalo (Interval) se establece en 5 segundos, Tiempo de espera (Timeout) en 15 segundos y Límite de reintentos (Max Retries) en 3, el equilibrador de carga de NSX sondeará el servidor back-end cada 5 segundos. En cada sondeo, si la respuesta esperada se recibe desde el servidor en un plazo de 15 segundos, el resultado de la comprobación de estado será CORRECTO (OK). En caso contrario, el resultado será CRÍTICO (CRITICAL). Si los tres resultados de las comprobaciones de estado recientes son FUERA DE SERVICIO (DOWN), el servidor se marca como FUERA DE SERVICIO (DOWN).
- En el menú desplegable Tipo (Type) seleccione cómo se debe enviar la solicitud de comprobación de estado al servidor. Se admiten los siguientes tipos de monitor: ICMP, TCP, UDP, HTTP, HTTPS, DNS, MSSQL y LDAP. Se integran tres supervisiones predefinidas en el sistema: default_tcp_monitor, default_http_monitor y default_https_monitor.
- Si selecciona ICMP como el tipo de monitor, no se podrán aplicar otros parámetros. Deje el resto de parámetros vacío.
- Si selecciona TCP como el tipo de supervisión, hay tres parámetros más disponibles: Enviar (Send), Recibir (Receive) y Extensión (Extension).
- Enviar (Send) (opcional): la cadena se envía al servidor back-end después de que se establezca una conexión. La longitud máxima permitida de la cadena es de 256 caracteres.
- Recibir (Receive) (opcional): Introduzca la cadena que debe coincidir. Esta cadena puede ser un encabezado o en el cuerpo de la respuesta. El servidor solo se considerará ACTIVO (UP) si la cadena recibida coincide con esta definición.
- Extensión (Extension): Introduzca los parámetros de supervisión avanzados como pares key=value en la sección Extensión (Extension).
Por ejemplo, warning=10 indica que si un servidor no responde en un lapso de 10 segundos, el estado se establecerá como advertencia (warning).
Todos los elementos de extensión deben separarse con un carácter de retorno de carro.
Tabla 1. Extensiones para el protocolo TCP Extensión del monitor Descripción escape Se pueden utilizar \n, \r, \t o \ en la cadena send o quit. Debe aparecer antes de la opción send o quit. Valor predeterminado: nada agregado a send, \r\n agregado al final de quit. all Todas las cadenas esperadas deben estar presentes en la respuesta del servidor. El valor predeterminado es any. quit=STRING Cadena para enviar al servidor para iniciar un cierre correcto de la conexión. refuse=ok|warn|crit Se aceptan los rechazos de TCP en los estados ok, warn o crit. El valor predeterminado es crit. mismatch=ok|warn|crit Se aceptan las faltas de coincidencia de la cadena esperada con los estados ok, warn o crit. El valor predeterminado es warn. jail Se ocultan los resultados del socket de TCP. maxbytes=INTEGER Se cierra la conexión cuando se recibe una cantidad de bytes superior a la especificada. delay=INTEGER Segundos que se deben esperar entre el envío de la cadena y el sondeo de la respuesta. certificate=INTEGER[,INTEGER] Cantidad mínima de días que debe tener de validez un certificado. El primer valor es #days para la advertencia y el segundo valor es critical (si no se especifica, 0). warning=DOUBLE Tiempo de respuesta en segundos antes de que aparezca el estado de advertencia. critical=DOUBLE Tiempo de respuesta en segundos antes de que aparezca el estado crítico.
- Si selecciona HTTP o HTTPS como el tipo de monitor, realice los siguientes pasos:
- Esperada (Expected) (opcional): Introduzca la cadena que la supervisión espera que coincida en la línea de estado de la respuesta de HTTP en la sección Esperada (Expected). Se trata de una lista separada con comas.
Por ejemplo, 200, 301, 302, 401.
- Método (Method) (opcional): Seleccione el método para detectar el estado del servidor en el menú desplegable: GET, OPTIONS o POST.
- URL (opcional): Introduzca la URL en GET o POST ("/" de forma predeterminada).
- Si selecciona el método POST, introduzca los datos que deben enviarse en la sección Negrita (Bold).
- Introduzca la cadena que debe coincidir con la respuesta en la sección Recibir (Receive). Esta cadena puede ser un encabezado o en el cuerpo de la respuesta.
Si no coincide con la cadena de la sección esperada (Expected section), el monitor no intentará coincidir con el contenido de recepción.
Ejemplo del formato JSON: La validación de respuesta contiene "{"Healthy":true}": receive={\"Healthy\":true}
- Extensión (Extension): Introduzca los parámetros de supervisión avanzados como pares key=value en la sección Extensión (Extension).
Por ejemplo, warning=10 indica que si un servidor no responde en un lapso de 10 segundos, el estado se establecerá como advertencia (warning).Todos los elementos de extensión deben separarse con un carácter de retorno de carro.Nota: Para eregi, regex y ereg, si la cadena contiene { } y “, debe agregar un carácter \ tras analizar la cadena para el formato JSON. Ejemplo del formato JSON: La validación de respuesta contiene "{"Healthy":true}": eregi="\{\"Healthy\":true\}".
Tabla 2. Extensiones para el protocolo HTTP/HTTPS Extensión del monitor Descripción no-body No esperar el cuerpo del documento: se interrumpe la lectura después de los encabezados. Observe que se siguen haciendo llamadas HTTP/GET o POST, no HEAD. ssl-version=3 Forzar protocolo de enlace de SSL a través de sslv3.
sslv3 y tlsv1 están desactivadas de forma predeterminada en la opción de comprobación de estado.
ssl-version=10 Forzar protocolo de enlace de SSL a través de tls 1.0. ssl-version=11 Forzar protocolo de enlace de SSL a través de tls 1.1. ssl-version=12 Forzar protocolo de enlace de SSL a través de tls 1.2. max-age=SECONDS Se advierte si el documento tiene más de segundos de antigüedad que el valor que se especifica en SECONDS. El número también puede tener el formato 10m para minutos, 10h para horas o 10d para días. content-type=STRING Se especifica el tipo de medios de encabezado Content-Type en las llamadas POST. linespan Se permite que la expresión regular expanda líneas nuevas (debe preceder -r o -R). regex=STRING o ereg=STRING Se busca la expresión regular STRING en la página. eregi=STRING Se busca la expresión regular STRING sin distinguir entre mayúsculas y minúsculas en la página. Por ejemplo:
- La validación de respuesta contiene "OK1" u "OK2": eregi="(OK1|OK2)"
- La validación de respuesta contiene "{"Healthy":true}": eregi="{\"Healthy\":true}"
invert-regex Se devuelve CRITICAL si se encuentra, OK si no. proxy-authorization=AUTH_PAIR Username:password en servidores proxy con autenticación básica. useragent=STRING Cadena que se debe enviar en encabezado HTTP como User Agent header=STRING Cualquier otra etiqueta que se debe enviar en un encabezado HTTP. Se utiliza varias veces para encabezados adicionales. Por ejemplo:
header="Host: app1.xyz.com
onredirect=ok|warning|critical|follow|sticky|stickyport Cómo controlar las páginas redirigidas. sticky es como follow, pero se queda con la dirección IP especificada. stickyport también garantiza que el puerto permanezca igual. pagesize=INTEGER:INTEGER Tamaño de página mínimo necesario (bytes) : tamaño de página máximo necesario (bytes). warning=DOUBLE Tiempo de respuesta en segundos antes de que aparezca el estado de advertencia. critical=DOUBLE Tiempo de respuesta en segundos antes de que aparezca el estado crítico. expect = STRING Lista de cadenas delimitada por comas. Al menos una de ellas se espera que aparezca en la primera línea (estado) de la respuesta del servidor (de forma predeterminada: HTTP/1) si el valor especificado omite todas las secuencias lógicas de la línea de estado (por ejemplo: procesamiento 3xx, 4xx, 5xx)
string = STRING Cadena que se espera en el contenido. url = PATH URL en GET o POST (de forma predeterminada: /). post = STRING URL para codificar los datos de http POST. method = STRING Configure el método HTTP (por ejemplo, HEAD, OPTIONS, TRACE, PUT o DELETE). timeout = INTEGER Segundos antes de que se agote el tiempo de espera de conexión (el valor predeterminado es 10 segundos). header=Host:nombre_host -H nombre_host nombre_host es un nombre de host válido o un FQDN del host.
Tabla 3. Extensiones para el protocolo HTTPS Extensión del monitor Descripción certificate=INTEGER Cantidad mínima de días que debe tener de validez un certificado. El valor predeterminado del puerto es 443. Cuando se utiliza esta opción, no se comprueba la URL. authorization=AUTH_PAIR Username:password en sitios con autenticación básica. ciphers=’ECDHE-RSA-AES256-GCM-SHA384’ Mostrar los cifrados utilizados para comprobar el estado de HTTPS.
- Esperada (Expected) (opcional): Introduzca la cadena que la supervisión espera que coincida en la línea de estado de la respuesta de HTTP en la sección Esperada (Expected). Se trata de una lista separada con comas.
- Si selecciona UDP como tipo de monitor, realice los siguientes pasos:
- Enviar (Send) (obligatorio): introduzca la cadena que se debe enviar al servidor back-end después de que se establezca una conexión.
- Recibir (requerido): introduzca la cadena que se espera que se reciba del servidor backend. El servidor solo se considerará ACTIVO si la cadena recibida coincide con esta definición.
Nota:El monitor UDP no admite ninguna extensión.
- Si selecciona DNS como tipo de monitor, realice los siguientes pasos:
- Enviar (Send) (obligatorio): Introduzca la cadena que se debe enviar al servidor backend después de que se haya establecido una conexión.
- Recibir: introduzca la cadena que se espera que se reciba del servidor backend. El servidor solo se considerará activo si la cadena recibida coincide con esta definición.
- Extensión (Extension): Introduzca los parámetros de supervisión avanzados como pares key=value en la sección Extensión (Extension).
Por ejemplo, warning=10 indica que si un servidor no responde en un lapso de 10 segundos, el estado se establecerá como advertencia (warning). Este tipo de monitor solo admite el protocolo TCP.
Todos los elementos de extensión deben separarse con un carácter de retorno de carro.
Tabla 4. Extensiones para el protocolo DNS Extensión del monitor Descripción querytype=TYPE Opcional: Tipo de consulta de registro de DNS en el que TYPE =A, AAAA, SRV, TXT, MX, CNAME, ANY.
- A=Dirección de host IPv4
- AAAA=Dirección de host IPv6
- SRV=Localizador de servicios
- TXT=Registro de texto
- MX=Intercambio de correo para el registro del dominio
- CNAME=Nombre canónico de un registro de alias
El tipo de consulta predeterminado es A.
expect-authority Opcional: El servidor DNS solicitará autorización para realizar búsquedas.
accept-cname Opcional: Acepta las respuestas de cname como un resultado válido de una consulta. Se utiliza junto a querytype=CNAME.
El valor predeterminado es ignorar las respuestas de cname como parte del resultado.
warning=seconds Opcional: Devuelve un mensaje de ADVERTENCIA si el tiempo transcurrido supera el valor proporcionado.
Está desactivado de forma predeterminada.
critical=seconds Opcional: Devuelve un mensaje de alerta CRÍTICA si el tiempo transcurrido supera el valor proporcionado. Está desactivado de forma predeterminada.
- Si selecciona MSSQL como tipo de monitor, realice los siguientes pasos:
- Enviar (Send): introduzca la cadena que se debe ejecutar en el servidor back-end después de que se establezca una conexión.
- Recibir: introduzca la cadena que se espera que se reciba del servidor backend. El servidor solo se considerará activo si la cadena recibida coincide con esta definición.
- Nombre de usuario (User Name), Contraseña (Password) y Confirmar contraseña (Confirm password) (obligatorios): introduzca los valores para estos campos obligatorios. Como el monitor está asociado a un grupo, debe asignar a los servidores MSSQL del grupo el mismo nombre de usuario y la misma contraseña que especifique aquí.
- Extensión (Extension): Introduzca los parámetros de supervisión avanzados como pares key=value en la sección Extensión (Extension).
Por ejemplo, warning=10 indica que si un servidor no responde en un lapso de 10 segundos, el estado se establecerá como advertencia (warning).
Todos los elementos de extensión deben separarse con un carácter de retorno de carro.
Tabla 5. Extensiones para el protocolo MSSQL Extensión del monitor Descripción database=DBNAME Opcional: Nombre de la base de datos a la que conectarse.
Esta extensión es obligatoria cuando se utiliza el parámetro Enviar (Send) o storedproc.storedproc=STOREPROC Opcional: Es un procedimiento almacenado que se ejecuta en el servidor MSSQL.
- Si selecciona LDAP como tipo de monitor, realice los siguientes pasos:
- Contraseña (Password) y Confirmar contraseña (Confirm password) (opcionales): Introduzca los valores obligatorios para estos campos.
- Extensión (Extension): Introduzca los parámetros de supervisión avanzados como pares key=value en la sección Extensión (Extension).
Por ejemplo, warning=10 indica que si un servidor no responde en un lapso de 10 segundos, el estado se establecerá como advertencia (warning).
Todos los elementos de extensión deben separarse con un carácter de retorno de carro.
Tabla 6. Extensiones para el protocolo LDAP Extensión del monitor Descripción attr=’ATTR’ Opcional: El atributo LDAP para realizar la búsqueda (valor predeterminado: ‘(objectclass=*)’.
Debe utilizar attr junto con el rango crit-entires.
base=’cn=admin,dc=example,dc=com’ Obligatorio: Base de LDAP (por ejemplo: ou=my unit, o=my org, c=at.
Ver2 o ver3 Opcional:
- ver2: se usará el protocolo LDAP versión 2.
- ver3: se usará el protocolo LDAP versión 3.
La versión predeterminada del protocolo es la 2.
bind=BINDDN Opcional: Use un nombre distintivo (DN) de enlace LDAP (si fuera necesario).
Para obtener más información, consulte https://www.ldap.com/the-ldap-bind-operation.
crit=DOUBLE Opcional: El tiempo de respuesta que debe pasar para mostrar el estado CRÍTICO (segundos). crit-entries=low:high Opcional: El número de entradas que se deben encontrar para mostrar el estado CRÍTICO. Si el número de entradas encontradas está fuera del rango [low, high], el resultado de comprobación será CRÍTICO.
- Haga clic en Aceptar.
Qué hacer a continuación
Asocie un monitor de servicio con un grupo.