Por defecto, Relianoid realiza comprobaciones básicas de estado en los servidores backend o reales, pero a veces estas comprobaciones no son suficientes para determinar si los servidores backend funcionan correctamente o no. Por este motivo, Relianoid implementa un servicio llamado Farmguardian que ejecuta y gestiona comprobaciones de estado avanzadas.
El objetivo de Farmguardian es funcionar como una herramienta de monitorización avanzada para servidores de aplicaciones backend. Farmguardian logra esto leyendo las configuraciones y obteniendo la lista de backends mediante plugins que verifican el estado de salud de cada uno. Además, Farmguardian actualiza el estado de los backends para cada granja, determinando si el balanceador de carga debe enviar tráfico a ese backend.
En esta sección, aprenderá cómo configurar las comprobaciones de farmguardian utilizando tanto la configuración global como la configuración dentro de una granja.
Configuración global #
Dentro de la sección Global , estas son las configuraciones para Farmguardian.
En la pestaña Global, los campos no se pueden editar si las comprobaciones están precargadas en el sistema. Si desea modificar una comprobación de estado, debe crear un nuevo farmguardian , habilitar la opción Copiar farmguardian y modificar el nuevo.
Nombre. El nombre de identificación del cheque Farmguardian actual no se puede editar.
Comando. Configure el comando ejecutado para verificar el estado del backend.
Tiempo de espera. La mayor cantidad de tiempo para que el backend envíe una respuesta. Unidades (segundos).
Intervalo. Tiempo entre lotes de verificación de estado en todos los backends. Tenga en cuenta que en cada intervalo de tiempo, la verificación de farmguardian se detendrá y se reiniciará, por lo que debe ser lo suficientemente alta como para que pueda verificar todos los backends (tiempo de espera * nº backends +1).
Mareas Ideales para Lecciones . Este campo contiene una breve descripción del control de Farmguardian.
Cortar conexiones. Cuando esta opción está habilitada, las conexiones actuales de los backends detectados que están inactivos se vacían, lo que obliga a una reconexión inmediata a los backends disponibles. Si está deshabilitado, las conexiones actuales se agotará sin desconectar ningún cliente.
Habilitar registros. Habilita o deshabilita los registros de cada verificación de farmguardian. Con los registros deshabilitados, solo se muestran los cambios de estado del backend en los archivos de registro.
Alias de backend. Un nombre que identifica fácilmente la interfaz del backend.
Configurar controles de salud #
Todos los complementos de farmguardian disponibles se pueden encontrar en el directorio /usr/local/zevenet/app/libexec/ dentro del balanceador de carga.
Farmguardian utiliza complementos para configurar comprobaciones de estado avanzadas que detectan si un servidor real funciona correctamente mediante opciones personalizadas. Existen numerosas comprobaciones de estado para cada protocolo, servicio o aplicación. Los complementos más importantes se describen a continuación.
check_ftp . Este complemento prueba las conexiones FTP con el host especificado.
Uso: check_ftp -H host -p puerto [-w ] [-C ] [-s ] [-e ] [-q ][-metro ] [-d ] [-t ] [-r ] [-M ] [-v] [-4|-6] [-j] [-D [, ]] [-S ] [-E]
check_fping : Este complemento utilizará el comando fping para hacer ping al host especificado para una comprobación rápida.
Uso: check_fping -w límite -c límite [-b tamaño] [-n número] [-T número] [-i número]
check_http : Este complemento prueba el servicio HTTP en el host especificado. Puede probar protocolos HTTP (sin cifrar) y HTTPS (seguro), seguir redirecciones, buscar cadenas y expresiones regulares, comprobar los tiempos de conexión e informar sobre los tiempos de caducidad de los certificados, los códigos de retorno HTTP, etc.
Uso: check_http -H | -I [-tú ] [-pag ] [-J ] [-K ] [-w ] [-C ] [-t ] [-L] [-E] [-a autenticación] [-b proxy_auth] [-f ] [-e ] [-d cadena] [-s cadena] [-l] [-r | -R ] [-cadena P] [-m : ] [-4|-6] [-N] [-M ] [-A cadena] [-k cadena] [-S ] [--sni] [-C [, ]] [-T ] [método -j]
check_imap : Este complemento prueba las conexiones IMAP con el host especificado.
Uso: check_imap -H host -p puerto [-w ] [-C ] [-s ] [-e ] [-q ][-metro ] [-d ] [-t ] [-r ] [-M ] [-v] [-4|-6] [-j] [-D [, ]] [-S ] [-E]
check_ldap : Este complemento prueba los servicios LDAP. Se puede probar con una búsqueda determinada.
Uso: check_ldap -H -b [-pag ] [-a ] [-D ] [-PAG ] [-w ] [-C ] [-t tiempo de espera] [-2|-3] [-4|-6]
check_ldaps : Este complemento prueba los servicios LDAPS. Se puede probar con una búsqueda determinada.
Uso: check_ldaps -H -b [-pag ] [-a ] [-D ] [-PAG ] [-w ] [-C ] [-t tiempo de espera] [-2|-3] [-4|-6]
check_mysql : Este complemento prueba las conexiones a un servidor MySQL.
Uso: check_mysql [-d base de datos] [-H host] [-P puerto] [-s socket] [-u usuario] [-p contraseña] [-S] [-l] [-a certificado] [-k clave ] [-C ca-cert] [-D ca-dir] [-L cifrados] [-f optfile] [-g grupo]
check_mysql_query : Este complemento comprueba el resultado de una consulta comparándolo con los niveles umbral.
Uso: check_mysql_query -q SQL_query [-w warn] [-c crit] [-H host] [-P puerto] [-s socket] [-d base de datos] [-u usuario] [-p contraseña] [-f optfile ] [-g grupo]
check_pgsql : Comprueba si una base de datos PostgreSQL acepta conexiones.
Uso: check_pgsql [-H ] [-PAG ] [-C ] [-w ] [-t ] [-d ] [-l ] [-pag ] [-q ] [-C ] [-W ]
check_pop : Este complemento prueba las conexiones POP con el host especificado.
Uso: check_pop -H host -p puerto [-w ] [-C ] [-s ] [-e ] [-q ][-metro ] [-d ] [-t ] [-r ] [-M ] [-v] [-4|-6] [-j] [-D [, ]] [-S ] [-E]
check_radius : Comprueba si un servidor RADIUS acepta conexiones.
Uso: check_radius -H host -F config_file -u nombre de usuario -p contraseña [-P puerto] [-t tiempo de espera] [-r reintentos] [-e expect] [-n nas-id] [-N nas-ip-addr ]
check_simap : Este complemento prueba las conexiones IMAP seguras con el host especificado.
Uso: check_simap -H host -p puerto [-w ] [-C ] [-s ] [-e ] [-q ][-metro ] [-d ] [-t ] [-r ] [-M ] [-v] [-4|-6] [-j] [-D [, ]] [-S ] [-E]
check_smtp : Este complemento intentará abrir una conexión SMTP con el host.
Uso: check_smtp -H host [-p puerto] [-4|-6] [-e esperar] [-comando C] [-R respuesta] [-f de dirección] [-A tipo de autenticación -U usuario de autenticación -P contraseña de autenticación] [-w warn] [-c crit] [-t timeout] [-q] [-F fqdn] [-S] [-D warn días certificado expirar[,crit días certificado expirar]] [-v]
check_snmp : Comprueba el estado de las máquinas remotas y obtiene información del sistema a través de SNMP.
Uso: check_snmp -H -o [-w warn_range] [-c crit_range] [-C comunidad] [-s cadena] [-r regex] [-R regexi] [-t tiempo de espera] [-e reintentos] [-l etiqueta] [-u unidades] [-p número-puerto] [-d delimitador] [-D delimitador-salida] [-m miblist] [-P versión snmp] [-N contexto] [-L nivelsec] [-U nombresec] [-a authproto] [-A authpasswd] [-x privproto] [-X privpasswd] [-4|6]
check_spop : Este complemento prueba las conexiones POP seguras con el host especificado.
Uso: check_spop -H host -p puerto [-w ] [-C ] [-s ] [-e ] [-q ][-metro ] [-d ] [-t ] [-r ] [-M ] [-v] [-4|-6] [-j] [-D [, ]] [-S ] [-E]
check_ssh : Intenta conectarse a un servidor SSH en el servidor y puerto especificados.
Uso: check_ssh [-4|-6] [-t ] [-r ] [-pag ]
check_ssmtp : Este complemento prueba las conexiones SSMTP con el host especificado.
Uso: check_ssmtp -H host -p puerto [-w ] [-C ] [-s ] [-e ] [-q ][-metro ] [-d ] [-t ] [-r ] [-M ] [-v] [-4|-6] [-j] [-D [, ]] [-S ] [-E]
check_tcp : Este complemento prueba las conexiones TCP con el host especificado.
Uso: check_tcp -H host -p puerto [-w ] [-C ] [-s ] [-e ] [-q ][-metro ] [-d ] [-t ] [-r ] [-M ] [-v] [-4|-6] [-j] [-D [, ]] [-S ] [-E]
Para obtener más información, ejecute el siguiente comando en la ruta de complementos:
nombre_complemento --ayuda
Farmguardian utilizará estos complementos para comprobar el estado de salud de los backends y gestionará la salida de errores de ejecución del complemento ejecutado para decidir el estado del backend de la siguiente manera:
Si el error salida == 0 entonces el backend está bien > $? = 0
Si el error salida <> 0 entonces el backend NO está bien > $? <> 0
Complemento personalizado #
Los administradores de sistemas pueden configurar y programar completamente estos complementos para adaptarlos a cualquier protocolo o aplicación.
Este ejemplo muestra un complemento personalizado llamado check_load.sh.
#!/bin/bash ### ###comentarios: ### las utilidades snmp deben instalarse ###snmpd deben instalarse y configurarse en los backends ### MAXVALUE=4 COMMUNITY="public" EXECUTE=`snmpget - v 2c -c $COMUNIDAD $1 .1.3.6.1.4.1.2021.10.1.3.1 |cut -d ':' -f2 | cortar -d '.' -f1 | sed s/\ // | sed s/\"//` echo "La verificación de carga de CPU SNMP para $1 es $EXECUTE" # Si el resultado es verdadero, salga con 1; error; de lo contrario, salga = 0; OK if (( $EXECUTE >= $MAXVALUE )) ; entonces #salida de error; el servidor está sobrecargado y el balanceador de carga no va a enviar más conexiones salida 1 else #, no error el servidor puede aceptar más conexiones salida 0 fi;
Constantes #
Cuando Farmguardian ejecuta un complemento, puede usar algunas constantes o tokens como argumentos, como por ejemplo:
HOST. guardián de la granja se encargará de modificar esta constante por la dirección IP real del servidor.
PORT. guardián de la granja se encargará de modificar esta constante por el puerto real del servidor.
Estas constantes se pueden usar para cualquier plugin; Farmguardian las usará para ejecutar la comprobación de estado con los parámetros reales establecidos.
Granjas #
En esta pestaña, encontrará una lista de granjas y servicios que utilizan esta herramienta de control de salud de Farmguardian.
Las granjas y los servicios se pueden asignar o eliminar de esta comprobación de estado de Farmguardian mediante selecciones múltiples con iconos de flecha simple o flechas dobles para habilitar o deshabilitar todas las granjas.

