24-Oct-2023 13:44
Estimados,
ante todo disculpa por escribir en español, mi ingles es muy malo.
Actualmente tengo un Irule para que haga un drop cuando le llega una peticion a un path en particular:
when HTTP_REQUEST {
if {[HTTP::path] equals "/zzz/xxxx/zzz"}{
drop
return
}
}
La cual tiene mucho MACH y verifique que la misma funciona correctamente, lo que estoy necesitando es poder hacer que cada vez que haga un mach agrege la informacion a un archivo de log, necesito logear url completa e IP
esto es posible?
desde ya muchas gracias por su tiempo
24-Oct-2023 14:51
Hola mrlopez,
Perdón por mi malo Español y la traducción.
Creo que desea registrar la URL y la dirección IP cuando la solicitud coincida con la declaración if.
when HTTP_REQUEST {
if { [HTTP::path] equals "/zzz/xxxx/zzz" } {
log local0. "IP-del-cliente: [IP::client_addr] | URL: [HTTP::host][HTTP::uri]"
drop
return
}
}
Después de agregar el comando de "log local0." en iRule, puede encontrar los registros en el archivo /var/log/ltm.
27-Oct-2023 08:44
Hola, muchas gracias por la ayuda, pero algo no esta funcionando como corresponde.
ej: si abro un navegador y pongo la url completa https://xxx.xxx/xxxx/xxxx aparece en el log la informacion, ahora si el llamado lo hago desde el codigo de la aplicacion (veo el hit en la irule) pero no tengo ninguna entrada en el log.
24-Oct-2023 20:32
Hi Mrlopez,
If you would like logs the traffic please follow IRULES below
when HTTP_REQUEST {
if {[HTTP::path] equals "/zzz/xxxx/zzz"}{
log local0. "Client IP: [IP::client_addr]-[HTTP::path]"
drop
return
}
}
##########
If posible please using external syslog server for store more logs
Step1: Create Pool for external syslog server
Step2: Create IRULS for send HSL Logs
when CLIENT_ACCEPTED {
set hsl [HSL::open -proto UDP -pool syslog_server_pool]
}
when HTTP_REQUEST {
if {[HTTP::path] equals "/zzz/xxxx/zzz"}{
HSL::send $hsl "<190> Client IP: [IP::client_addr]-[HTTP::path]\n"
drop
return
}
}
Hope this information will help you