Forum Discussion

Helen_Wan's avatar
Helen_Wan
Icon for Nimbostratus rankNimbostratus
Apr 27, 2015

Is there an iRule test command I can use to find out the current IP event

In our environment, we need to do extensive logging with all our DMZ proxy virtual servers. Instead of repeating the same log lines in each of the IP events, we use a procedure.

Here is the procedure in it's simplest form and uses the syslog-ng utility.

proc logline { priority log_line } {
    - Define the facility used by this LTM
    
    set facility $static::default_facility
    set local_facility $static::default_local_facility
    - This line logs it to a specific syslog server
    log -noname $static::syslogSvr $facility.$priority $log_line
    - Log it also to a temporary syslog server if it is defined
    if { [ info exists static::syslogSvrTemp ] } {
        log -noname $static::syslogSvrTemp $facility.$priority $log_line
    }
    - This line logs it locally to /var/log/ltm
    log -noname $local_facility.$priority $log_line
}

We find that we're loosing udp packets and would like to switch to tcp logging. According to this page (https://devcentral.f5.com/wiki/iRules.log.ashx), high speed logging is the way to go.

It turns out with HSL, we need to invoke the HSL::open command when in the CLIENT_ACCEPTED event. So now we're trying to figure out how to determine that with a command we can execute inside the procedure.

Wonder if there is one.

Thanks.

1 Reply

  • you should be able to create the HSL handler in the CLIENT_ACCEPTED event and pass the handler variable to the proc, but this isn't something I've personally tested yet.