Try the following structure for your HSL irule
when RULE_INIT {
set static::my_hsl_pool syslog_server_pool
}
when CLIENT_ACCEPTED {
set hsl [HSL::open -proto UDP -pool $static::my_hsl_pool]
}
when HTTP_REQUEST {
Log HTTP request as local7.info; see RFC 3164 Section 4.1.1 - "PRI Part" for more info
HSL::send $hsl "<190> [IP::local_addr] [HTTP::uri]\n"
}
This is due to
K6514: The BIG-IP system may not reflect the expected status for virtual servers that use iRules, HTTP classes or local traffic policies to select a pool
The HSL pool is being attached to the virtual by the irule, even though it is not a target of the VIP connections, and the virtual inherits the HSL pool status. This prevents the HSL pool from being deleted from the config while being used in an irule attached to a virtual. The above irule structure bypasses this link.