14-Mar-2016
07:10
- last edited on
21-Nov-2022
22:27
by
JimmyPackets
I'm working on an iRule that logs traffic to an ElasticSearch cluster. One of the items that I want to log, is the HTTP status code. When requests are served by a backend server, I can access the status in the HTTP_RESPONSE_RELEASE phase via the [HTTP::status] variable.
However, if the object is served from the F5 cache, this doesn't work:
Mar 14 11:53:24 slot1/_______ err tmm[8607]: 01220001:3: TCL error: /Common/____ - Illegal argument. Invalid client side API (line 4) invoked from within "HTTP::status"
I already figured out that I can access most HTTP headers in the CACHE_RESPONSE phase via [CACHE::headers], but this does not include the HTTP status. Also, in this phase, [HTTP::status] does not work:
01070151:3: Rule [/Common/___] error: /Common/___:67: error: [command is not valid in current event context (CACHE_RESPONSE)][HTTP::status]
How can I log the status code from the cached response?
14-Mar-2016 07:22
Hi,
unfortunately this is not yet possible. I had the same issue when reporting HTTP requests using HSL.
I have raised a case with F5 and F5 Product Development has filed a Feature Request ID537539 to include status code when content is being served out of RamCache.
This is supposed to be implemented in some upcoming release.
13-Mar-2023 11:33
Find myself needing the same thing now in 2023 - don't suppose there's been a workaround added for this in the last decade(ish)?
10-Apr-2023 09:43
Nudge. Anyone?