Forum Discussion
sandiksk_35282
Altostratus
Jan 21, 2017log command into an irule
How to insert a log command into an irule to see traffic traffic particular source getting hit to all the condition applied in the irule and going to the correct pool
IheartF5_45022
Nacreous
Jan 22, 2017Is this what you're after?
when XML_CONTENT_BASED_ROUTING {
for {set i 0} { $i < $XML_count } {incr i} {
if {($XML_queries($i) contains "CDetails")} {
pool qa2-pool
} elseif {($XML_queries($i) contains "GetBalances")} {
pool qa2-pool
}
log local0. "IP:[IP::remote_addr] XML_queries\($i\):$XML_queries($i) pool:[LB::server pool]"
}
}
BTW the logic above doesn't quite make sense - you may want to put a 'break' statement in to leave the loop?
IheartF5_45022
Nacreous
Jan 23, 2017So once you've found an element that contains the string you are looking for - do you need to keep looking? If you can stop looking after finding the first occurrence, you can use 'break' to leave the loop.
when XML_CONTENT_BASED_ROUTING {
for {set i 0} { $i < $XML_count } {incr i} {
log local0. "$i: $XML_queries($i)"
switch -glob -- $XML_queries($i) {
"*CDetails*" -
"*GetBalances*" -
"*GetSPoints*" {
log local0. "Choosing pool prd2_pool"
pool prd2_pool
break
}
}
}
Ignore the switch (I like how switches look), the main point is the 'break'
Help guide the future of your DevCentral Community!
What tools do you use to collaborate? (1min - anonymous)Recent Discussions
Related Content
DevCentral Quicklinks
* Getting Started on DevCentral
* Community Guidelines
* Community Terms of Use / EULA
* Community Ranking Explained
* Community Resources
* Contact the DevCentral Team
* Update MFA on account.f5.com
Discover DevCentral Connects