Forum Discussion
Is there anyway to make this Siebel iRule more efficient?
when CLIENT_ACCEPTED {
TCP::collect 1 }
when CLIENT_DATA {
if { [findstr [TCP::payload] "/siebel" 0 " "] == "/siebel/finsobjmgr_enu" } {
log local0. "Using pool company.org_2321_pool"
pool company.org_2321_pool
}
elseif { [findstr [TCP::payload] "/siebel" 0 " "] == "/siebel/smobjmgr_enu" } {
log local0. "Using pool company.org_2321_pool"
pool company.org_2321_pool
}
elseif { [findstr [TCP::payload] "/siebel" 0 " "] == "/siebel/eaiobjmgr_enu" } {
log local0. "Using pool company.org_2321_pool"
pool company.org_2321_pool
}
elseif { [findstr [TCP::payload] "/siebel" 0 " "] == "/siebel/finsobjmgr_enu/rr" } {
log local0. "Using pool company.org_2321_pool"
pool company.org_2321_pool
}
elseif { [findstr [TCP::payload] "/siebel" 0 " "] == "/siebel/smobjmgr_enu/rr" } {
log local0. "Using pool company.org_2321_pool"
pool company.org_2321_pool
}
elseif { [findstr [TCP::payload] "/siebel" 0 " "] == "/siebel/eaiobjmgr_enu/rr" } {
log local0. "Using pool company.org_2321_pool"
pool company.org_2321_pool
}
elseif { [findstr [TCP::payload] "/siebel" 0 " "] contains "/!5." } {
log local0. "Using pool APP01_2321_pool"
pool APP01_2321_pool
}
elseif { [findstr [TCP::payload] "/siebel" 0 " "] contains "/!7." } {
log local0. "Using pool APP02_2321_pooll"
pool APP02_2321_pool
}
elseif { [findstr [TCP::payload] "/siebel" 0 " "] contains "/!9." } {
log local0. "Using pool APP03_2321_pool"
pool APP03_2321_pool
}
elseif { [findstr [TCP::payload] "/siebel" 0 " "] contains "/!b." } {
log local0. "Using pool APP04_2321_pool"
pool APP04_2321_pool
}
elseif { [findstr [TCP::payload] "/siebel" 0 " "] contains "/!d." } {
log local0. "Using pool APP05_2321_pool"
pool APP05_2321_pool
}
else {
log local0. "Rejected request for [findstr [TCP::payload] "/siebel" 0 " "]"
discard }
}
- Sully_103006Historic F5 AccountUnfortunately, I do not have direct access to this customers LTMs so getting logs and dumps is a lil tedious to say the least. I am adding logging rules to each event to capture complaints after tweaking the iRule further and reapplying. My apologies to all and many thanks for the great help.
- Sully_103006Historic F5 AccountThe now tweaked iRule:
- Joel_MosesNimbostratusYou're on the right track, there, Sully! A two-wildcard glob match is still going to be more efficient than a regex match, and it looks like, based on the output, that you're not going to run into duplicate matching with the strings you have. Let us know how it goes!
- Sully_103006Historic F5 AccountThanx for the feedback Joel - appreciate it man! I'll get this iRule applied again, test and let ya know what happens.
- rob_carrCirrocumulusWhat was the outcome of the double-glob configuration? I'd like to make similar changes to our Siebel lb regime.
- Colin_Walker_12Historic F5 AccountDouble glob? Meaning two wildcard match? That should work just fine. Or was it something else you were asking about?
- jcardinal_41592NimbostratusI am trying to implement the same solution to load balance Siebel Application servers using the F5 and not the native lbconfig file. I am running v11.1 and using the Siebel template to create the iRule and associated configuration items.
- m_ru_119227Nimbostratus
Hello all
Sorry for digging out this old thread, but it perfectly matches my question. I'm migrating an existing Siebel Installation from Cisco ACE to F5 BigIP LTM 11.3.
Question: Is there a good reason to do the URL matching on the TCP layer instead of doing it with HTTP URI matching? On the ACE we did it with HTTP URI matching and it has been working fine for ages.
Greetings Mat
- m_ru_119227Nimbostratus
Well, to response my own question: The traffic doesn't look like pure HTTP traffic. I guess the HTTP profile won't work. To be confirmed. On the ACE we had the URL matching rules restricted to POST requests. That could be an enhancement to the iRules posted above.
Greetings Mat
Recent Discussions
Related Content
* 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