Forum Discussion
playfair039_320
Nimbostratus
Jul 19, 2017Boolean operation for iRule
I have an iRule which makes a call to a REST API to raise an alert when there are no active members within the pool, ie pool monitor reports negative for all members. The problem is: I have a meta he...
Dec 06, 2017
Here's a revised rule using tables. Please note that you might want to change the key from "alertSent" to something more unique as the tables are global (in order to ensure maximum performance).
when HTTP_REQUEST {
if {[active_members [LB::server pool]] < 1 } {
if { [table lookup "alertSent"] == "" } {
set conn [connect -timeout 100 -idle 30 -status conn_status x.x.x.x:x]
set postdata "POST /whatever/whatever/ HTTP/1.1\r\n"
append postdata "Content-Type: application/json;charset=UTF-8\r\n"
append postdata "Accept: */*\r\n"
append postdata "Host: x.x.x.x:x\r\n"
append postdata "accept-encoding: gzip, deflate\r\n"
append postdata "content-length: $jsonlen\r\n\r\n"
set send_info [send -timeout 100 -status send_status $conn $postdata]
set recv_2kbytes [recv -timeout 300 20 $conn]
set length_recv [string length $recv_2kbytes]
close $conn
table set "alertSent" "1" indef indef
}
} else {
table set "alertSent" "" indef indef
}
}
Now, may I please have my answer back? 🙂
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