Consulta Irule pool status
Good afternoon, friends. I am trying to create an iRule that can be used on any Virtual Server (without having to create one for each pool or node) that can analyze the state of the pool members and display an image according to their status.
Case 1:
If someone sets the nodes to a disabled or forced offline state, display a maintenance image.
Case 2:
If a node goes down due to a monitor failure (e.g., it stops responding on port 80), display a technical issues image.
I want to upload all the images as iFiles within the F5.
So far, I have this, but I am not able to get it working :(
#########################################################################
Versión en Español:
Buenas tardes amigos, estoy tratando de generar una irule que se pueda usar en cualquier VS (sin tener que crear una por cada pool o nodo existente) que pueda analizar el estado de los miembros de un pool y mostrar un imagen según su estado.
Caso 1:
si alguien coloca los nodos en estado disable o force offilne muestre una imagen de mantenimiento.
Caso 2:
si el nodo se cae por la falla del algún monitor (Ej: deja de responder el puerto 80) muestre una imagen de problemas técnicos.
todas las imágenes las quiero cargar como ifile dentro del F5..
Hasta ahora tengo esto pero no lo estoy pudiendo hacer andar :(
#########################################################################
when LB_FAILED {
# Obtén el nombre del pool asociado con el Virtual Server actual
set pool_name [LB::server pool]
if { [active_members $pool_name] < 1 } {
# Verifica el estado del pool dinámicamente
if { [LB::status pool $pool_name] eq "user disabled" || [LB::status pool $pool_name] eq "forced offline"} {
# Si los nodos están en disable o force offline manualmente
set ifile_name "/Common/mantenimiento_image" ;# Nombre del iFile para mantenimiento
} else {
# Si los nodos están caídos por un fallo detectado por el monitor
set ifile_name "/Common/problemas_tecnicos_image" ;# Nombre del iFile para problemas técnicos
}
# Leer el contenido del iFile y responder al cliente con la imagen
set ifile_content [ifile get $ifile_name]
HTTP::respond 200 content $ifile_content "Content-Type" "image/jpeg"
}
}
Si alguien me puede ayudar se lo agradecería mucho.