HSL_syslog_cloning
First lets create two(2) pools with a single node in each. These will be used in our iRule to clone the UDP datagram to both.
pool_SyslogServer001
pool_SyslogServer001
Now that we created the two(2) pools with single nodes in each, we can craft the irule to utilize HighSpeedLogging(HSL) in an iRule and tie it alltogether.
when CLIENT_ACCEPTED { set syslog_pool1 [HSL::open -proto UDP -pool pool_SyslogServer001] set syslog_pool2 [HSL::open -proto UDP -pool pool_SyslogServer002] } when CLIENT_DATA { HSL::send $syslog_pool1 [UDP::payload] HSL::send $syslog_pool2 [UDP::payload] }
Pros | Cons |
|
|
SIDEBAND_syslog_cloning
Now a different approach is to use iRule sideband method. Sideband was introduced in TMOS-LTMv11.0.0 so it will be needed for the SIDEBAND method to be available for use. It pretty much opens a TCP or UDP connection when the iRule get triggered.
when CLIENT_ACCEPTED { # grab UDP payload set data [UDP::payload] # create connection objects to both servers set conn_id1 [connect -protocol UDP -myaddr 1.1.1.1 -timeout 100 -idle 30 10.10.10.1:514] set conn_id2 [connect -protocol UDP -myaddr 1.1.1.1 -timeout 100 -idle 30 10.10.10.2:514] # send sideband request to server1 send -timeout 1000 $conn_id1 $data close $conn_id1 # send sideband request to server1 send -timeout 1000 $conn_id2 $data close $conn_id2 }
Pros | Cons |
|
|
References: